Hi,
I suffer from a 100% reproducible crash on eric shutdown. All it takes is
running eric, load a file, split the view "New view (with new split)" via
context menu, and quit.
Since neither Phil Thompson nor Detlev Offenbach is able to reproduce
this, it's probably due to the Qt/KDE integration.
The offending line is this:
painting/qwindowsurface_x11.cpp:84
84 XFreeGC(X11->display, gc);
I guess, it's X11 being NULL at that time. For PyQt, it's nearly impossible
to control the order of d'tors during tear down due to the Python garbage
collector behavior. Would it be enough to check for X11 != NULL at this
point?
Would such a check be accepted from openSUSE Qt4 maintainers, if it's
successfully avoiding this crash? Could other reasons influence this
behavior?
My environment: openSUSE 11.1 (all packages from build service)
qscintilla-2.4
qt4-4.5.3
python-sip-4.10
python-qt4-4.7
eric-4.4.1
TIA,
Pete
Application: eric4 (eric4.py), signal: Segmentation fault
[Current thread is 1 (Thread 0xb74276c0 (LWP 25102))]
Thread 2 (Thread 0xafdffb90 (LWP 25121)):
#0 0xb6c5cebc in operator delete (ptr=0xad228430) at ../../../../libstdc++-v3/libsupc++/del_op.cc:49
#1 0xb56eac6d in QList<QPair<unsigned int, unsigned int> >::free(QListData::Data*) () from /usr/lib/libqscintilla2.so.5
#2 0xb56e74f7 in QsciAPIsWorker::run() () from /usr/lib/libqscintilla2.so.5
#3 0xb6f13592 in QThreadPrivate::start (arg=0x99050d0) at thread/qthread_unix.cpp:188
#4 0xb75bd1b5 in start_thread (arg=0xafdffb90) at pthread_create.c:297
#5 0xb74f93ae in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Thread 1 (Thread 0xb74276c0 (LWP 25102)):
[KCrash Handler]
#6 0xb5d7cb22 in ~QX11WindowSurface (this=0xa6c4578) at painting/qwindowsurface_x11.cpp:84
#7 0xb5d75a46 in ~QWidgetBackingStore (this=0x83d28a8) at painting/qbackingstore.cpp:832
#8 0xb5bd6346 in QWidgetPrivate::deleteExtra (this=0xa601730) at kernel/qwidget.cpp:1503
#9 0xb5bd6b25 in ~QWidgetPrivate (this=0xa601730) at kernel/qwidget.cpp:227
#10 0xb5fc16da in ~QMenuPrivate (this=0xa601730) at widgets/qmenu_p.h:151
#11 0xb701e531 in ~QObject (this=0xa6016e0) at kernel/qobject.cpp:857
#12 0xb5bdc7bf in ~QWidget (this=0xa6016e0) at kernel/qwidget.cpp:1380
#13 0xb5fb6750 in ~QMenu (this=0xa6016e0) at widgets/qmenu.cpp:1380
#14 0xb678e62c in ~sipQMenu (this=0xa6016e0) at sipQtGuiQMenu.cpp:311
#15 0xb6789180 in release_QMenu (sipCppV=0xa6016e0, sipState=262) at sipQtGuiQMenu.cpp:2777
#16 0xb67891d7 in dealloc_QMenu (sipSelf=0x19) at sipQtGuiQMenu.cpp:2791
#17 0xb7121a9b in forgetObject () from /usr/lib/python2.6/site-packages/sip.so
#18 0xb7121ad1 in sipWrapper_dealloc () from /usr/lib/python2.6/site-packages/sip.so
#19 0xb764f65d in subtype_dealloc (self=0xa5056ac) at Objects/typeobject.c:1018
#20 0xb76326c1 in dict_dealloc (mp=0xa4b5934) at Objects/dictobject.c:911
#21 0xb711fa7b in sipSimpleWrapper_clear () from /usr/lib/python2.6/site-packages/sip.so
#22 0xb712034f in sipWrapper_clear () from /usr/lib/python2.6/site-packages/sip.so
#23 0xb7650ed2 in subtype_clear (self=0xa4f3eec) at Objects/typeobject.c:893
#24 0xb76b5fb6 in collect (generation=2) at Modules/gcmodule.c:714
#25 0xb76b6582 in PyGC_Collect () at Modules/gcmodule.c:1289
#26 0xb76a7db2 in Py_Finalize () at Python/pythonrun.c:420
#27 0xb76a7f47 in Py_Exit (sts=0) at Python/pythonrun.c:1689
#28 0xb76a8060 in handle_system_exit () at Python/pythonrun.c:1111
#29 0xb76a80ed in PyErr_PrintEx (set_sys_last_vars=1) at Python/pythonrun.c:1121
#30 0xb76a83fe in PyErr_Print () at Python/pythonrun.c:1030
#31 0xb76a859e in PyRun_SimpleFileExFlags (fp=0xbfc14f36, filename=0xbfc14f36 "/usr/lib/python2.6/site-packages/eric4/eric4.py", closeit=1,
flags=0xbfc13438) at Python/pythonrun.c:930
#32 0xb76a8818 in PyRun_AnyFileExFlags (fp=0x805ecd8, filename=0xbfc14f36 "/usr/lib/python2.6/site-packages/eric4/eric4.py", closeit=1,
flags=0xbfc13438) at Python/pythonrun.c:731
#33 0xb76b4e12 in Py_Main (argc=1, argv=0xbfc13504) at Modules/main.c:597
#34 0x08048692 in main (argc=) at Modules/python.c:23
--
To unsubscribe, e-mail: opensuse-kde+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-kde+help(a)opensuse.org