[PyKDE] quitting eric segfault on x86_64

Phil Thompson phil at riverbankcomputing.co.uk
Tue Mar 16 19:02:01 GMT 2004


On Tuesday 16 March 2004 10:13, Hans-Peter Jansen wrote:
> Hi,
>
> building sip-3.10.1 and PyQt-3.11 on top of x86_64 (SuSE 9.1 Beta1,
> Python 2.3, Qt-3.3.1) was painlessly easy.
>
> Unfortunately just starting and quitting eric-3.3.1 reveals this segfault:
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x0000002a960594f2 in memcpy () from /lib64/tls/libc.so.6
> (gdb) bt
> #0  0x0000002a960594f2 in memcpy () from /lib64/tls/libc.so.6
> #1  0x0000000000fabd80 in ?? ()
> #2  0x0000002a969d5336 in QSocket::writeBlock () from
> /usr/lib64/libqt-mt.so.3 #3  0x0000002a9a0d4dc7 in sipCast_QDns_MailServer
> ()
>    from /usr/lib64/python2.3/site-packages/libqtnetworkcmodule.so
> #4  0x0000002a956c2b7c in PyCFunction_Call () from
> /usr/lib64/libpython2.3.so.1.0 #5  0x0000002a956f2c84 in eval_frame () from
> /usr/lib64/libpython2.3.so.1.0 #6  0x0000002a956f4223 in eval_frame () from
> /usr/lib64/libpython2.3.so.1.0 #7  0x0000002a956f4223 in eval_frame () from
> /usr/lib64/libpython2.3.so.1.0 #8  0x0000002a956f4223 in eval_frame () from
> /usr/lib64/libpython2.3.so.1.0 #9  0x0000002a956f4223 in eval_frame () from
> /usr/lib64/libpython2.3.so.1.0 #10 0x0000002a956f4945 in PyEval_EvalCodeEx
> () from /usr/lib64/libpython2.3.so.1.0 #11 0x0000002a956b49f5 in
> function_call () from /usr/lib64/libpython2.3.so.1.0 #12 0x0000002a956a06c0
> in PyObject_Call () from /usr/lib64/libpython2.3.so.1.0 #13
> 0x0000002a956a89fd in instancemethod_call () from
> /usr/lib64/libpython2.3.so.1.0 #16 0x0000002a963a57d0 in sipEvalMethod ()
> from /usr/lib64/python2.3/site-packages/libsip.so #17 0x0000002a963a94f7 in
> sipCallMethod () from /usr/lib64/python2.3/site-packages/libsip.so #18
> 0x0000002a982ad633 in sipQWidget::sipVH_closeEvent ()
>    from /usr/lib64/python2.3/site-packages/libqtcmodule.so
> #19 0x0000002a984082fe in sipQMainWindow::closeEvent ()
>    from /usr/lib64/python2.3/site-packages/libqtcmodule.so
> #20 0x0000002a96847e1d in QWidget::event () from /usr/lib64/libqt-mt.so.3
> #21 0x0000002a968f4da5 in QMainWindow::event () from
> /usr/lib64/libqt-mt.so.3 #22 0x0000002a9849dabf in sipQMainWindow::event ()
>    from /usr/lib64/python2.3/site-packages/libqtcmodule.so
> #23 0x0000002a967c2a0d in QApplication::internalNotify () from
> /usr/lib64/libqt-mt.so.3 #24 0x0000002a967c41ae in QApplication::notify ()
> from /usr/lib64/libqt-mt.so.3 #25 0x0000002a982ced03 in
> sipQApplication::notify ()
>    from /usr/lib64/python2.3/site-packages/libqtcmodule.so
> #26 0x0000002a9684a0b4 in QWidget::close () from /usr/lib64/libqt-mt.so.3
> #27 0x0000002a98322e41 in sipQMainWindow::close ()
>    from /usr/lib64/python2.3/site-packages/libqtcmodule.so
> #28 0x0000002a9675ccaf in QETWidget::translateCloseEvent () from
> /usr/lib64/libqt-mt.so.3 #29 0x0000002a96762605 in
> QApplication::x11ClientMessage () from /usr/lib64/libqt-mt.so.3 ---Type
> <return> to continue, or q <return> to quit---
> #30 0x0000002a967681ce in QApplication::x11ProcessEvent () from
> /usr/lib64/libqt-mt.so.3 #31 0x0000002a9677a3e3 in
> QEventLoop::processEvents () from /usr/lib64/libqt-mt.so.3 #32
> 0x0000002a967d7df1 in QEventLoop::enterLoop () from
> /usr/lib64/libqt-mt.so.3 #33 0x0000002a967d7c62 in QEventLoop::exec () from
> /usr/lib64/libqt-mt.so.3 #34 0x0000002a967c40c5 in QApplication::exec ()
> from /usr/lib64/libqt-mt.so.3 #35 0x0000002a9823aef6 in PyQt_qt_ListToArray
> ()
>    from /usr/lib64/python2.3/site-packages/libqtcmodule.so
> #36 0x0000002a956c2b7c in PyCFunction_Call () from
> /usr/lib64/libpython2.3.so.1.0 #37 0x0000002a956f2c84 in eval_frame () from
> /usr/lib64/libpython2.3.so.1.0 #38 0x0000002a956f4945 in PyEval_EvalCodeEx
> () from /usr/lib64/libpython2.3.so.1.0 #39 0x0000002a956f4c02 in
> PyEval_EvalCode () from /usr/lib64/libpython2.3.so.1.0 #40
> 0x0000002a9570c849 in run_node () from /usr/lib64/libpython2.3.so.1.0 #41
> 0x0000002a9570dd29 in PyRun_SimpleFileExFlags () from
> /usr/lib64/libpython2.3.so.1.0 #42 0x0000002a9570e281 in
> PyRun_AnyFileExFlags () from /usr/lib64/libpython2.3.so.1.0 #43
> 0x0000002a957130f6 in Py_Main () from /usr/lib64/libpython2.3.so.1.0 #44
> 0x00000000004008c9 in main ()
>
> Looks like it crashes deep in the guts of PyQt. Will try to locate
> the offending code now.
>
> Phil, do you have any idea, what's going wrong here?
> References to QDns_MailServer looks really strange at that point.

PyQt assumes Q_LONG is a long (rather than a long long). You could try 
changing the typedefs in qglobal.sip and re-building.

Phil




More information about the PyQt mailing list