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