problem with one user after a crash

Andrew Morgan morgan at orst.edu
Thu Jan 10 21:19:23 EST 2013


On Thu, 10 Jan 2013, David Lang wrote:

> 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.

Hmmm, I haven't looked at the code in skiplist.py much.  I have an older 
version of skiplist.py, which I have attached to this email.  Honestly, I 
haven't used this since I upgraded to Cyrus v2.3.something.  I think there 
were some bugs in skiplist on the older versions.  :)

Give the attached skiplist.py a shot!  Worst case, you'll have to start 
over with no Seen history.  :(

 	Andy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: skiplist.py
Type: text/x-python
Size: 4593 bytes
Desc: 
Url : http://lists.andrew.cmu.edu/pipermail/info-cyrus/attachments/20130110/643f0f64/attachment-0001.py 


More information about the Info-cyrus mailing list