[ZPatterns] DynPersist doesn't like Python2.2.x + Zope Trunk

Steve Alexander steve@cat-box.net
Wed, 16 Oct 2002 12:09:59 +0000


Hi folks,

I just tried upgrading a Zope server to the current Zope Trunk along 
with Python 2.2.2. The Zope server was already working just fine with 
Zope 2.5.something and Python 2.2.1.

Everything works fine except for classes derived from DataSkin in the 
ZPatterns product. Whenever such an object is accessed, Zope dies, 
attempts to restart itself, but can't as some stuck process still holds 
the database file open.

The specific problem is with the C extension DynPersist.c. When I remove 
this from the list of base-classes of DataSkin.py, things work properly 
(except that the ZPatterns features will no longer work, of course.)

I really don't know what's wrong here. I recompiled DynPersist.c against 
  Python 2.2.2 and the Zope ZODB/Persistent libraries.

I'm tempted just to rewrite DataSkin.py as pure Python, and get rid of 
DynPersist altogether -- it was only really needed when the ZODB didn't 
let persistent classes implement __getattr__ and __setattr__.


Can anyone suggest any changes to Persistence that might cause a problem 
like this?

Thanks.

--
Steve Alexander