extra_ivars assersion failure

B

Ben Liblit

I'm having trouble subclassing a class from an extension module. When
Python processes my subclass definition, and before any instances are
created, it aborts with:

python: Objects/typeobject.c:872: extra_ivars:
Assertion `t_size >= b_size' failed.

The extension module is trying to coordinate no less than three different
object systems (GObject, CORBA, Python). Let me back up and explain
what's going on in there.

In the world of the GTK+ GObject system, I've got a GObject subclass.
(It's actually a subclass of BonoboObject, which in turn derives from
GObject.) I can write C code that instantiates this GObject-derived class
and all is well.

I'm wrapping these GObject instances inside Python objects using h2def.py
and pygtk-codegen-2.0. The ".defs" file looks good: there's a
define-object construct with the right class name and parent class name.
The constructor is detected and wrapped correctly. In the ".override"
file I "import bonobo_Object as PyBonoboObject_Type", and everything
builds smoothly. I can write Python code that instantiates this wrapper
class and all is well.

What I cannot do is subclass this wrapper class in Python code. When I
try to, I get the diagnostic message reported earlier:

python: Objects/typeobject.c:872: extra_ivars: Assertion `t_size >=
b_size' failed.

Does anyone know what deeper problem this message is symptomatic of? What
am I doing wrong in my extension module that would allow it to work
correctly when the wrapper class is instantiated directly, but which would
cause this error when a subclass of the wrapper class is defined?

[I originally posted this message to the pygtk mailing list, as it
involves a number of their supporting tools. Folks on that list suggested
that I try asking in this forum instead.]

Thanks!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,015
Latest member
AmbrosePal

Latest Threads

Top