Why is Time Machine stuck on "Waiting to complete first backup" after upgrading to macOS Monterey?

After upgrading my Macbook Air (M1 from 2020) from Big Sur to Monterey 12.0 Time Machine appears to have stopped working. It seems to be caught in a loop, indicating that it is backing up tens of gigabytes of data to my WD My Cloud NAS share, then halting and showing a status of "Waiting to complete first backup", then repeating nearly the same amount of data at the next schedule, or when I click "Back Up Now"

In the Time Machine interface, both the Oldest backup and Latest backup dates are shown as None

I've tried the steps listed below without success (in the order shown):

  1. After upgrading to macOS Monterey 12.0, I used the Erase All Content & Settings feature to wipe and reload the OS to factory settings.
  2. I ran First Aid on all drives and containers in Recovery Mode.
  3. I ran a Time Machine backup after starting my laptop in Safe Mode
  4. I deleted all my local Time Machine snapshots
  5. I removed the NAS share from the Time Machine drive list, disabled Time Machine and deleted the existing Time Machine .sparsebundle file from my NAS - this was a drastic step, as by doing this, I lost all my previous backups.

Solution 1:

This issue may occur if there are directories that are failing to back up due to "Failed to proactively acquire device lock assertion", or "Failed to acquire device lock assertion" errors.

To review the Time Machine logs for these errors use the following steps:

  1. Open the Terminal app

  2. Run the following command:

    log show --info --style compact --predicate '(subsystem == "com.apple.TimeMachine") && (eventMessage like[cd] "Failed * acquire device lock assertion*")' --last 24h

To resolve these backup failures, take note of all directories that have encountered these failures and add them to the list of backup exclusions in Time Machine. In my particular case, the directories affected by these errors were:

  • ~/Library/Containers/com.apple.findmy.FindMyWidgetIntentsItems
  • ~/Library/Containers/com.apple.findmy.FindMyWidgetItems
  • ~/Library/Containers/com.apple.findmy.FindMyWidgetIntentsPeople
  • ~/Library/Containers/com.apple.findmy.FindMyWidgetPeople
  • ~/Library/Metadata

You can exclude affected diretories by navigating to System PreferencesTime MachineOptions, then click the + sign button and navigate to and select each directory that you need to exclude.

Time Machine exclusions can also be added by using the tmutil command-line utility in the Terminal app. For example, to exclude the "FindMy" directories via the Terminal, run the following command in a Terminal window:

sudo tmutil addexclusion -p ~/Library/Containers/com.apple.findmy.FindMyWidget*

Similarly, to exclue the "Metadata" directory run the following command:

sudo tmutil addexclusion -p ~/Library/Metadata