[Zope] Corrupt Data.fs after using version

Stefan Loidl Stefan.Loidl@lrz-muenchen.de
Wed, 12 Feb 2003 10:16:55 +0100


Hi,

in the last six month I had two times the problem, that after doing some
changes in a version and then saving the version, my Data.fs was corrupt
and some Zope objects were no more accessible.

Each time I have been able to recover from the corrupt Data.fs by using a
backup of my Data.fs and exporting/importing my application.
Using fsrecover.py didn't help, because the changes I had done in the
version were lost in the Data.fs output of fsrecover.py.

The environment I use is:
SuSE Linux 7.1
Zope 2.5.1
Python 2.1.3

To get more information why this problems occur I did some tests.
I did a small change to one Zope object in a version and saved the
version. Before this change fsrecover.py reported no problem, after
the change I got the following error:
ZODB.POSException.VersionLockError: ("'\\x00\\x00\\x00\\x00\\x00\\x000\\xa4'", 
'/Test/Test Version')

I tried to do the same test with Zope 2.6.1, but fsrecover.py doesn't seem
to work correctly in Zope 2.6.1, I only got a lot of error messages like
these (before and after the change):
__main__.ErrorFound: bad transaction length at 3018384
exceptions.TypeError: __init__() takes exactly 10 arguments (8 given)

Any ideas?

Thanks,
Stefan