[ZODB-Dev] ZODB3-3.1b1

Jeremy Hylton jeremy@alum.mit.edu
Tue, 17 Sep 2002 11:43:14 -0400


Andreas provided a C stack trace that diagnosed the problem exactly.
The cause is a Python 2.2.1 bug that is fixed in CVS but has not been
released yet.  The change is noted here in typeobject.c CVS:

> revision 2.126.4.20
> date: 2002/07/16 19:42:21;  author: jhylton;  state: Exp;  lines: +2 -1
> The object returned by tp_new() may not have a tp_init.
>
> If the object is an ExtensionClass, for example, the slot is not even
> defined.  So we must check that the type has the slot (implied by
> HAVE_CLASS) before calling tp_init().

The only solution for people on affected platforms is to get a Python
2.2.2 release out.  I'll ask about that on python-dev, but it may take
a while unless someone volunteers to help :-(.

Jeremy