Good news: ZODB will work with Python 2.7 (was Re: Heads up: ZODB probably won't work with Python 2.7)

Jim Fulton <[email protected]>
Newsgroups gmane.comp.web.zope.devel
Message-ID <[email protected]>
On Fri, Sep 17, 2010 at 6:15 PM, Jim Fulton <[email protected]> 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

Fixed.

>
> 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.

Jim

-- 
Jim Fulton
_______________________________________________
Zope-Dev maillist  -  [email protected]
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.