[Zope-dev] cPickleCache endless loop...
Chris McDonough
chrism at plope.com
Fri Jan 23 10:31:59 EST 2004
Defining __del__ on a persistent object has unknown effects, FWIW. A
persistent object's __del__ method may be called many times during its
lifetime. See
http://zope.org/Wikis/ZODB/FrontPage/guide/node3.html#SECTION000360000000000000000 for more info.
- C
On Fri, 2004-01-23 at 09:55, Mario Lorenz wrote:
> Hello,
>
> we have spent most of the day tracking down obscure
> hangs of Zope (2.6.4rc1) under python2.1.3 on a RHEL3
> machine.
>
> The problem seems to be a logic flaw somewhere related
> to the cPickleCache, when using a destructor in a Zope
> object that accesses itself.
>
> In our case(shortened to the offending line):
>
> def __del__(self):
> print "About to destroy: ", self.id
>
> What seems to happen is that the "self.id" access causes
> the object to be cached again, causing scan_gc_items()
> to run in circles.
>
> Any ideas on how to best fix this?
>
> Mario
More information about the Zope-Dev
mailing list