[Zope] Re: zope is selfrestarting: can't uninstall a product!

Dieter Maurer dieter at handshake.de
Fri Sep 16 13:04:21 EDT 2005


daniele wrote at 2005-9-16 00:57 +0200:
> ...
>------
>2005-09-15T20:09:15 ERROR(200) ZODB Couldn't load state for 0x01213c
>Traceback (most recent call last):
>   File "/hdb/zope/lib/python/ZODB/Connection.py", line 600, in setstate
>     self._set_ghost_state(obj, p)
>   File "/hdb/zope/lib/python/ZODB/Connection.py", line 639, in 
>_set_ghost_state
>     state = unpickler.load()
>ImportError: No module named ZPhotoSlides.photo_edition.exif
>------
>2005-09-15T20:09:16 INFO(0) Zope Shutting down with exit code 1
>
>
>This is the same error, *every time* zope server restart itself. So the 
>problem is that Zope can't "forget" ZPhotoSlides, and at a certain point 
>  it tries to load a module that doesn't exist anymore.

But, in general, Zope does not perform an "exit(1)" in this case.

You get the "ImportError" because you still have instances in
your storage that references ZPhotoSlides. When these instances
are touched, the "ImportError" occurs.

However, Zope will create a fake object for the failing load and
continue to run...

>I think, someone correct me please, that this module call is generated 
>by the remaining ZPhotoSlides objects (my old galleries, with all the 
>photos, comments and ratings).

Yes.

>At a certain point, Zope tries to *unpickle* these objects: being them 
>instances of a non-existing class, this unpickling generates the 
>deathful error

Yes.

>and zope restart

Usually, not.

>So my question is: if my reasoning is correct,

Partially.

is it possible save all 
>the data pickled in my ZPhotoSlides objects (waiting a future release), 
>avoiding the current autorestarting error???

You can make a backup copy of your storage and then delete the
old galleries (you will see exceptions in your logfile).

You can only get out the objects in a meaningful way, when you
have a working "ZPhotoSlides" product installed.

-- 
Dieter


More information about the Zope mailing list