[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