[ZPatterns] [TFW] [Zope] Problems using fsrecover.py from 2.5.1 with 2.4.3?

Jean Jordaan jean@upfrontsystems.co.za
Wed, 1 May 2002 15:26:14 +0200

Hi all

I'm attempting to diagnose a Data.fs that might be wonky. I'm
sending a record of my attempt to the list in the hope that
other people are better at interpreting the results than I am.

It was written by this Zope:

 $ cat ./lib/python/version.txt
 Zope 2.4.3 (binary release, python 2.1, linux2-x86)

The fsrecover.py I'm using comes from:

 Zope 2.5.1b1 (source release, python 2.1, linux2)

I get 710849 errors like this:

 __main__.ErrorFound: invalid status, ^@, at 179898912
 __main__.ErrorFound: invalid status, ^@, at 179898995

2068 errors like this:

 __main__.ErrorFound: bad transaction length at 231384331

57 errors like this:

 exceptions.SystemError: Failed to import class Trigger from module

39 errors like this:

 __main__.ErrorFound: invalid status, , at 33731550

with status values such as , ^R, <, , , ...

3 errors like this:

 ZODB.POSException.ConflictError: ('\x03C\x96\xf4\xeb\xb3\xe1\x00',

2 errors like this:

 exceptions.KeyError: ^@^@^@^@^@^C0\

2 errors like this:

 exceptions.ImportError: cannot import name NullProvider

1 error like this:

 exceptions.ImportError: cannot import name Factory

and fsrecover finishes with the message:

 139059006 bytes removed during recovery

Before: 242946201 Apr  9 16:05 Data.fs
After:  103887195 May  1 14:39 Data.fs.fsrecover

I can start a Zope on the "recovered" Data.fs without problems,
and access it through a browser. It works fine, until I try
to access certain ZClasses stored on Racks (eg. 'License'
instances raise KeyErrors, 'Customer' instances are fine). Then
I get KeyErrors, with this in the log:

2002-05-01T13:14:11 ERROR(200) ZODB Couldn't load state for
Traceback (innermost last):
  File /usr/local/zope/2-4-3/lib/python/ZODB/Connection.py, line 519, in
  File /usr/local/zope/2-4-3_for_diepdink/lib/python/ZODB/FileStorage.py,
line 588, in load
  File /usr/local/zope/2-4-3_for_diepdink/lib/python/ZODB/FileStorage.py,
line 564, in _load
KeyError: O

For the record, during startup, Zope warns:

 WARNING: Python C API version mismatch for module DynPersist:
   This Python has API version 1010, module DynPersist has version 1007.

We haven't been able to successfully recompile the dynpersist module,
so we've been ignoring the warning.

Jean Jordaan
Upfront Systems                         http://www.upfrontsystems.co.za

Zope maillist  -  Zope@zope.org
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-dev )