I reverted back to 2.1.5 to get me running again, then did my homework, re-ran the update to 2.2.8, converted my database to skiplist format and now all is well.
Thanks,
Mark
Simon Matter said the following on 10/18/04 02:32:
Hi all. I'm a cyrus newbie/novice. I rebooted my mailserver this morning, and now cyrus is dead. This is my mailserver at home so it is not critical, but my personal mail is kaput until I get this fixed.
After the system rebooted the disk started spinning like mad ... which turned out to be syslog dumping tons of log messages from cyrus. The following lines are repeated hundreds and hundreds of times:
Oct 17 13:28:45 o-ren master[12647]: about to exec /usr/lib/cyrus/imapd Oct 17 13:28:45 o-ren imap[12647]: executed Oct 17 13:28:45 o-ren imap[12647]: skiplist: invalid magic header: /var/imap/mailboxes.db
Your cyrus thinks your mailbox is in skiplist format.
Oct 17 13:28:45 o-ren imap[12647]: DBERROR: opening /var/imap/mailboxes.db: cyrusdb error Oct 17 13:28:45 o-ren imap[12647]: Fatal error: can't read mailboxes file Oct 17 13:28:45 o-ren master[10840]: process 12647 exited, status 75 Oct 17 13:28:45 o-ren master[10840]: service imap pid 12647 in READY state: terminated abnormally
I found a note here:
http://asg.web.cmu.edu/archive/message.php?mailbox=archive.info-cyrus&msg=28119
with a fix, but that fix is not working for me. I ran conv.sh which gave me the following file:
[EMAIL PROTECTED] tmp $ cat /tmp/mailboxes.txt user.a default a lrswipcda cyrus lrswipcda user.b default b lrswipcda cyrus lrswipcda user.c default c lrswipcda cyrus lrswipcda user.c.user default c lrswipcda cyrus lrswipcda user.c.user.carmen default c lrswipcda cyrus lrswipcda user.c.user.carmen.Sent default c lrswipcda cyrus lrswipcda user.c.user.carmen.Drafts default c lrswipcda cyrus lrswipcda user.c.user.carmen.Trash default c lrswipcda cyrus lrswipcda user.d default d lrswipcda cyrus lrswipcda user.e default e lrswipcda cyrus lrswipcda user.f default f lrswipcda cyrus lrswipcda user.g default g lrswipcda cyrus lrswipcda user.h default h lrswipcda cyrus lrswipcda user.i default i lrswipcda cyrus lrswipcda user.j default j lrswipcda cyrus lrswipcda user.j.user default j lrswipcda cyrus lrswipcda user.j.user.jamie default j lrswipcda cyrus lrswipcda user.j.user.jamie.Sent default j lrswipcda cyrus lrswipcda user.j.user.jamie.Drafts default j lrswipcda cyrus lrswipcda user.j.user.jamie.Trash default j lrswipcda cyrus lrswipcda user.k default k lrswipcda cyrus lrswipcda user.l default l lrswipcda cyrus lrswipcda user.m default m lrswipcda cyrus lrswipcda user.m.user default m lrswipcda cyrus lrswipcda user.m.user.mark default m lrswipcda cyrus lrswipcda user.m.user.mark.Sent default m lrswipcda cyrus lrswipcda user.m.user.mark.Spam default m lrswipcda cyrus lrswipcda user.m.user.mark.Drafts default m lrswipcda cyrus lrswipcda user.m.user.mark.Trash default m lrswipcda cyrus lrswipcda user.m.user.mark.Postmaster default m lrswipcda cyrus lrswipcda user.n default n lrswipcda cyrus lrswipcda user.o default o lrswipcda cyrus lrswipcda user.p default p lrswipcda cyrus lrswipcda user.q default q lrswipcda cyrus lrswipcda user.r default r lrswipcda cyrus lrswipcda user.s default s lrswipcda cyrus lrswipcda user.s.user default s lrswipcda cyrus lrswipcda user.s.user.sarah default s lrswipcda cyrus lrswipcda user.s.user.scott default s lrswipcda cyrus lrswipcda user.t default t lrswipcda cyrus lrswipcda user.t.user default t lrswipcda cyrus lrswipcda user.t.user.test default t lrswipcda cyrus lrswipcda user.t.user.test.Sent default t lrswipcda cyrus lrswipcda user.t.user.test.Drafts default t lrswipcda cyrus lrswipcda user.t.user.test.Trash default t lrswipcda cyrus lrswipcda user.t.user.teresa default t lrswipcda cyrus lrswipcda user.t.user.teresa.Sent default t lrswipcda cyrus lrswipcda user.t.user.teresa.Drafts default t lrswipcda cyrus lrswipcda user.t.user.teresa.Trash default t lrswipcda cyrus lrswipcda user.u default u lrswipcda cyrus lrswipcda user.v default v lrswipcda cyrus lrswipcda user.w default w lrswipcda cyrus lrswipcda user.x default x lrswipcda cyrus lrswipcda user.y default y lrswipcda cyrus lrswipcda user.z default z lrswipcda cyrus lrswipcda user.stage. default stage lrswipcda cyrus lrswipcda
You mailbox list looks okay.
[EMAIL PROTECTED] tmp $
I then ran ctl_mboxlist, but that seems to have given me a broken file as well:
o-ren root # ls -l /var/imap/ total 558 -rw------- 1 cyrus mail 144 Oct 17 13:26 annotations.db drwxr-xr-x 2 cyrus mail 256 Oct 17 13:26 db drwx------ 2 cyrus mail 144 Oct 17 13:26 db.backup1 drwx------ 2 cyrus mail 112 Oct 17 13:07 db.backup2 -rw------- 1 cyrus mail 491520 Oct 17 13:26 deliver.db drwxr-xr-x 2 cyrus mail 72 Oct 17 04:13 log -rw------- 1 cyrus mail 4540 Oct 17 16:35 mailboxes.db -rw------- 1 root root 32768 Oct 17 16:31 mailboxes.db.bak drwxr-xr-x 2 cyrus mail 72 Oct 17 04:13 msg drwxr-xr-x 2 cyrus mail 432 Oct 17 12:08 proc drwxr-xr-x 28 root root 672 Jul 4 14:50 quota drwxr-xr-x 28 cyrus mail 672 Jul 4 14:50 sieve drwxr-xr-x 2 cyrus mail 224 Oct 17 13:26 socket -rw------- 1 cyrus mail 32768 Oct 17 13:26 tls_sessions.db drwxr-xr-x 28 cyrus mail 672 Oct 17 04:13 user
Significant size differance between the new and old files.
o-ren root # file /var/imap/mailboxes.db /var/imap/mailboxes.db: Apple QuickTime movie file (skip)
A quicktime movie file? Something is busted ...
Your file magic doesn't know skiplist files yet, usually nothing to worry.
o-ren root # file /var/imap/mailboxes.db.bak /var/imap/mailboxes.db.bak: Berkeley DB (Btree, version 9, native byte-order)
Hm, you said this was your old mailboxes db, now it appears to be BDB.
o-ren root #
This is the original which gives me the invalid magic header error.
I am not sure where to go from here. Any takers? Maybe my conv.sh is broken?
This is running on a Gentoo Linux PC.
I'm quite sure you were upgrading your cyrus-imapd and have been hit by the fact that with 2.2, cyrus-imapd uses skiplist per default for mailboxes.db. If that's the case here maybe the Gentoo cyrus-imapd maintainers should include some magic to automatically convert databases on upgrade or let the user know about the change. Or it's just a RTFM issue :)
Simon
Thanks,
Mark
--- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
-- Mark Drummond Technical Specialist STANTIVE Solutions Inc. - Kingston, ON, Canada Sun Microsystems Independent Sales Organization (ISO)
T] 613.634.7410 ext.226 E] [EMAIL PROTECTED] F] 613.634.7412 W] www.stantive.com --- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html