DBERROR: skiplist recovery errors

Rob Mueller robm at fastmail.fm
Wed Dec 11 21:01:48 EST 2002


Looks like you've got corrupted skiplist files. Delete the seen state
databases with the problem and it will automatically rebuild them.

It's scarier when you see this on the mailboxes DB.

Which reminds me. The skiplist recovery code barfs if it comes across this
error and gives up. However, if you truncate the length of the file to just
smaller than the problem location, then it happily recovers, even though
there's an incomplete record. I really don't think recovery should ever just
'give up'. Maybe make a backup of the bad DB, remove the offending records,
warn the user and continue would be much nicer.

Also there's a bit of code that looks like this:
        for (;;) {
            p += RECSIZE(p);
            if (p >= q) break;
            if (TYPE(p) == COMMIT) break;
        }

I had a corrupted DB once where RESIZE(p) == 0. This just went into an
infinite loop. Also not a good idea when trying to recover a database.

Rob

----- Original Message -----
From: "Alessandro Oliveira" <alessandro.o at nunoferreira.com.br>
To: <info-cyrus at lists.andrew.cmu.edu>
Sent: Wednesday, December 11, 2002 11:46 PM
Subject: DBERROR: skiplist recovery errors


> Hi,
>
> I'm getting the following errors in my logs:
>
> ....
> Dec  9 09:12:35 intra03 imapd[30212]: DBERROR: skiplist recovery: 0958
> should be ADD or DELETE
> Dec  9 09:12:35 intra03 imapd[30212]: DBERROR: opening
> /var/lib/imap/user/n/natacha.seen: cyrusdb error
> Dec  9 09:12:35 intra03 imapd[30212]: Could not open seen state for
> natacha (System I/O error)
> ....
> Dec 11 10:40:56 intra03 imapd[15239]: DBERROR: skiplist recovery: 02C4
> should be ADD or DELETE
> Dec 11 10:40:56 intra03 imapd[15239]: DBERROR: opening
> /var/lib/imap/user/m/mariana.seen: cyrusdb error
> Dec 11 10:40:56 intra03 imapd[15239]: Could not open seen state for
> mariana (System I/O error)
> ....
>
> I can't figure it out whats going on here, do you have any clues ?
>
> Thanks in Advance,
>
> Alessandro
>
>
>
>
>
>
>





More information about the Info-cyrus mailing list