Bugs & Fixes: Solving a Mysterious Plug-in Crash
With Mac OS X 10.5 (Leopard), Apple added a helpful new troubleshooting feature to the "unexpectedly quit" dialog. Because the addition only pops up occasionally, I had never had any personal experience with it until last week. However, its appearance on my Mac turned out to be the key to a quick resolution of the problem.
The new text appears if Mac OS X detects that the cause of an application crash may actually be a plug-in file that is working with or along side of the application. In such cases, the familiar "application appname quit unexpectedly" text is followed by a less familiar sentence: "The problem may have been caused by the pluginname plug-in."
In my case, this text appeared after a crash of the Safari 4 beta. However, its appearance is certainly not limited to Safari. A search of the Web reveals that this plug-in message can occur after crashes of iTunes, Pages, Motion, Final Cut Pro, and numerous other applications.
Here are the specifics for my crash: Via a (Flash) Web app running at www.befunky.com, I attempted to open and load a photo file from my Mac. While the Open dialog was on the screen, Safari crashed. The message that next appeared informed me that "The problem may have been caused by the Cocoa Patcher plug in." This was not just a one time glitch; it happened repeatedly.
(Image Caption: Unexpected quit messages in Leopard can sometimes pinpoint the problem to a plugin)
My next step was to search for the suspect plug-in. Unfortunately, a Spotlight search came up empty. Even searching in various Library folders yielded no results.
Undeterred, I launched Console (in /Applications/Utilities), navigated to Log Files -> CrashReporter, and located the relevant Safari.crash file. Searching again for "Cocoa Patcher," I hit pay-dirt. A line of text in the log referred to the following long path: ~/Library/PreferencePanes/Default Folder X.prefPane/Contents/Resources/Default Folder X.bundle/Contents/Resources/Cocoa Patcher.bundle/Contents/MacOS/Cocoa Patcher.
Aha! The reason that Spotlight had been unable to locate the plug-in was that the file was buried deep with the Default Folder X package. Package locations are typically excluded from Spotlight searches. As Default Folder X works to modify Open and Save dialogs, it made sense that a problem here might have caused a crash when an Open dialog was on the screen.
The next step was obvious: Disable Default Folder X (in System Preferences) and try the BeFunky site again. I did so. This time there was no crash!
I contacted St. Clair Software, Default Folder's developer, for possible insight. While the company was unaware of this specific issue, it offered several possible fixes and potential explanations. In the end, however, none of the fixes were needed. When I re-enabled Default Folder X, without making any other changes, everything worked fine. The crash did not come back.
Bottom line: I am still unsure exactly what went wrong or why. But the good news is that--via a combination of Leopard's improved crash message, the Console utility and a bit of luck--I was able to quickly get things working again.