[PyQt] Next Releases of PyQt and SIP

Hans-Peter Jansen hpj at urpla.net
Fri Oct 16 11:27:38 BST 2009


Am Freitag 16 Oktober 2009 schrieb Phil Thompson:
> All outstanding bug reports against PyQt and SIP have been resolved - if
> you disagree then let me know.

Unfortunately, I've crashed eric again with current snapshots as available 
on: 

http://download.opensuse.org/repositories/home:/frispete:/branches:/KDE:/KDE4:/Factory:/Desktop/

To be exact, it's sip-4.9.1-snapshot-20091014.tar.gz + yesterdays fix,
PyQt-x11-gpl-4.6.1-snapshot-20091014.tar.gz, eric 4.3.8, and pysvn 1.7.0.
The whole suite is build against Qt-4.5.3 now. 

Again, I've committed a newly added directory (8 binary files with a total of 
6kb) in a small project. On the commit confirmation dialog, I hit close 
immediately, when it turned enabled, which triggers the crash. This is pretty
reliably reproducible that way. 

Starting program: /usr/bin/python /usr/lib/python2.6/site-packages/eric4/eric4.py
[Thread debugging using libthread_db enabled]
[New Thread 0xb3a2ab90 (LWP 27336)]
[New Thread 0xb320fb90 (LWP 27365)]
[New Thread 0xb2a0eb90 (LWP 27366)]
[New Thread 0xb220db90 (LWP 27367)]
[Thread 0xb220db90 (LWP 27367) exited]
[Thread 0xb2a0eb90 (LWP 27366) exited]
[New Thread 0xb220db90 (LWP 27373)]
[New Thread 0xb2a0eb90 (LWP 27374)]
[Thread 0xb2a0eb90 (LWP 27374) exited]
[Thread 0xb220db90 (LWP 27373) exited]
[New Thread 0xb2a0eb90 (LWP 27375)]
[Thread 0xb2a0eb90 (LWP 27375) exited]
[New Thread 0xb2a0eb90 (LWP 27376)]
[Thread 0xb2a0eb90 (LWP 27376) exited]
[New Thread 0xb2a0eb90 (LWP 27377)]

Program received signal SIGSEGV, Segmentation fault.
0xb7885585 in QCoreApplication::postEvent(QObject*, QEvent*, int) () from /usr/lib/libQtCore.so.4
(gdb) bt
#0  0xb7885585 in QCoreApplication::postEvent(QObject*, QEvent*, int) () from /usr/lib/libQtCore.so.4
#1  0xb788586c in QCoreApplication::postEvent(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#2  0xb7895127 in QObject::deleteLater() () from /usr/lib/libQtCore.so.4
#3  0xb7b1cf70 in PyQtProxy::unislot (this=0xaa21bf8, qargs=0xa9ee398) at qpycore_pyqtproxy.cpp:384
#4  0xb7b1d085 in PyQtProxy::qt_metacall (this=0xaa21bf8, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xa9ee398)
    at qpycore_pyqtproxy.cpp:344
#5  0xb789aee8 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
#6  0xb7b23174 in qpycore_emit (qtx=0xaa21a88, signal_index=5, parsed_signature=0xb3b5460, sigargs=0xb7c5602c)
    at qpycore_sip_helpers.cpp:422
#7  0xb7b23b28 in qpycore_qobject_emit (qtx=0xaa21a88, sig=0x8303e1c "2accepted()", sigargs=0xb7c5602c)
    at qpycore_sip_helpers.cpp:358
#8  0xb7b0b33b in meth_QObject_emit (sipSelf=0xaad65ac, sipArgs=0x831146c) at sip/QtCore/qobject.sip:409
#9  0xb7ea4875 in PyCFunction_Call (func=0x82fb2ac, arg=0x831146c, kw=0x0) at Objects/methodobject.c:81
#10 0xb7ef7485 in PyEval_EvalFrameEx (f=0xb3180fc, throwflag=0) at Python/ceval.c:3679
#11 0xb7efcb9b in PyEval_EvalCodeEx (co=0xa39b458, globals=0xa320b54, locals=0x0, args=0x8311498, argcount=1, kws=0x0, 
    kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2942
#12 0xb7e91a29 in function_call (func=0xa39aa04, arg=0x831148c, kw=0x0) at Objects/funcobject.c:524
#13 0xb7e6cc1c in PyObject_Call (func=0xa39aa04, arg=0x831148c, kw=0x0) at Objects/abstract.c:2487
#14 0xb7e7a9fe in instancemethod_call (func=0xa39aa04, arg=0x831148c, kw=0x0) at Objects/classobject.c:2579
#15 0xb7e6cc1c in PyObject_Call (func=0xa37557c, arg=0xb7c5602c, kw=0x0) at Objects/abstract.c:2487
#16 0xb7ef574f in PyEval_CallObjectWithKeywords (func=0xa37557c, arg=0xb7c5602c, kw=0x0) at Python/ceval.c:3548
#17 0xb79a86cf in sip_api_invoke_slot (slot=0xaa1ba64, sigargs=0xb7c5602c) at qtlib.c:191
#18 0xb7b1ce5b in PyQtProxy::invokeSlot (slot=@0xaa1ba64, qargs=0xbfffc1d8) at qpycore_pyqtproxy.cpp:426
#19 0xb7b1cf55 in PyQtProxy::unislot (this=0xaa1ba48, qargs=0xbfffc1d8) at qpycore_pyqtproxy.cpp:379
#20 0xb7b1d085 in PyQtProxy::qt_metacall (this=0xaa1ba48, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbfffc1d8)
    at qpycore_pyqtproxy.cpp:344
#21 0xb789aee8 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
#22 0xb789bb72 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#23 0xb6627ed7 in QDialogButtonBox::accepted() () from /usr/lib/libQtGui.so.4
#24 0xb6628168 in ?? () from /usr/lib/libQtGui.so.4
#25 0xb662a086 in QDialogButtonBox::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libQtGui.so.4
#26 0xb712907a in sipQDialogButtonBox::qt_metacall (this=0xaa14030, _c=QMetaObject::InvokeMetaMethod, _id=31, 
    _a=0xbfffc39c) at sipQtGuiQDialogButtonBox.cpp:386
#27 0xb789aee8 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
#28 0xb789b320 in QMetaObject::activate(QObject*, QMetaObject const*, int, int, void**) () from /usr/lib/libQtCore.so.4
#29 0xb68ccb71 in QAbstractButton::clicked(bool) () from /usr/lib/libQtGui.so.4
#30 0xb65f4459 in ?? () from /usr/lib/libQtGui.so.4
#31 0xb65f6054 in ?? () from /usr/lib/libQtGui.so.4
#32 0xb65f62e6 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#33 0xb62b3363 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#34 0xb65f42fe in QAbstractButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#35 0xb669edc0 in QPushButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#36 0xb625c76c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#37 0xb62653d1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#38 0xb71b65fe in sipQApplication::notify (this=0x82c0de8, a0=0xaa10180, a1=0xbfffc978) at sipQtGuiQApplication.cpp:309
---Type <return> to continue, or q <return> to quit---
#39 0xb78858fb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#40 0xb626443e in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QW
idget>&) () from /usr/lib/libQtGui.so.4
#41 0xb62d4696 in ?? () from /usr/lib/libQtGui.so.4
#42 0xb62d3a6d in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#43 0xb62fd5ca in ?? () from /usr/lib/libQtGui.so.4
#44 0xb76ad9c8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#45 0xb76b1083 in ?? () from /usr/lib/libglib-2.0.so.0
#46 0xb76b1241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#47 0xb78b1071 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQtCore.so.4
#48 0xb62fccc5 in ?? () from /usr/lib/libQtGui.so.4
#49 0xb7883f1a in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#50 0xb7884362 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#51 0xb7886809 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#52 0xb625c5e7 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#53 0xb71b748d in meth_QApplication_exec_ (sipArgs=0xb7c5602c) at sipQtGuiQApplication.cpp:2321
#54 0xb7ea4875 in PyCFunction_Call (func=0xa32bf4c, arg=0xb7c5602c, kw=0x0) at Objects/methodobject.c:81
#55 0xb7ef7485 in PyEval_EvalFrameEx (f=0x82bf8b4, throwflag=0) at Python/ceval.c:3679
#56 0xb7ef723d in PyEval_EvalFrameEx (f=0x80b02c4, throwflag=0) at Python/ceval.c:3765
#57 0xb7efcd7f in PyEval_EvalCodeEx (co=0xb7c3c410, globals=0xb7c7a02c, locals=0xb7c7a02c, args=0x0, argcount=0, 
    kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2942
#58 0xb7ef4c73 in PyEval_EvalCode (co=0xb7c3c410, globals=0xb7c7a02c, locals=0xb7c7a02c) at Python/ceval.c:515
#59 0xb7f16adc in run_mod (mod=<value optimized out>, filename=<value optimized out>, globals=0xb7c7a02c, 
    locals=0xb7c7a02c, flags=0xbfffeb88, arena=0x8091888) at Python/pythonrun.c:1330
#60 0xb7f16b9b in PyRun_FileExFlags (fp=0x805ecf0, 
    filename=0xbfffef2e "/usr/lib/python2.6/site-packages/eric4/eric4.py", start=257, globals=0xb7c7a02c, 
    locals=0xb7c7a02c, closeit=1, flags=0xbfffeb88) at Python/pythonrun.c:1316
#61 0xb7f1758f in PyRun_SimpleFileExFlags (fp=0x805ecf0, 
    filename=0xbfffef2e "/usr/lib/python2.6/site-packages/eric4/eric4.py", closeit=1, flags=0xbfffeb88)
    at Python/pythonrun.c:926
#62 0xb7f17818 in PyRun_AnyFileExFlags (fp=0x805ecf0, 
    filename=0xbfffef2e "/usr/lib/python2.6/site-packages/eric4/eric4.py", closeit=1, flags=0xbfffeb88)
    at Python/pythonrun.c:731
#63 0xb7f23e12 in Py_Main (argc=1, argv=0xbfffec54) at Modules/main.c:597
#64 0x08048692 in main (argc=178396272, argv=0x3) at Modules/python.c:23
(gdb) 

On the plus side, I can confirm, that the new approach to fix 
sipForceConvertToType for mapped types is still functional and the latest 
monkey patch test case from Adeodato appears to behave as before sip-4.9.

Pete


More information about the PyQt mailing list