How to repair a broken seen state file
Wesley Craig
wes at umich.edu
Mon Jul 7 10:26:33 EDT 2008
On 07 Jul 2008, at 09:31, Gary Mills wrote:
> I'm seeing errors like this regularly in our messages log:
>
> Jul 4 11:43:37 castor imap[16398]: [ID 514311 local6.error]
> DBERROR: skiplist recovery: 058C should be INORDER
> Jul 4 11:43:37 castor imap[16398]: [ID 729713 local6.error]
> DBERROR: opening /imap/conf/user/O/inqarts.seen: cyrusdb error
>
> Can I just remove the file, with no ill effects?
Removing it will cause all seen state to be lost, which is not a huge
tragedy, but not exactly desirable.
> Can I fix it somehow?
058C is an offset in hex. If you truncate the file at this point,
you should be able to proceed. Obviously, everything after that will
be gone, but in my experience, these error typically occur at the end
of skiplist files, so you probably won't lose much if anything.
Also, this user's mail probably looks quite odd, e.g., all new mail
is always unseen. Anyway, something like:
dd if=/imap/conf/user/O/inqarts.seen of=/imap/conf/user/O/
inqarts.seen.fixed bs=1420 count=1
and
mv /imap/conf/user/O/inqarts.seen.fixed /imap/conf/user/O/inqarts.seen
Make sure /imap/conf/user/O/inqarts.seen is still permitted correctly.
> We're running cyrus-imapd-2.3.8.
I understand that later version of Cyrus have fixed many errors in
the skiplist code...
:wes
More information about the Info-cyrus
mailing list