22 comments

[ 2.4 ms ] story [ 57.4 ms ] thread
From the article:

The 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 ... 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 ... It's hard to find kind words to express my feelings towards Apple right now. Suffice it to say, though, I'm extremely disappointed that Apple would introduce this kind of bug in a dot-release OS update. We've seen 5 major updates to Catalina now, we should expect to see higher quality than this from an operating system.

Did setting SF_FIRMLINK ever succeed for real? Firmlinks are an APFS addition, and AFAIU not only can't usercode directly create firmlinks, trying to set SF_FIRMLINK with chflags is non-sensical, sort like trying to use chmod to set the S_IFDIR bit on a regular file. Apple would hardly be the first OS to silently ignore non-sensical flags in a bitfield; such problems and their dilemmas have plagued Linux syscalls for years. Though if this is a change of behavior--it previously always failed but now it doesn't--that's problematic. Alternatively, if previously chflags seemed to work--st_flags reflected the SF_FIRMLINK bit on subsequent stat, even if the inode wasn't actually a firmlink--the change would be closer to a fix than a regression. I'm more curious why you were trying to set it in the first place. Maybe I'm misunderstanding.
> Did setting SF_FIRMLINK ever succeed for real?

It should have been working fine right? Otherwise CCC team would have reported this bug in the earlier release. As what Mike Bombich said in the original post:

   The chflags() system call can no longer set the SF_FIRMLINK flag on a folder on an APFS volume. 
The keyword was "no longer".
Why doesn't Apple embrace open source for the lower levels of macOS? If there were a community of developers working together on APFS, for example, this bug probably would have been found and fixed immediately.
Yeah, look like the last open source release was 10.15.3:

https://opensource.apple.com

I don't see APFS there. Regardless, I doubt if there is a real community of developers working on the Darwin code base. Contrast this with Swift on GitHub, which is very welcoming project with a high level of developer participation.
Swift, like Objective C, is irrelevant outside of the Mac. If SwiftUI is opensourced, that could change, but server-side Swift is done unless Apple goes into competition with AWS, Azure and GCP.
opensource.apple.com is just a patchwork missing many critical pieces.
I don’t understand why Apple (and other big companies) with all the resources they’ve got, all these talented people and all this money, fail to provide reliable, safe and useful updates for their products. Is it that difficult to do proper quality checks and hear the feedback? I can see a trend the last couple of years where updates/upgrades are going in the wrong direction...well at least Apple is not in the same situation as Microsoft with their updates and service packs ruining perfectly working systems.
Well, zero bugs in something as complicated as an OS release is not going to happen. It is that difficult.

Not really trying to excuse Apple — probably they should have caught this one and generally should have fewer bugs.

But the idea that an OS update is going to go out with no bugs is just not going to happen.

I wonder if we have gotten to the point that a piece of software like MacOS Is so massive and deals with so many edge cases that it can’t actually be maintained and improved. Every change will have weird gremlins for some odd extension 0.0001% of users have set. It seems like an impossible task.
> Apple is not in the same situation as Microsoft with their updates and service packs ruining perfectly working systems.

It is. There are tons of threads where 10.5.4 started causing problems with wake on sleep that weren't in 10.5.3.

And this is why I'm not interested in touching the latest macOS unless I'm forced to for work. I'm still on Mojave and doing just fine. Swift UI was the only thing I was even close to missing but I haven't needed it yet thankfully.
Stay there. This is the worst version of the OS since I started using it, which was Tiger.

I’ve had to reboot twice today. It’s not finding the printer or other network devices. Handoff and AirDrop stop working intermittently. It’s just a total disaster.

Ditto. Started with Tiger and this is just so far below the bar for previous releases it’s almost unbearable. The SIP delays alone are bad enough, but the random bugs with Bluetooth, Thunderbolt, and seemingly everything else make it a chore to use my MacBook Pro.

Meanwhile, my iMac running Mojave is chugging along just fine and will continue to until I absolutely can’t stand it anymore..

Same here. I also started with Tiger. This will be the first Mac I flat out return if 10.15.5 doesn't fix my KPs.
As an iOS dev, SwiftUI is painfully limiting in its current state aside from small UI views here and there. Hopefully WWDC makes it really worth an upgrade, haha.
When I tried updating to 10.15.5 today, the update failed and dumped me into system utilities. I was able to restore from my Time Machine backups luckily. It's unfortunate that issues such as this are becoming the norm for MacOS.
This is incredibly telling about the state of affairs in the macOS development group. The bug was reported early for a beta (burning a technical incident ticket, even) but still shipped in the final release.

At this point it feels like Darwin macOS can't be saved even when it shares most of its code with Darwin iOS.

What will happen to the iOS app market space when macOS degrades so much that developers can't use it anymore? (I refuse to believe serious developers would put up with an iOS-ified/iPadOS-ified Xcode with the current UI paradigms in those OSes)

Is Time Machine or other backup tools affected too?