As anyone reading my blog knows, many consider me some sort of computing god that can miraculously fix anything that looks, smells, or in any other way resembles a computer. Some even feel that computers fear me, as my mere presense makes them work correctly. “Matt, why does it do….. now that’s funny, it’s working now. I swear it didn’t work yesterday when I did that!”
In reality, I’m nothing close to divine. What I am, beyond being gifted with computers, is highly pragmatic. I’m extremely good at solving problems. So today, I’ll walk you through a problem I just solved and teach you (and others) how to solve similar problems for yourselves.
Two days ago I had a buddy and business associate here at my home. I was demonstratrating some techniques for managing digital media workflow, particularly relating to video and DVD production. As part of this, I was showing off some cool stuff in iPhoto ’05 which I just upgraded to a couple weeks ago. However, I discovered that every time I clicked the “print” button, iPhoto crashed. This does not reflect well on Mr. Computer Wizard.
A quick google didn’t turn anything up, so I resolved to address the problem another day. Today was that day so I did a more extensive Google search which still didn’t turn up anything. There are millions of people using iPhoto, and many thousands that have upgraded to iPhoto ’05. Nobody else has reported this issue so that tells me that this problem is unique to my system. Oddly, everything else in iPhoto works perfectly. It occurred to me that I do have two export plugins installed (BetterHTMLExport & iPhoto2Gallery) so I removed both and still had the same problem.
One of the things I know and love about Mac OS X is that when an app crashes, it writes a crash log, like any good Operating System should. So, I checked out the contents of ~/Library/Logs/CrashReporter/iPhoto.crash.log. That file has all sorts of useful stuff in it for programmers, but it didn’t really indicate what the problem might be.
The next thing to check was the logs to see if they provided any clues. I perused through /var/log/system.log and found that iPhoto is a good app and does log errors to syslog but it didn’t log anything that would help me resolve this problem.
I finally turned to a last resort. I ran iPhoto from terminal (/Applications/iPhoto.app/Contents/MacOS/iPhoto) which runs iPhoto and spits any debug output to the terminal window. Not all applications are good enough to actually spit out useful error messages so this was really just a wing and a prayer but it turned out to be the clue that solved my problem. I tried clicking “print” in iPhoto and these were the last lines in my terminal windows as iPhoto crashed:
2005-04-08 11:08:26.042 iPhoto[4631] loaded /Applications/iPhoto.app/Contents/PlugIns/KeywordAssistant.bundle
Bus error
Oh yeah, I had that plug-in installed as well. Doh! I deinstalled it, and voila, my problem was solved. I checked out the developers site and sure enough, a new iPhoto 5 compatible version was available.
In summary, my problem with iPhoto was self-inflicted. I had installed a plug-in, forgotten about it, and then caused myself a problem when I upgraded to iLife ’05. Learn from my error. If you don’t have the skills or bravery to troubleshoot a problem like this, don’t install third party plug-ins. If you neglect this advise, don’t blame your primary vendor when something breaks, it’s most likely your own fault and you should be using techniques I have just demonstrated to determine exactly what the problem is.