Fixing Mail.app's recent mail addresses problem
I had noticed for a while that somehow my Mail.app's "recent mail addresses" list was not updating (I never seemed to get any of my recently used addresses in Quicksilver). Today I noticed the following error message in /var/log/system.log: Mail[365]: AddressBook failed to save: Error Domain=NSCocoaErrorDomain Code=259 UserInfo=0x10c9a810 "The file MailRecents-v4.abcdmr could not be opened because it is not in the right format." ({\n NSFilePath = "/Users/dza/Library/Application Support/AddressBook/MailRecents-v4.abcdmr";\n NSUnderlyingException = Fatal error. The database at /Users/dza/Library/Application Support/AddressBook/MailRecents-v4.abcdmr is corrupted. SQLite error code:1;\n}) While trying to figure out what was wrong, I discovered that the file for some reason had an ACL that prevented everyone (including me!) from modifying it: ~/Library/Application Support/AddressBook $ /bin/ls -lea MailRecents-v4.abcdmr
-rw-------@ 1 dza staff 102400 Feb 4 2008 MailRecents-v4.abcdmr
0: group:everyone deny write,delete,append,writeattr,writeextattr,chown So I removed the ACL: $ /bin/chmod -a# 0 MailRecents-v4.abcdmr And the error is gone! The file was not corrupted, but Mail could simply not write to it. The puzzling part is how did that ACL end up there...
-rw-------@ 1 dza staff 102400 Feb 4 2008 MailRecents-v4.abcdmr
0: group:everyone deny write,delete,append,writeattr,writeextattr,chown So I removed the ACL: $ /bin/chmod -a# 0 MailRecents-v4.abcdmr And the error is gone! The file was not corrupted, but Mail could simply not write to it. The puzzling part is how did that ACL end up there...