[PyQt] PyQt snapshot crash on Qt5.4 with bogus QGraphicsVideoItem instance
Phil Thompson
phil at riverbankcomputing.com
Wed Dec 17 14:41:37 GMT 2014
On 17/12/2014 2:03 pm, lloyd konneker wrote:
> 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.
Try removing the %ConvertToSubClassCode in qgraphicsvideoitem.sip
Phil
More information about the PyQt
mailing list