Trouble with ZODB when switching between Zope-releases with Python 1.5 and Python2.0
hi out there, I recently tried Zope-2.3.1b3 with Python 2.0 and it worked so far ... except some of the known issues at compile time .. I had trouble with a few products including ParsedXML so I switched back to Python 1.5.2 and updated to Zope-2.3.1 I did not replace my Data.fs. Everything works fine .. except when i want to browse one of my test-directories where I have many Instances of different Products I get this Error: ---------------------------------------------------------------------------- --------------- ZopeERROR Error Type: UnpicklingError Error Value: invalid load key, 'X'. ---------------------------------------------------------------------------- --------------- Traceback (innermost last): File /usr/share/Zope-2.3.1/lib/python/ZPublisher/Publish.py, line 223, in publish_module File /usr/share/Zope-2.3.1/lib/python/ZPublisher/Publish.py, line 187, in publish File /usr/share/Zope-2.3.1/lib/python/Zope/__init__.py, line 221, in zpublisher_exception_hook (Object: Traversable) File /usr/share/Zope-2.3.1/lib/python/ZPublisher/Publish.py, line 171, in publish File /usr/share/Zope-2.3.1/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: manage_main) File /usr/share/Zope-2.3.1/lib/python/ZPublisher/Publish.py, line 112, in call_object (Object: manage_main) File /usr/share/Zope-2.3.1/lib/python/Shared/DC/Scripts/Bindings.py, line 324, in __call__ (Object: manage_main) File /usr/share/Zope-2.3.1/lib/python/Shared/DC/Scripts/Bindings.py, line 354, in _bindAndExec (Object: manage_main) File /usr/share/Zope-2.3.1/lib/python/App/special_dtml.py, line 236, in _exec (Object: manage_main) File /usr/share/Zope-2.3.1/lib/python/DocumentTemplate/DT_In.py, line 666, in renderwob (Object: objectItems) File /usr/share/Zope-2.3.1/lib/python/DocumentTemplate/DT_In.py, line 761, in sort_sequence (Object: objectItems) File /usr/share/Zope-2.3.1/lib/python/ZODB/Connection.py, line 533, in setstate UnpicklingError: (see above) ---------------------------------------------------------------------------- --------------- and stderr says: 2001-04-05T09:35:45 ERROR(200) ZODB Couldn't load state for '\000\000\000\000\000\001\034\377' Traceback (innermost last): File /usr/share/Zope-2.3.1/lib/python/ZODB/Connection.py, line 533, in setstate UnpicklingError: invalid load key, 'X'. ---------------------------------------------------------------------------- --------------- 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. Is there a way to find out which object causes this error and delete it ???? thanks for your help Ulrich Eck net-labs
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
On 05 Apr 2001 12:28:34 +0200, Ulrich Eck wrote:
hi out there,
I recently tried Zope-2.3.1b3 with Python 2.0 and it worked so far ... except some of the known issues at compile time ..
I had trouble with a few products including ParsedXML so I switched back to Python 1.5.2 and updated to Zope-2.3.1
I did not replace my Data.fs.
Everything works fine .. except when i want to browse one of my test-directories where I have many Instances of different Products I get this Error:
When you switched python versions, did you use a cleanzope tree? if not (or just to clean it out) try deleting all the .pyc files in your zope tree. I've seen this error when distributing .pyc files from 2.0 machines to 1.52 machines. cd $ZOPEHOME find * |grep .pyc$ |xargs rm i use thiswhenever I seem to be having an issue, just to clear out potential problems there (have had that before). Bill
yes I removed all .pyc files with rm -Rf *.pyc :) thanks Ulrich Eck ----- Original Message ----- From: "Bill Anderson" <bill@libc.org> To: "ZOPE-DEV Mailingliste" <zope-dev@zope.org> Sent: Thursday, April 05, 2001 4:43 PM Subject: Re: [Zope-dev] Trouble with ZODB when switching betweenZope-releases with Python 1.5 and Python2.0
On 05 Apr 2001 12:28:34 +0200, Ulrich Eck wrote:
hi out there,
I recently tried Zope-2.3.1b3 with Python 2.0 and it worked so far ... except some of the known issues at compile time ..
I had trouble with a few products including ParsedXML so I switched back to Python 1.5.2 and updated to Zope-2.3.1
I did not replace my Data.fs.
Everything works fine .. except when i want to browse one of my test-directories where I have many Instances of different Products I get this Error:
When you switched python versions, did you use a cleanzope tree?
if not (or just to clean it out) try deleting all the .pyc files in your zope tree. I've seen this error when distributing .pyc files from 2.0 machines to 1.52 machines.
cd $ZOPEHOME find * |grep .pyc$ |xargs rm
i use thiswhenever I seem to be having an issue, just to clear out potential problems there (have had that before).
Bill
_______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
participants (3)
-
Bill Anderson -
Brian Lloyd -
Ulrich Eck