Apple released the macOS Catalina 10.15.5 update earlier this week. Apart from some bug fixes, the update also introduced a new Battery Health Management feature for MacBooks to help extend their battery’s lifespan. However, it looks like a bug has also slipped past Apple’s QA team with this release. As noted by Mike Bombich of Carbon Copy Cleaner, the bug prevents one from creating a bootable backup of macOS Catalina using the app.
The bug in the AFPS volume in macOS Catalina 10.15.5 has been present in the beta releases of the OS as well. The good thing is that it only affects new backups on Macs running macOS 10.15.5 and existing backups based on macOS 10.15.4 and below are not affected. As for the bug itself, below is its explanation from Mike:
chflags()system call can no longer set the SF_FIRMLINK flag on a folder on an APFS volume. Rather than fail with an error code that we would have detected, it fails silently – it exits with a success exit status, but silently fails to set the special flag. That’s a bug in the APFS filesystem implementation of
chflags– if a system call doesn’t do what you ask it to do, it’s supposed to return an error code, not success. That’s a fairly nasty bug too. Apple preaches that you should always check your error codes, and we do – religiously. This bug slipped past us for who knows how long because the system call exits with a success error code.
More worryingly perhaps, Mike had filed a bug report with Apple about this issue on May 18. However, the last macOS 10.15.5 beta and the final release of the OS both shipped with the same bug. Bombich does not rule out the possibility of this being a security fix from Apple to prevent third-parties from using firmlinks, though he argues that this is “far worse than a bug.” He also notes that it is unacceptable that Apple is blindsiding “developers by silently removing documented functionality in the middle of a production OS release cycle.”
If you use Carbon Copy Cloner to create bootable backups of your Mac, you need not worry as your existing backups are fine. However, if you are creating a new backup while running macOS 10.15.5, make sure to use the latest beta of CCC and follow the steps mentioned by Mike in his blog post for a successful backup.