Sierra 10.12.6 doesn’t fix the Time Machine bug, but changes it

I seem to have been harping on about a bug which has persisted through Sierra, and which maybe troubled El Capitan too. What the user notices is that, if they leave their Mac running without going to system sleep for periods longer than about a week, Time Machine backups become irregular, and may stop altogether. Just recently I published a clear summary of what happens.

For most users, who start their Macs up each day, or who let them go to system sleep overnight, this bug is very unlikely to become apparent. But for some of us – in my case, because system sleep inevitably sleeps my hard drive, and I don’t want the wear that produces – particularly those using their Macs as servers, this is at best a real pain, and at worst a show-stopper.

At first, last year, I misguidedly thought that this was a new feature in Sierra, backing up on demand. After extensive experience and work using my logs, I identified the bug as occurring in two little-known systems, DAS and CTS, which are responsible for scheduling and dispatching automatic backups. I reported the bug to Apple in February 2017, and have waited patiently for it to be fixed.

Just over ten days ago, Apple released Sierra 10.12.6, the sixth update since I first noticed the bug, and the third since I reported it. I regret to inform you that the bug continues to occur even after that update.

Late on Saturday night, my automatic backups started to become irregular. By Sunday morning, no backup had been performed for over seven hours, despite my iMac17,1 remaining awake (with only display sleep).

t2m2backupfail1

This time, my logs showed that Apple’s engineers had changed things since 10.12.5, but that their attempt to fix the bug had been unsuccessful.

In previous versions of macOS, when regular backups cease, the DAS and CTS scheduling and dispatching systems go horribly silent. DAS activity is sporadic and largely ineffective: a few of the seventy or more background activities get dispatched to CTS every now and then, but for most of the time they are omitted too. As those activities include some important services, trying to work around this bug by forcing backups to be run using another system, such as launchd, does nothing to address those other problems.

In 10.12.6, DAS and CTS continue to try to function, but do so almost randomly, it appears in the logs. For example, although backups were being skipped for long periods once the bug had struck, at one stage DAS and CTS were running com.apple.suggestd.persist-stats, which manages part of the Suggestions service, several times each second. Once a backup was complete, the next was often scheduled in another few minutes, therefore cancelled.

t2m2backupfail2

When the bug has struck, DAS tends to fire off a group of activities in large batches, then do nothing for a while, before sending off another batch. Its log entries refer to strange events, such as “Evaluating 0 activities based on triggers”, rather than performing regular priority scoring, and entries mention that “conditions are deteriorating”.

I have suggested before that it might be possible to let DAS and CTS recompose themselves and operate normally again by deliberately putting the system to sleep. I tried that, and it did not improve things in the slightest.

I therefore conclude that, whatever changes Apple may have made in DAS and CTS in 10.12.6, they do not address the bug, which continues to cause Time Machine backups and seventy or so other scheduled background activities to become irregular and unreliable. This in turn makes Sierra 10.12.6 unsuitable for use on server and other systems which require sustained operation, unless they can be restarted every few days. Let’s hope that Apple gets round to fixing this properly in High Sierra.