[PyQt] Crash in sip_api_is_py_method() with PyQt 4.6

Victor Stinner victor.stinner at haypocalc.com
Wed Oct 14 16:58:02 BST 2009


Le mercredi 14 octobre 2009 16:48:04, Ville M. Vainio a écrit :
> http://pastebin.ca/1619543
> 
> (yes, my -dbg packages are installed - dunny why all the symbols don't
>  match)

I also installed *-dbg packages, but sip4 symbols are missing. It should be a 
bug in the Debian -dbg package. I recompiled the package.

You can try something like:

   sudo apt-get build-dep sip4-qt3
   cd /tmp
   apt-get source sip4-qt3
   cd sip4-qt3-<tab>
   DEB_BUILD_OPTIONS="noopt nostrip" dpkg-buildpackage -us -uc
   cd ..
   dpkg -i sip4*.deb

You traceback is very similar to mine: it also crash on:

   QObject::setParent()
   -> ...
   -> QApplicationPrivate::notify_helper()
   -> ..
   -> sip_api_is_py_method() # your missing symbol, from .../python2.6/sip.so
   -> PyDict_GetItem()

The problem is that the first argument of PyDict_GetItem() is invalid. Try to 
print the object content (eg. in gdb: "print *op->ob_type"), you will see 
invalid pointers.

Try also tonight snapshot, Phil wrote that the bug will be fixed.

-- 
Victor Stinner
http://www.haypocalc.com/



More information about the PyQt mailing list