[PyQt] eric crashes in QX11WindowSurface dtor

detlev detlev at die-offenbachs.de
Mon Feb 22 18:32:53 GMT 2010


On Montag, 22. Februar 2010, Phil Thompson wrote:
> On Fri, 19 Feb 2010 10:00:55 +0100, "Hans-Peter Jansen" <hpj at urpla.net>
> 
> wrote:
> > Hi Phil,
> >
> > I suffer from a 100% reproducible crash on eric shutdown:
> >
> > [when catched with gdb directly:]
> > Program received signal SIGSEGV, Segmentation fault.
> > 0xb65eab22 in ~QX11WindowSurface (this=0xa5d1ba8) at
> > painting/qwindowsurface_x11.cpp:84
> > 84              XFreeGC(X11->display, gc);
> >
> > Application: eric4 (eric4.py), signal: Segmentation fault
> > [KCrash Handler]
> > #6  0xb5d7eb22 in ~QX11WindowSurface (this=0xa7fb648) at
> > painting/qwindowsurface_x11.cpp:84
> > #7  0xb5d77a46 in ~QWidgetBackingStore (this=0xa7e2a18) at
> > painting/qbackingstore.cpp:832
> > #8  0xb5bd8346 in QWidgetPrivate::deleteExtra (this=0xa72cfd0) at
> > kernel/qwidget.cpp:1503
> > #9  0xb5bd8b25 in ~QWidgetPrivate (this=0xa72cfd0) at
> > kernel/qwidget.cpp:227
> > #10 0xb5fc36da in ~QMenuPrivate (this=0xa72cfd0) at widgets/qmenu_p.h:151
> > #11 0xb7020531 in ~QObject (this=0xa72cf80) at kernel/qobject.cpp:857
> > #12 0xb5bde7bf in ~QWidget (this=0xa72cf80) at kernel/qwidget.cpp:1380
> > #13 0xb5fb8750 in ~QMenu (this=0xa72cf80) at widgets/qmenu.cpp:1380
> > #14 0xb679062c in ~sipQMenu (this=0xa72cf80) at sipQtGuiQMenu.cpp:311
> > #15 0xb678b180 in release_QMenu (sipCppV=0xa72cf80, sipState=262) at
> > sipQtGuiQMenu.cpp:2777
> > #16 0xb678b1d7 in dealloc_QMenu (sipSelf=0x19) at sipQtGuiQMenu.cpp:2791
> > #17 0xb7123a9b in forgetObject () from
> > /usr/lib/python2.6/site-packages/sip.so
> > #18 0xb7123ad1 in sipWrapper_dealloc () from
> > /usr/lib/python2.6/site-packages/sip.so
> > #19 0xb765165d in subtype_dealloc (self=0xa62976c) at
> > Objects/typeobject.c:1018
> > #20 0xb76346c1 in dict_dealloc (mp=0xa5dd934) at Objects/dictobject.c:911
> > #21 0xb7121a7b in sipSimpleWrapper_clear () from
> > /usr/lib/python2.6/site-packages/sip.so
> > #22 0xb712234f in sipWrapper_clear () from
> > /usr/lib/python2.6/site-packages/sip.so
> > #23 0xb7652ed2 in subtype_clear (self=0xa61afac) at
> > Objects/typeobject.c:893
> > #24 0xb76b7fb6 in collect (generation=2) at Modules/gcmodule.c:714
> > #25 0xb76b8582 in PyGC_Collect () at Modules/gcmodule.c:1289
> > #26 0xb76a9db2 in Py_Finalize () at Python/pythonrun.c:420
> > #27 0xb76a9f47 in Py_Exit (sts=0) at Python/pythonrun.c:1689
> > #28 0xb76aa060 in handle_system_exit () at Python/pythonrun.c:1111
> > #29 0xb76aa0ed in PyErr_PrintEx (set_sys_last_vars=1) at
> > Python/pythonrun.c:1121
> > #30 0xb76aa3fe in PyErr_Print () at Python/pythonrun.c:1030
> > #31 0xb76aa59e in PyRun_SimpleFileExFlags (fp=0xbffbef37,
> > filename=0xbffbef37 "/usr/lib/python2.6/site-packages/eric4/eric4.py",
> > closeit=1,
> > flags=0xbffbd7e8) at Python/pythonrun.c:930
> > #32 0xb76aa818 in PyRun_AnyFileExFlags (fp=0x805ecd8, filename=0xbffbef37
> > "/usr/lib/python2.6/site-packages/eric4/eric4.py", closeit=1,
> > flags=0xbffbd7e8) at Python/pythonrun.c:731
> > #33 0xb76b6e12 in Py_Main (argc=1, argv=0xbffbd8b4) at Modules/main.c:597
> > #34 0x08048692 in main (argc=) at Modules/python.c:23
> >
> >
> > All it takes is running eric, load a file, split the view
> > "New view (with new split)" via context menu, and quit.
> >
> > My environment: openSUSE 11.1 (all packages available on build service)
> > qscintilla-2.4
> > qt4-4.5.3
> > python-sip-4.10
> > python-qt4-4.7
> > eric-4.4.1
> >
> > Any idea? Are you able to reproduce it?
> >
> > Let me know, if you need more feedback.
> 
> I can't reproduce it.
> 
> The problem looks like things being destroyed in the wrong order - not
> something PyQt can control. You can try to del the QMenu instance before
> calling sys.exit().
> 
> Phil

I can't reproduce it either (Qt 4.5.3, 4.6.1; PyQt 4.7, sip 4.10, eric 4.4.1 
and eric 5.0.0)

Detlev
-- 
Detlev Offenbach
detlev at die-offenbachs.de


More information about the PyQt mailing list