During last year's Catalina introduction, Apple's APFS session introduced a new capability: the asr
(Apple Software Restore) tool was now able to perform both APFS copies and, used appropriately, "delta" backups.
We were pretty excited about this new feature, until we actually tried to use it.
The new feature basically didn't work until Catalina's final beta. And even when it started working, while fast, it dealt with failures...poorly.
Sometimes it would leave unusually named volumes hanging around. Sometimes it would leave unmanaged snapshots on a volume. Sometimes the destination drive would be unreadable or unmounted.
And in all cases, it would fail...obscurely. With messages like "Error -49173". Or it would just crash.
Rocks and Hard Places
If you've seen that WWDC session, you know that Apple specifically mentions the new asr
capability as being perfect for "Backup programs", and we sort of looked at that as code for you're going to be forced to use this eventually. So, during investigation, when we discovered how incredibly buggy and user-hostile it was, even when it started "working", we took the work we'd done to implement asr
support and tabled it.
It's one thing to depend on system features to perform necessary functions: after all, to be a good application, you need to build yourself on top of the APIs that Apple provides.
Much of that work is deciding what "level" you're going to interact at. We're constantly choosing between "higher level" tools (like diskutil
) or lower-level APIs (like the IORegistry
) to accomplish our tasks.
When there's no significant disadvantage to using a higher level tool, we choose that, because it helps to insulate us from future OS changes: Apple tends to update their own tools to work with new OS releases, and so we have a higher chance of minimizing incompatibilities when a major OS is released.
But one of the "hidden" downside is: sometimes that particular box is way too black. When you put in a file and get out a failure, and the resulting errors are so obscure as to be useless, it's a pretty easy decision: don't use that tool.
Another is less obvious: Apple can move away from the "solution" they were pushing at WWDC, and replace it with "the new hotness", and now you've lost control over your product.
Ch-ch-ch-changes
Regardless of what you pick, sometimes things happen that you can't predict. When Apple makes a change and breaks something, as they have in 10.15.5, they break us...and then we need to react within the framework we've established...or replace what we've selected with something else, because that's the only solution available.
In this case, Apple has broken the ability to make new firmlinks. It's utterly unclear why they broke this capability, but they did. And that makes new and erased SuperDuper! backups unbootable.
Note, though (and this is important): Smart Updates of previous Catalina volumes continue to work properly.
We had hoped Apple would fix the problem before 10.15.5's release, but unfortunately, they didn't. And so we're working on an "automatic" workaround based on the asr
work we'd done early in the Catalina beta cycle.
If you have need of a fix "now", please reach out to me at the support email and I'll be happy to assist.