Remix.run Logo
twoodfin 9 hours ago

My pet peeve with the modern macOS architecture & its 600 coordinating processes & Grand Central Dispatch work queues is debugability.

Fifteen years ago, if an application started spinning or mail stopped coming in, you could open up Console.app and have reasonable confidence the app in question would have logged an easy to tag error diagnostic. This was how the plague of mysterious DNS resolution issues got tied to the half-baked discoveryd so quickly.

Now, those 600 processes and 2000 threads are blasting thousands of log entries per second, with dozens of errors happening in unrecognizable daemons doing thrice-delegated work.

krackers 4 hours ago | parent | next [-]

>with dozens of errors happening in unrecognizable daemons doing thrice-delegated work.

It seems like a perfect example of Jevons paradox (or andy/bill law): unified logging makes logging rich and cheap and free, but that causes everyone to throw it everywhere willy nilly. It's so noisy in there that I'm not sure who the logs are for anymore, it's useless for the user of the computer and even as a developer it seems impossible to debug things just by passively watching logs unless you already know the precise filter predicate.

In fact they must realize it's hopeless because the new Console doesn't even give you a mechanism to read past logs (I have to download eclecticlight's Ulbow for that).

ninkendo 6 hours ago | parent | prev [-]

> Now, those 600 processes and 2000 threads are blasting thousands of log entries per second, with dozens of errors happening in unrecognizable daemons doing thrice-delegated work.

This is the kind of thing that makes me want to grab Craig Federighi by the scruff and rub his nose in it. Every event that’s scrolling by here, an engineer thought was a bad enough scenario to log it at Error level. There should be zero of these on a standard customer install. How many of these are legitimate bugs? Do they even know? (Hahaha, of course they don’t.)

Something about the invisibility of background daemons makes them like flypaper for really stupid, face-palm level bugs. Because approximately zero customers look at the console errors and the crash files, they’re just sort of invisible and tolerated. Nobody seems to give a damn at Apple any more.

bool3max 5 hours ago | parent [-]

Are you sure they don’t get sent to Apple as part of some telemetry / diagnostics implementation?

mort96 12 minutes ago | parent | next [-]

You don't need them to be sent to Apple. And if errors in console get sent to Apple, it's surely filtered through a heavy suppression list. You can open the Errors and Faults view in Console on any Mac and see many errors and faults every second.

They could start attacking those common errors first, so that a typical Mac system has no regular errors or faults showing up. Then, you could start looking at errors which show up on weirdly configured end user systems, when you've gotten rid of all the noise.

But as long as every system produces tens of thousands of errors and faults every day, it's clear that nobody cares about fixing any of that.

ninkendo 4 hours ago | parent | prev [-]

Oh they absolutely are. But Apple clearly doesn’t care enough to actually fix them. They seem to get worse every release.