The MacPro woes have gradually subsided, but a few things were weird, and it was bothering me that i’d never really got to the bottom of the problem. The weirdness was that privoxy wasn’t always starting at login (meaning i’d have to start it manually most days), clicking on a Java jar packaged application in the Finder was creating an archive instead of launching (meaning i’d have to start it from the command line with java -jar), and a bunch of application associations felt like they were missing.
Consequently i’ve been watching the system.log and trying to clean up the mess at startup / login. Don’t know if all OS X systems are like this but this one, which has run every O/S release and patch from 2007 until now, but it is a mess at startup. There is some stuff, such as ‘locationd’ that always logs an exception (because the machine doesn’t have a wireless card…) and a host of old agents / daemons controlled by ‘launchd’ that reference files or packages that no longer exist, use outdated plist syntax, etc. In short, it’s a mess.
Today i decided to try to get to the bottom of this message:
lsregister: LaunchServices database store corruption detected.
Doesn’t sound good does it! A little man page reading, and surfing later:
lsregister -kill -r -domain local -domain system -domain user
Good luck finding ‘lsregister’ it’s hidden in:
… obviously! After running that, and removing a bunch of old / redundant plist files from:
/System/Library/LauchAgents /System/Library/LauchDaemons /Library/LaunchAgents /Library/LauchDaemons ~/Library/LaunchAgents
the startup / login time are noticeably improved, even application start times might be a little improved.
The moral of this story? Not really sure… maybe that periodic clean installs are as important on OS X as they are on Windows, but with the period measured in years rather than months.
Edit: Having got the bit between my teeth, i’ve been back and cleaned up a bunch of the messages in the system.log and kernel.log. Removing a bunch third party kernel extensions (PACE, VirtualBox, Cisco VPN, BRESinkx86, etc.) that have accumulated over the years. The output of ‘kextstat’ now contains no non-apple kernel extentions. Yay!