On Sat, Sep 16, 2000 at 02:04:59PM -0400, Chalu Kim wrote:
Here is the trace;
2000-09-16T17:34:55 ERROR(200) ZODB Couldn't load state for '\000\000\000\000\000\000\017\225' Traceback (innermost last): File /usr/local/Zope-2.2.0-src/lib/python/ZODB/Connection.py, line 447, in setstate SystemError: Failed to import class ImplicitAcquirerWrapper from module Acquisition
This problem occurs with w_pcgi.py with 2.2.0 source. Starting is fine but it renders a directory viewable but unmanageable..
I tried to import and it only works when in Zope/lib/python. Others will result in error "No module named Acquisition".
(From a private email, also):
In particular, the problem is related to mysqlUserFolder. The whole directory goes sort of sour and the directory becomes viwable but unmanageable.
Hmm.. I am not sure what goes on here, but I suspect that mysqlUserFolder is at fault here. It seems it (or another faulty product) stores wrapped objects in the ODB, and IIRC this shouldn't happen. To be honest, I have never looked deeply into the voodoo that is pickling/unpickling.
I started getting into ZODB and find ways to check soundness of the database itself. Any pointer on this?
There are a few tools for analysis and recovery: - fsrecover.py, which can be found in lib/python/ZODB of a Zope distribution, repairs damaged Data.fs files. Start with python fsrecover.py /path/to/Data.fs. - tranalyzer (http://www.zope.org/Members/tsarna/Tranalyzer) let's you look athe contents of a ZODB, in real time if necessary. However, this is a problem with a correct pickle, but the class needed for the unpickling isn't available. ImplicitAcquirerWrapper can never be imported from Acquisition however. -- Martijn Pieters | Software Engineer mailto:mj@digicool.com | Digital Creations http://www.digicool.com/ | Creators of Zope http://www.zope.org/ ---------------------------------------------