problem with one user after a crash

David Lang David_Lang at Intuit.com
Thu Jan 10 20:32:42 EST 2013


On Thu, 10 Jan 2013, Andrew Morgan wrote:

> A corrupted seen file is the only thing that makes sense to me.  If other 
> users can open the same folder, then the cyrus.header and cyrus.index files 
> must be sane.
>
> As an experiment, you could move your seen file from lang.seen (or whatever 
> it's called) to lang.seen.bak.  Then connect to IMAP as yourself and try to 
> open the folder.  If it works, then it must have been a corrupted seen file, 
> and you can use skiplist.py to recover as much of it as possible.

Ok, the good news is that this seems to be the problem.

unfortunantly the skiplist recovery tool is not working.

# ./skiplist.py dlang.seen.bak >dlang.seen.txt
Traceback (most recent call last):
   File "./skiplist.py", line 172, in <module>
     values, keys = getkeys(fp)
   File "./skiplist.py", line 152, in getkeys
     spointer = unpack('>I', str_p)[0]
struct.error: unpack requires a string argument of length 4

# file dlang.seen.bak
dlang.seen.bak: Cyrus skiplist DB

I tried enabling debug mode in skiplist.py and I'm not seeing anything 
different. This confuses me. I'm not that familiar with python, but as I read 
the code, get_header() should be writing a bunch of stuff before it gets to the 
getkeys() section that failing.

David Lang


More information about the Info-cyrus mailing list