6 comments

[ 3.2 ms ] story [ 26.9 ms ] thread
If you develop software then you’ll have an understanding of the issues you face the moment it leaves your hands.

General purpose Operating Systems are incredibly complex systems that have to cater for an almost limitless number of edge cases and you’ll never be able to know what those edge cases are.

Windows and Linux are also awash with issues and bugs that affect some people but not others.

I myself spent a year dealing with an agonizing bug on my work MacBook that required it to be rebooted almost daily because it would suddenly freeze on me.

That issue turned out to be related to the Duet app that I’d forgotten to uninstall after I’d stopped using it. All my issues went away once I’d uninstalled it.

All the more tragic for one of the very few companies that has end-to-end control of the software and its target hardware.

I'd obviously give Linux & Windows much more leeway.

And this isn't just any feature: It's a clock.

It sounds like the root cause is a damaged plist file.

The question there is, what damaged it? An update or a third party app?

Case in point:

Sophos recently decided to mark a file used by Tableau as malicious that totally took our Tableau instance down. The file was a few years old and hadn’t changed in eons.

We had no idea why our Tableau server died at the time (or rather when we had to restart it to update the license) - it was only when our security manager informed me he’d seen the event in his Sophos console that it made sense.

Right up until then it had been assumed it was a Tableau issue.

Turned out it was a Sophos problem instead.

Not saying that this issue with the clock is a related issue, rather than it’s easy to blame the affected system when there may be other, external issues, to be looked at.

Thanks, you are much more accepting of these failure modes than me, that is for sure!

For a clock on an always-powered device to be unable to keep track of time just speaks of embarrassingly bad design to me. The available state to reconcile is just not that complex, even with networked time thrown in. Not to mention it is a protected feature that most other applications cannot manipulate anyway.

Sophos & Tableau probably fall in the crap software bucket too, but thankfully I'm not obliged to use them.

My default mode is to vote with my wallet, but with OSes our choices are sadly more limited, less avoidable, and have a much greater impact when they break basic features, so I want to hold them a higher standard. The whole reason I run Mac & not Linux is to save time with something turn-key, but when it's still an unstable platform moving beneath you it might be time to contemplate the full-time switch!

Compared to the Windows registry, Apple’s usage of plist files for system state, are a bastion of stability.

That said, they are still files and weird stuff can happen. It shouldn’t, but it can.

It is entirely possible a third party app is responsible for this, just as much as it’s possible it’s a bug in the OS.

If you read any of the links you supplied, you’ll see how easy it is to delete the file. This being the case, it’s not beyond the realm of possibility that something else damaged the file.

Sophos had no reason to quarantine the critical file it did that Tableau used. I’ll happily bitch about Tableau till the cows come home, but this was absolutely not one of them.

Again - we were prepared to 100% blame Tableau. We had no idea that the issue was a missing file and we’d have never ever discovered it unless the Security Manager had pinged me.

So, it’s very easy to blame the broken thing from being broken. But sometimes it’s not the broken things fault.

No one should be expected to cover every last single potential issue that can affect something - it’s a fools errand. You do the best you can and move on.

If the issue here is, from what it sounds like, a corruption plist then the solution is to apparently delete it and let the OS heal itself after.

Sure, I understand and appreciate what you're saying.

I just don't think it's ok. I don't care how simple the fix is. I don't really even care about where to apportion blame - because I want everyone to be better.

This isn't asking anyone to "cover every last single potential issue that can affect something". These are all things 100% within Apple's control. The only thing that changed between my clock working and not working, was upgrading the OS. So what I do care about is that it wasn't implemented defensively enough to prevent a system critical component from failing - by people who should know better. A lot of things don't work very well (including me!) when the clock can't be relied upon.

I don't know when this all became OK exactly but it feels like we've reached a tipping point of shittiness where even the most basic things cannot be relied upon, and that shittiness then propagates all the way up through the stack, until it's the end-user that has to deal with the many ways in which it manifests.

Anyway, appreciate the debate thanks!