dear, all-knowing and all-powerful lazyweb;
what’s the reason why python segfaults ((yes, python segfaults — and it does inside pygobject)) with this error message:
TypeError: Cannot create a consistent method resolution order (MRO) for bases Container, Scriptable
when I’m trying to instantiate a python class inheriting from a C class that implements those two interfaces? just for the record:
- the interfaces have no colliding methods
- the python class is registering a GObject type
- the python class has no colliding method with either interfaces
I can point at the code or, if python-gobject/gtk maintainers are at GUADEC, I can show them right away. you can easily find me: I’m the one swearing at python.
http://www.python.org/download/releases/2.3/mro/
This usually happens if you have a define-object where you should have a define-interface in one of the .defs files. The current h2defs scanner cannot properly recognize interfaces.
hehehe we’re having the exact same problem right now, embedding pyclutter in pygtk ….
Somehow, adding huge sleep calls (like 45s), at random places, sometimes “solves” the problem (that is if you don’t mind waiting 5 minutes for the app to boot :)
@johan: nope – both interfaces are correctly defined.
Sounds like: http://bugzilla.gnome.org/show_bug.cgi?id=538401