[ZODB-Dev] Corrupt db when trying to pack

Gerry Kirk gerry at faithonline.com
Thu Sep 30 17:01:44 EDT 2004


I tried to pack a day old backup of our db, and ran into this:

Exception Type  	CorruptedError
Exception Value 	/home/local/Zope/jim/var/Data.fs:291529514:data record 
does not point to transaction header: 893605468050 != 252270482

Traceback (innermost last):

     * Module ZPublisher.Publish, line 101, in publish
     * Module ZPublisher.mapply, line 88, in mapply
     * Module ZPublisher.Publish, line 39, in call_object
     * Module App.ApplicationManager, line 428, in manage_pack
     * Module ZODB.DB, line 555, in pack
     * Module ZODB.FileStorage, line 1570, in pack
     * Module ZODB.fspack, line 700, in pack
     * Module ZODB.fspack, line 455, in findReachable
     * Module ZODB.fspack, line 485, in buildPackIndex
     * Module ZODB.fspack, line 180, in checkData
     * Module ZODB.fspack, line 161, in fail

CorruptedError: /home/local/Zope/jim/var/Data.fs:291529514:data record 
does not point to transaction header: 893605468050 != 252270482

After looking through other posts on the mailing list, the problem may 
have arisen because of some memory conflicts - we purchased some memory 
and found it conflicted with the existing memory.

Anyhow, I tried running fsrecover.py, and that reduced the 700+ MB file 
by 24 MB. What worries me is what is in the 24 MB. The ZODB hasn't been 
packed in a few weeks.

What else can I do? I ran fstest.py, and it stopped at this:

Data.fs data record exceeds transaction record at 291529514: tloc 
893605468050 != tpos 252270482

TIA,
Gerry



More information about the ZODB-Dev mailing list