[PyQt] PyQt snapshot crash on Qt5.4 with bogus QGraphicsVideoItem instance

lloyd konneker bootch at nc.rr.com
Wed Dec 17 14:03:38 GMT 2014


I'm trying to compile my app with Qt5.4.  Using the PyQt snapshot of two 
days ago OR PyQt5.3.2 my app crashes on both Linux and OSX. Very 
mysteriously: print statements show certain objects as being of class 
QtGraphicsVideoItem, but I don't use those classes and my app created 
the object instance as another class.

Maybe QML is using QtGraphicsVideoItem?  I am in progress of changing my 
app to use QML for the view, but I can switch back and forth between QML 
and QWidget gui's and both crash (although maybe I am not cleanly 
omitting QML imports for the QWidget implementation?)

Using gdb on Ubuntu14.04,  Python3.4 I get:

Program received signal SIGSEGV, Segmentation fault.
0xb795567f in qpycore_qobject_getattr(QObject const*, _object*, char 
const*) ()
    from /usr/lib/python3.4/site-packages/PyQt5/QtCore.so
(gdb) bt
#0  0xb795567f in qpycore_qobject_getattr(QObject const*, _object*, char 
const*) ()
    from /usr/lib/python3.4/site-packages/PyQt5/QtCore.so
#1  0xb7861652 in meth_QObject___getattr__ () from 
/usr/lib/python3.4/site-packages/PyQt5/QtCore.so
#2  0x081574b3 in PyObject_Call ()
#3  0x080bf175 in PyObject_CallFunctionObjArgs ()
#4  0x080f89c9 in ?? ()
#5  0x0818adcd in PyEval_EvalFrameEx ()
#6  0x0818ec42 in PyEval_EvalFrameEx ()
#7  0x0818ec42 in PyEval_EvalFrameEx ()

Which I interpret to mean that it is trying to access an attribute of an 
object of a certain class, but the object is not really of that class 
(prints as QGraphicsVideoItem but my app created it as another class.)

I don't have a small example, it seems like memory corruption somewhere, 
I don't think a small example would exhibit.

I suppose I should make gdb camp on the data (instance) that is 
mysteriously morphing, but I don't have experience with that in a PyQt 
context.


More information about the PyQt mailing list