Fix:
sudo chmod 444 /System/Library/CoreServices/Help\ Viewer.app/Contents/MacOS/Help\ Viewer
Break again:
sudo chmod 755 /System/Library/CoreServices/Help\ Viewer.app/Contents/MacOS/Help\ Viewer
Untill something better comes along
Apple’s Mac and iP* device operating system
As a follow up to my initial post on the subject, an additional problem that seems to be affecting people with OS X and Cyrus pertains to new log files. Apparently Cyrus roll’s its log file when it exceeds 10MB. For some people the ownership of the new log file is incorrect (root/wheel instead of cyrus/mail) and it causes Cyrus to fail.
This Apple forum thread offers a fix by Matthias Stegner. He suggests creating a bunch of log files in advance:
touch log.0000000002 ... touch log.0000000099 touch log.0000000100 chown cyrus:mail *
This might buy you some time until Apple has posted a fix
I had a client call me to day with a catastrophic failure of their Cyrus IMAP server running on Panther. They were getting this error in their Cyrus startup log:
DBERROR db4: fatal region error detected; run recovery DBERROR: dbenv->open '/var/imap/db' failed: DB_RUNRECOVERY: Fatal error, run database recovery Fatal error: can't initialize mboxlist environment DBERROR db4: fatal region error detected; run recovery DBERROR: dbenv->open '/var/imap/db' failed: DB_RUNRECOVERY: Fatal error, run Fatal error: can't initialize mboxlist environment
Trying to reconstruct resulted in this error:
reconstruct: can't initialize mboxlist environment
Some searching in the Apple discussion forums led to this thread: 10.3.2 Mail Server: error on RECONSTRUCT which contains a fix by Dr. Fishopolis.
Since the Apple discussion forums are so hopelessly pokey right now I’ve decided to document the fix here (so I can find it again if I need it 🙂
Before you start: These instructions assume that the Cyrus mail store is in its default location: /var/spool/imap, and hasn’t been moved somewhere else (like to the XRAID for instance). Check the location in: Server Admin -> Mail -> Settings -> Advanced -> Mail store
and replace any mention of /var/spool/imap with your sepecific path.
sudo -s
ditto /var/imap/ /var/imap.bak/ ditto /var/spool/imap/ /var/imap.spool.bak/
rm -r /var/imap
/usr/bin/cyrus/tools/mkimap
chown -R cyrus /var/imap chgrp -R mail /var/imap
niutil -createprop . /users/cyrus shell /bin/bash
su cyrus
/usr/bin/cyrus/bin/reconstruct
user/user1 user/user1/Folder1 user/user1/Folder2 user/user2 user/user2/Folder1 user/user2/Folder2
/usr/bin/cyrus/bin/reconstruct -r -f user/username
exit exit
There, now wasn’t that fun.
Follow-up 1: There is associated problem pertaining to log files which is documented here.
Follow-up 2: Apparently there is an undocumented flag for the reconstruct command in the Panther version of Cyrus: "-i". It is supposed to rebuild nested user folders. I haven’t tested it (because I don’t have a broken email server right now :-)) but it is being recommended by Apple support.
Follow-up 3: Apple has posted a knowledge base article on the subject, read about it here.
Follow-up 4: Could it be we’ve discovered the ultimate fix for this? Read on.
The latest issue of MDJ outlines the ordeal Matt Deatherage endured tracking down bad RAM in his 17″ Powerbook. He was able to finally identify he culprit by using Tony Scaminaci’s Mac OS X port of the venerable memory test utility Memtest.
Having my share of bad RAM, this is welcome news. I’ve never had much luck with other memory test utilities, but this one comes with a pretty hight pedigree.
Into my toolkit it goes