[Zope-dev] Trouble with ZODB when switching between Zope-releases with Python 1.5 and Python2.0

Brian Lloyd brian@digicool.com
Thu, 5 Apr 2001 10:13:50 -0400


> ZopeERROR
> Error Type: UnpicklingError
> Error Value: invalid load key, 'X'.
> 
> <snip>
>
> It seems, that there is one Instance in a undefined state which 
> is probably
> caused by the differences
> in pickling between Python 1.5 and 2.0.

Not an undefined state; 'X' is the marker for BINUNICODE, which 
means that you have managed to pickle a unicode object while 
you were running under Python 2.


> Is there a way to find out which object causes this error and 
> delete it ????

If you run under 1.5.2, the objects in your test directory 
containing the unicode should appear to be "Broken" objects,
or not work correctly when you visit them. Once you identify 
the culprits, you could load the db under Python 2 again and 
either get rid of those objects or change them to get rid of 
the unicode data in them.

Brian Lloyd        brian@digicool.com
Software Engineer  540.371.6909              
Digital Creations  http://www.digicool.com