Wednesday, December 31, 2008

Apple mail.app broken after 10.5 upgrade

I recently updated from OS X 10.4 to 10.5 and applied the 10.5.6 software update.  After doing so, I couldn't get Mail.app to work.  It would launch, then pretty much just sit there.  I could bring up windows, go into preferences, etc, but couldn't get mail/see messages, etc.

I looked at the Console.app (Applications -> Utilities -> Console) and found an assertion error similar to this:


Mail[214]: *** Assertion failure in +[MessageRouter userJunkMailRule], /SourceCache/Message/Message-930.3/MessageStores.subproj/MessageRouter.m:1360
Mail[214]: rules must already be loaded\nStack Trace: (\n(\n 2503647499,\n 2488741435,\n 2503646955,\n 2485388964,\n 4153284,\n 3992030,\n 945573,\n 2422447588,\n 2422924776,\n 2422924665,\n 2422921978,\n 2421588387,\n 2421378377,\n 192813,\n 2420713119,\n 2420504740,\n 1029874\n))



I did a bit of searching on Google and found a similar problem from another user:

http://lolstartups.com/preview/10102048

I followed the information there and wanted to add the following specific information on what I did to resolve the issue...

The bottom line is that I'd say Apple *forgot* to update a plist field. The old setting (which you'll need to fix up) is called JunkMailBehaviorHasBeenConfigured and it's a boolean. The new parameter is JunkMailBehavior and it's a number

I opened up ~/Library/Preferences/com.apple.mail.plist in /Developer/Applications/Utilities/Property List Editor.app and switched JunkMailBehaviorHasBeenConfigured from a value of 1 to 0 (That is, one goes to zero).

I was then able to launch Mail.app just fine. All my messages showed up, connected up to get my new mail, etc, etc... and I don't even have to force quit anymore.

I did go check the Junk mail rules/preferences again and made sure those were to my liking.