Apple is just awful about providing meaningful, useful errors. The worst is AirPlay. When it fails to connect, which is about 33% of the time, there's nothing. It doesn't even pop up a generic alert, it just silently (or not so silently, if you're playing music) reverts to local playback.
Many other examples abound. Most errors at least provide a message, but one so generic as to be useless.
Ugh. At work, the computers use AirWatch. Oh. My. God. They fill the OSX logs with debug messages. Literally "I got 8 bytes from this with this offset" type messages for an application that spends most of its time running in the background. Here is an example:
2016-03-03 10:59:16.863 PM AirWatch Agent[507]: void AgentReadCallback(NSData *__strong, NSFileHandle *__strong) [Line 1096] Agent received message of type 140
2016-03-03 10:59:16.863 PM AirWatch Agent[507]: -[AWAgentController isCurrentUserManaged] [Line 221] Current User is managed
2016-03-03 10:59:16.863 PM AirWatch Agent[507]: Server Starting new loop for data
2016-03-03 10:59:26.825 PM AirWatch Agent[507]: void AgentReadCallback(NSData *__strong, NSFileHandle *__strong) [Line 1096] Agent received message of type 140
2016-03-03 10:59:26.831 PM AirWatch Agent[507]: -[AWAgentController isCurrentUserManaged] [Line 221] Current User is managed
2016-03-03 10:59:26.832 PM AirWatch Agent[507]: Server Starting new loop for data
Is this normal operating procedure for OSX apps? Fill the system.log with print statements in a loop that runs every ~10 seconds?
It is for those that leave their debug logging enabled. A lot of code I've seen uses CocoaLumberjack[0] or something similar, which makes it easy to turn that off for production builds.
"sparsebundle already in use" is the FOAD of error messages. I do love how the (now stale) tools to fix this are maintained by a volunteer on an external site unrelated to apple.
I try not to be too grumpy about it, but I paid $3k for a laptop not to have to fucking deal with windows-style normal operation of the OS and related tools is busted and you're gonna sink hours into debugging it. And least when linux breaks it tends to leave error messages and details in syslog...
My latest pet peeve is `mds_stores` deciding it needs to spend forever using my iPod, so I can't unplug it without incurring a scolding. It's not hard for Mac OS to stay less terrible to configure than Linux, and less terrible to use than Windows, but that's a low bar.
I probably do. Thanks to my partial understanding of how the software works, I can guess that `mds_` is Spotlight trying to index my music player, but I wouldn't want to try to explain it to my dad. Software that responds to "eject this" with "no, because f* you" because it is busy creating meta-data is user-hostile.
Just yesterday I performed a clean install of Windows 10 on my desktop work computer. After joining our domain (configured in the most standard way possible), the start menu stopped working and edge couldn't start anymore. All commands to fix this situation (through powershell) gave cryptic hexadecimal error codes. After a few hours it turns out the Windows Firewall service was disabled. How this causes the Start Menu to malfunction, I don't know...
Again this was a clean installation. Windows 10 is a joke.
> And least when linux breaks it tends to leave error messages and details in syslog...
Tends to. Not directly a Linux issue, but i was trying to figure out why one specific program was giving me corrupted MAC errors when connecting via sftp.
All searches indicated it was a network config issue, but no changes seemed to matter.
Eventually i checked the libs the program was compiled with and found the sftp one was "jurassic". One update later and no more errors.
that said, more often than not, a quick dmesg or tail /var/log/messages is all that i need to get something purring again.
Many other examples abound. Most errors at least provide a message, but one so generic as to be useless.