[PyQt] segfault, from qt or pyqt?

Hans-Peter Jansen hpj at urpla.net
Wed Dec 15 12:55:48 GMT 2010


On Wednesday 15 December 2010, 12:16:23 Jimmy Hairy wrote:
> Hello,
>
> I experience somewhat random segfaults when running my program. I ran
> python with gdb and get a backtrace but I don't know what to do now.
> I can't even decide which of Qt or PyQt is the culprit. My system:
> Debian sid, with packages python2.6-dbg (2.6.6-6), python-qt4-dbg
> (4.7.3-1+b1), libqt4-dbg (4:4.6.3-4) (maybe the problem is simply
> because pyqt and qt versions mismatch on my system)

No, Qt and PyQt versions are expected to mismatch, as long as the PyQt 
version is greater than the Qt version.. 

> Despite the 
> "-dbg" packages installed, there are still a few "??" in the trace.

Your backtrace suffers from a libqt4 vs. libqt4-dbg mismatch, that 
renders it somewhat useless.. Please fix and repost.

Pete

> The (big) backtrace:
>
> (gdb) bt
> #0  0x00000012 in ?? ()
> #1  0xb69337d9 in QMetaObject::cast (this=0xb625cfe4, obj=0x8998440)
>     at kernel/qmetaobject.cpp:266
> #2  0xb61fb816 in ?? () from
> /usr/lib/pymodules/python2.6/PyQt4/QtCore.so #3  0xb61fb945 in ?? ()
> from /usr/lib/pymodules/python2.6/PyQt4/QtCore.so #4  0xb69337aa in
> QMetaObject::metacall (object=0x898b798,
>     cl=QMetaObject::InvokeMetaMethod, idx=5, argv=0x8a321a8)
>     at kernel/qmetaobject.cpp:237
> #5  0xb693dd36 in QMetaCallEvent::placeMetaCall (this=0x8998770,
> object= 0x898b798) at kernel/qobject.cpp:561
> #6  0xb693edfe in QObject::event (this=0x898b798, e=0x8998770)
>     at kernel/qobject.cpp:1248
> #7  0xb6b9e5cc in QApplicationPrivate::notify_helper (this=0x8480a10,
> receiver= 0x898b798, e=0x8998770) at kernel/qapplication.cpp:4302
> #8  0xb6ba515e in QApplication::notify (this=0x850c080,
> receiver=0x898b798, e= 0x8998770) at kernel/qapplication.cpp:3706
> #9  0xb78a320f in ?? () from
> /usr/lib/pymodules/python2.6/PyQt4/QtGui.so #10 0xb692e4cb in
> QCoreApplication::notifyInternal (this=0x850c080, receiver=
> 0x898b798, event=0x8998770) at kernel/qcoreapplication.cpp:726 #11
> 0xb6931f2c in sendEvent (receiver=0x0, event_type=0, data=0x82ccfe0)
> at
> ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
> #12 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0,
> event_type=0, data=0x82ccfe0) at kernel/qcoreapplication.cpp:1367
> ---Type <return> to continue, or q <return> to quit---
> #13 0xb69320ad in QCoreApplication::sendPostedEvents (receiver=0x0,
>     event_type=0) at kernel/qcoreapplication.cpp:1260
> #14 0xb695a57f in sendPostedEvents (s=0x836fa10)
>     at
> ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
> #15 postEventSourceDispatch (s=0x836fa10)
>     at kernel/qeventdispatcher_glib.cpp:276
> #16 0xb65dc305 in g_main_context_dispatch () from
> /lib/libglib-2.0.so.0 #17 0xb65dffe8 in ?? () from
> /lib/libglib-2.0.so.0
> #18 0xb65e01c8 in g_main_context_iteration () from
> /lib/libglib-2.0.so.0 #19 0xb695a075 in
> QEventDispatcherGlib::processEvents (this=0x829aba8, flags=...) at
> kernel/qeventdispatcher_glib.cpp:412
> #20 0xb6c5ced5 in QGuiEventDispatcherGlib::processEvents
> (this=0x829aba8, flags=...) at
> kernel/qguieventdispatcher_glib.cpp:204
> #21 0xb692cae9 in QEventLoop::processEvents (this=0xbfffef84,
> flags=DWARF-2 expression error: DW_OP_reg operations must be used
> either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece. )
>     at kernel/qeventloop.cpp:149
> #22 0xb692cf3a in QEventLoop::exec (this=0xbfffef84, flags=...)
>     at kernel/qeventloop.cpp:201
> #23 0xb693216f in QCoreApplication::exec () at
> kernel/qcoreapplication.cpp:1003 #24 0xb6b9e667 in QApplication::exec
> () at kernel/qapplication.cpp:3581 #25 0xb78a3da8 in ?? () from
> /usr/lib/pymodules/python2.6/PyQt4/QtGui.so #26 0x080e0721 in
> call_function (f=
>     Frame 0x82e7ffc, for file prog/guis/tags4/app.py, line 115, in
> <module> (), throwflag=0) at ../Python/ceval.c:3750 ---Type <return>
> to continue, or q <return> to quit---
> #27 PyEval_EvalFrameEx (f=
>     Frame 0x82e7ffc, for file prog/guis/tags4/app.py, line 115, in
> <module> (), throwflag=0) at ../Python/ceval.c:2412 #28 0x080e2507 in
> PyEval_EvalCodeEx (co=0xb7c2f698, globals= {'QAbstractButton':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x8372294>, 'QSizePolicy':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83eedbc>, 'qFatal':
> <built-in function qFatal>, 'QMatrix3x4':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dda44>, 'QMatrix3x3':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dd6d4>, 'QMatrix3x2':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dd364>,
> 'QGraphicsColorizeEffect': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x838b034>, 'qRound64': <built-in function qRound64>, 'QSizeGrip':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83eebd4>,
> 'QStyleOptionComboBox': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x83f70cc>, 'QX11Info': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x841fcdc>, 'QAbstractSpinBox': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x8375d44>, 'QTreeView': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x838462c>, 'qFuzzyCompare': <built-in function
> qFuzzyCompare>, 'QFontComboBox': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x8385e34>, 'QGraphicsTextItem': <PyQt4
> .QtCore.pyqtWrapperType at remote 0x83...(truncated), locals=
> {'QAbstractButton': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x8372294>, 'QSizePolicy': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x83eedbc>, 'qFatal': <built-in function qFatal>, 'QMatrix3x4':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dda44>, 'QMatrix3x3':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dd6d4>, 'QMatrix3x2':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dd364>,
> 'QGraphicsColorizeEff---Type <return> to continue, or q <return> to
> quit--- ect': <PyQt4.QtCore.pyqtWrapperType at remote 0x838b034>,
> 'qRound64': <built-in function qRound64>, 'QSizeGrip':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83eebd4>,
> 'QStyleOptionComboBox': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x83f70cc>, 'QX11Info': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x841fcdc>, 'QAbstractSpinBox': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x8375d44>, 'QTreeView': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x838462c>, 'qFuzzyCompare': <built-in function
> qFuzzyCompare>, 'QFontComboBox': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x8385e34>, 'QGraphicsTextItem': <PyQt4.QtCore.pyqtWrapperType
> at remote 0x83...(truncated), args=0x0, argcount=0, kws=0x0,
> kwcount=0, defs=0x0, defcount=0, closure= 0x0) at
> ../Python/ceval.c:3000
> #29 0x080e2607 in PyEval_EvalCode (co=0xb7c2f698, globals=
>     {'QAbstractButton': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x8372294>, 'QSizePolicy': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x83eedbc>, 'qFatal': <built-in function qFatal>, 'QMatrix3x4':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dda44>, 'QMatrix3x3':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dd6d4>, 'QMatrix3x2':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dd364>,
> 'QGraphicsColorizeEffect': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x838b034>, 'qRound64': <built-in function qRound64>, 'QSizeGrip':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83eebd4>,
> 'QStyleOptionComboBox': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x83f70cc>, 'QX11Info': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x841fcdc>, 'QAbstractSpinBox': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x8375d44>, 'QTreeView': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x838462c>, 'qFuzzyCompare': <built-in function
> qFuzzyCompare>, 'QFontComboBox': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x8385e34---Type <return> to continue, or q <return> to
> quit---
>
> >, 'QGraphicsTextItem': <PyQt4.QtCore.pyqtWrapperType at remote
> > 0x83...(truncated), locals=
>
>     {'QAbstractButton': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x8372294>, 'QSizePolicy': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x83eedbc>, 'qFatal': <built-in function qFatal>, 'QMatrix3x4':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dda44>, 'QMatrix3x3':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dd6d4>, 'QMatrix3x2':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dd364>,
> 'QGraphicsColorizeEffect': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x838b034>, 'qRound64': <built-in function qRound64>, 'QSizeGrip':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83eebd4>,
> 'QStyleOptionComboBox': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x83f70cc>, 'QX11Info': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x841fcdc>, 'QAbstractSpinBox': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x8375d44>, 'QTreeView': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x838462c>, 'qFuzzyCompare': <built-in function
> qFuzzyCompare>, 'QFontComboBox': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x8385e34>, 'QGraphicsTextItem': <PyQt4
> .QtCore.pyqtWrapperType at remote 0x83...(truncated)) at
> ../Python/ceval.c:541 #30 0x080ffcbd in run_mod (fp=0x82a1018,
> filename=
>     0xbffff5e6 "prog/guis/tags4/app.py", start=257, globals=
>     {'QAbstractButton': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x8372294>, 'QSizePolicy': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x83eedbc>, 'qFatal': <built-in function qFatal>, 'QMatrix3x4':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dda44>, 'QMatrix3x3':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dd6d4>, 'QMatrix3x2':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dd364>,
> 'QGraphicsColorizeEff---Type <return> to continue, or q <return> to
> quit--- ect': <PyQt4.QtCore.pyqtWrapperType at remote 0x838b034>,
> 'qRound64': <built-in function qRound64>, 'QSizeGrip':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83eebd4>,
> 'QStyleOptionComboBox': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x83f70cc>, 'QX11Info': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x841fcdc>, 'QAbstractSpinBox': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x8375d44>, 'QTreeView': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x838462c>, 'qFuzzyCompare': <built-in function
> qFuzzyCompare>, 'QFontComboBox': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x8385e34>, 'QGraphicsTextItem': <PyQt4.QtCore.pyqtWrapperType
> at remote 0x83...(truncated), locals= {'QAbstractButton':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x8372294>, 'QSizePolicy':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83eedbc>, 'qFatal':
> <built-in function qFatal>, 'QMatrix3x4':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dda44>, 'QMatrix3x3':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dd6d4>, 'QMatrix3x2':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dd364>,
> 'QGraphicsColorizeEffect': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x838b034>, 'qRound64': <built-in function qRound64>, 'QSizeGrip':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83eebd4>,
> 'QStyleOptionComboBox': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x83f70cc>, 'QX11Info': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x841fcdc>, 'QAbstractSpinBox': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x8375d44>, 'QTreeView': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x838462c>, 'qFuzzyCompare': <built-in function
> qFuzzyCompare>, 'QFontComboBox': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x8385e34>, 'QGraphicsTextItem': <PyQt4
> .QtCore.pyqtWrapperType at remote 0x83...(truncated), closeit=1,
> flags=0xbffff36c) at ../Python/pythonrun.c:1351 ---Type <return> to
> continue, or q <return> to quit---
> #31 PyRun_FileExFlags (fp=0x82a1018, filename=
>     0xbffff5e6 "prog/guis/tags4/app.py", start=257, globals=
>     {'QAbstractButton': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x8372294>, 'QSizePolicy': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x83eedbc>, 'qFatal': <built-in function qFatal>, 'QMatrix3x4':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dda44>, 'QMatrix3x3':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dd6d4>, 'QMatrix3x2':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dd364>,
> 'QGraphicsColorizeEffect': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x838b034>, 'qRound64': <built-in function qRound64>, 'QSizeGrip':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83eebd4>,
> 'QStyleOptionComboBox': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x83f70cc>, 'QX11Info': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x841fcdc>, 'QAbstractSpinBox': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x8375d44>, 'QTreeView': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x838462c>, 'qFuzzyCompare': <built-in function
> qFuzzyCompare>, 'QFontComboBox': <PyQt4.QtCore.pyqtWrapperType at
> remote 0x8385e34>, 'QGraphicsTextItem': <PyQt4
> .QtCore.pyqtWrapperType at remote 0x83...(truncated), locals=
> {'QAbstractButton': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x8372294>, 'QSizePolicy': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x83eedbc>, 'qFatal': <built-in function qFatal>, 'QMatrix3x4':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dda44>, 'QMatrix3x3':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dd6d4>, 'QMatrix3x2':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83dd364>,
> 'QGraphicsColorizeEffect': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x838b034>, 'qRound64': <built-in function qRound64>, 'QSizeGrip':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83eeb---Type <return> to
> continue, or q <return> to quit--- d4>, 'QStyleOptionComboBox':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x83f70cc>, 'QX11Info':
> <PyQt4.QtCore.pyqtWrapperType at remote 0x841fcdc>,
> 'QAbstractSpinBox': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x8375d44>, 'QTreeView': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x838462c>, 'qFuzzyCompare': <built-in function qFuzzyCompare>,
> 'QFontComboBox': <PyQt4.QtCore.pyqtWrapperType at remote 0x8385e34>,
> 'QGraphicsTextItem': <PyQt4.QtCore.pyqtWrapperType at remote
> 0x83...(truncated), closeit=1, flags=0xbffff36c) at
> ../Python/pythonrun.c:1337 #32 0x080fff22 in PyRun_SimpleFileExFlags
> (fp=0x82a1018, filename= 0xbffff5e6 "prog/guis/tags4/app.py",
> closeit=1, flags=0xbffff36c) at ../Python/pythonrun.c:941
> #33 0x0805dd81 in Py_Main (argc=6, argv=0xbffff454) at
> ../Modules/main.c:577 #34 0x0805cf6b in main (argc=6,
> argv=0xbffff454) at ../Modules/python.c:23 (gdb)


More information about the PyQt mailing list