'invalid magic header: /var/imap/mailboxes.db' Error

Mark Drummond Mark.Drummond at Sun.COM
Mon Oct 18 09:44:59 EDT 2004


Thanks Simon. Yes, it was the new DB format that was my problem. I was 
updating my Gentoo box and part of that update (about 30 differant 
packages in total) included an upgrade from 2.1.x to 2.2.x. My bad for 
not checking the relnotes prior to letting the update run.

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:
>>
>>cyrus at o-ren 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.
> 
> 
>>cyrus at o-ren 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] mark.drummond at sun.com
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




More information about the Info-cyrus mailing list