high sierra – Time Machine backs up complete drive as new data after failing to mount reference snapshot (after a restart)

Since January/February 2020, most restarts of my Mac (High Sierra) cause Time Machine to see the complete content of one of my two (internal) drives as new and copy it fully to my Time Machine destination (last Time Capsule model), wiping out my TM history as there isn’t enough space to hold all my data twice. The affected drive is a non-boot drive (HDD) and formatted in APFS.

Analysis of my logs shows the point of failure is the inability to mount the reference snapshot for this drive. Everything works as usual up to and including (generally each entry occurs twice, one for each drive):

  • Mounted stable snapshot: com.Apple.TimeMachine.(date)
    at path:/Volumes/(…)/(current date)/(drive name) source (drive name)

During a ‘normal’ backup the following entry is:

  • Mounted reference snapshot: com.Apple.TimeMachine.(date)
    at path /Volumes/(…)/(previous date)/(drive name) source: (drive name)

When things didn’t work as expected (after the restart), only the first internal drive (the boot drive) got this message, whereas the 2nd drive got:

  • Failed to mount APFS snapshot with name: com.Apple.TimeMachine.(previous date)
    on volume ‘/Volumes/(drive name)’
    at mountpoint: ‘/Volumes/(…)/(drive name)’

    error: Error Domain=NSPOSIXErrorDomain Code=2 “No such file or directory”
  • Failed to mount reference snapshot: com.Apple.TimeMachine.(previous date)

With APFS-formatted drives, TM uses snapshots by default but if something goes wrong there, it refers back to the eventdb database. That seems be happening here:

  • Forcing deep traversal on source: (2nd drive)
  • Deep event scan at (…) reason: must scan subdirs|require scan|
  • Running deep scan – looking for changes after (previous date)
  • Finished scan
  • Not using file event preflight for /Volumes/(2nd drive name)

Which then results in (corresponding to total used space on that drive):

  • Will copy (1.x TB) from (2nd drive)