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:

[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

Reply via email to