Bugs & Fixes: Crash and relaunch doesn't work as expected

When a program crashes (what Apple euphemistically describes as an “unexpected quit”), that’s enough trouble all by itself. The last thing you need is an Apple dialog that misinforms you about what will happen next. But this is apparently what occurs.

I bring this up now because Apple recently posted a revised version of a support article titled Relaunching an application after it unexpectedly quits.

The article notes that, after a crash, a dialog pops up offering the option to “Relaunch” the application. If you click the Relaunch button and the program crashes again, a different dialog eventually appears. This one offers a new option to “Reset and relaunch.”

So far, so good. It’s at this point that things begin to go astray. Actually, they appear to go astray only if you are running Mac OS X 10.5 (Leopard). In Mac OS X 10.4 (Tiger), the procedure works exactly how the article describes (as I similarly noted in a 2006 Macworld article).

The Apple article states: “The ‘Reset and relaunch’ option resets the application’s preference settings to a default, then opens the application again.” Translated, this means that the application’s current preferences (.plist) file, located in ~/Library/Preferences, is replaced by a fresh default copy. If a corrupt .plist file was the root cause of the crash, this shift should fix it.

Unfortunately, when running Leopard, I could find no evidence that this shift is taking place. In all of my tests, the .plist file remained the same, unmodified in any way.

Additionally, the small print of the second dialog reads: “You will be given the opportunity to restore your original settings when you quit the application.” In other words, if the application no longer crashes on your most recent relaunch, and you quit normally, the “Restore” dialog should appear. This too appears incorrect when running Leopard. I can’t confirm that the dialog never shows up. But I have been unable to get it to appear in any of my tests.

I alluded to all of this awhile back, in a Macworld article written shortly after Leopard was released. At the time, I assumed the errors were a glitch that Apple would soon fix in a 10.5 update. I was wrong. Based on this updated support article, Apple doesn’t even seem to know there is a problem that needs fixing.

As a slight aside, you may be wondering: “How does the Finder know that an application has crashed and relaunched, so as to put up the second “Reset and relaunch” dialog?” In Tiger, this worked because after the first crash and relaunch, a property called ApplicationCrashedAfterRelaunch was added to the application’s .plist file. The presence and value of this item determined whether or not the second dialog appeared. Again, as far as I can tell, this property change no longer occurs in Leopard. This means that Leopard must be monitoring the state of the crashed application in some other way. Whatever that way is, it remains a mystery to me. Figuring this out could be the key to understanding what goes wrong. If you know the answer, let me know. (And I hope it doesn’t turn out to be something so obvious that I kick myself for not seeing it.)

Shop Tech Products at Amazon