I had some serious Leopard stability problems recently. I thought I had found the problem but I was wrong then.
This time I’m pretty sure I’ve gotten rid of all the badness. I’ve had almost 2 days of continuous uptime, which may not sound like something to get excited about, but it sure beats the 4-6 hour average uptime I’ve had for the past few weeks.
I’ve spent so much time on this that I’m not willing to put in the extra 4-8 hours it would take to really truly isolate this issue. But my best guess is that it was the Canon drivers for my recently purchased Canon PIXMA MX310 multifunction printer. Specifically I think it’s the scanner driver, but I’m not certain. If so, that would mean that the culprits were
BJUSBMP.kext in /System/Library/Extensions.
I got fed up a couple of days ago and started using sudo rm -rf on anything that looked suspicious, based on the output of launchctl list. That included completely removing a recently installed copy of VMWare Fusion, and everything that had been installed for my prior printer, which was an HP PSC 1600. I also re-disabled all my fonts, leaving only the required ones (see the prior post for info about that).
The clue came when I had to scan something this past weekend. I had already reinstalled Leopard on an external drive and brought it up to 10.5.2 with the Leopard Graphics Update 1.0, and it was fine. So, I was using the external drive’s clean Leopard install to get work done. (As a re-cap, Safe Boot mode on the internal hard drive had worked fine also. So I knew it had to be something not installed on the external drive yet, that was loaded only in non-Safe Boot mode.)
In order to scan a document I had to install the Canon drivers for the printer and scanner. A couple of hours after doing so, the system froze up. I hadn’t yet made the mental association between the Canon drivers and the subsequent crash, so I kept using the system for a while, even though it was crashing and requiring a reboot every few hours. At that point I decided to punt and go back to using my internal drive, since it was no worse now than the reinstall.
So, given that info, and the fact that I had never installed the HP drivers nor VMWare Fusion on the external drive, I’m pretty sure it was one of the Canon drivers. Otherwise there would have to be something in my user directory (which I copied over from the internal drive) which managed to start up something that was not installed on the active boot disk. That seems unlikely to me, but possible. In the launchd config files I’ve seen, the paths are hard-coded to where the installer puts things, so even though the internal drive was mounted, those things should have failed to start because the actual installed drivers and daemons are not where they were expected to be.
So, which Canon driver is it? Probably the scanner driver. From what I can tell, the printer driver is more or less an outgoing thing: try and print, and it looks on the USB bus for the printer, and prints to it. However, the scanner driver has to deal with the case where the user presses the “Scan” button on the printer’s control panel. If that happens it launches either Image Capture.app or the “MP Navigator EX” application which is Canon’s multifunction dashboard app. My suspicion is that this is what those two kexts are for.
So, if you get this kind of trouble, try blowing away those two kexts (wouldn’t it be grand if Canon provided an uninstall feature for their scanner driver?) and rebooting and see if that fixes it. Better yet, delete them one at a time and reboot each time, and see if you can figure out which one is really the problem.
Update: It was actually an intermittent hardware problem and Apple has replaced the logic board of this computer.