On Fri, Sep 17, 2010 at 6:15 PM, Jim Fulton <j...@zope.com> wrote:
> I suspect that the shenanigans played by the ZODB persistent cache
> implementation is running afoul of some changes in the garbage
> collection implementation in Python 2.7.
My suspicion was correct. :)
> See https://bugs.launchpad.net/zodb/+bug/641481
> The person reporting this was running a Python compiled in debug mode.
> This will sometimes detect subtle memory management bugs not detected
> with a normal build. ZODB's tests pass with a normal Python 2.7 build
> and with a debug Python 2.6 build.
> I've tracked one source of crash in a debug build to the cache's
> attempts to manage weak references to ghosts. Even hacking around
> this, there are other crashes that, I assume, are related. :(
> I'll dig further, but I strongly suspect that moving to Python 2.7
> will require a cache reimplementation that uses real Python weak
> references. This won't happen in ZODB 3.10.
Fortunately, the fix didn't require it.
> If there is anyone on this list who has knowledge of Python GC
> internals, I'd love to get some help. :)
Thanks to Tim Peters for helping me figure out the fix.
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -