> 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