Something on my back

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.

5 Replies to “Something on my back”

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

  2. 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 :)

Comments are closed.