9e566a4
From http://article.gmane.org/gmane.mail.imap.cyrus/18840
9e566a4
9e566a4
We have also seen skiplist corruption in seen databases.  I don't have a 
9e566a4
recovery tool, but I have been able to manually recover seen db's to the 
9e566a4
point of corruption so that at least most of the users mails are in the 
9e566a4
correct 'read' state.  Typically, you will see errors like:
9e566a4
9e566a4
DBERROR: skiplist recovery /usr/local/imap/user/k/kdelaney.seen: 0D2C 
9e566a4
should be ADD or DELETE
9e566a4
9e566a4
If you truncate the file at this point, it should fix the problem, and 
9e566a4
the users mail read state will be valid upto the point of corruption. 
9e566a4
To do this, convert the hex to decimal (above would be 1372) and use the 
9e566a4
dd command:
9e566a4
9e566a4
dd if=kdelaney.seen of=kdelaney.seen.fixed bs=1 count=1372
9e566a4
9e566a4
replace the corrupted .seen file with the fixed one and have user log in 
9e566a4
and should be ok.
9e566a4
9e566a4
Seems to work on the couple I have tried it on.