Hi Phil, If I remember correctly, you talked about making a new termination scheme default, where you don't call any dtors from a certain point in the termination process. Is this already available as an option?
When leaving eric4 running for an extended period of time, I *always* harvest belows seg fault on termination, with current sip/PyQt snapshots. I guess, such an option would be easier then hunting and deleting the last forgotten menu item... Cheers, Pete Application: eric4 (python2.7), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7faa86595700 (LWP 5604))] Thread 2 (Thread 0x7faa62a5b700 (LWP 9430)): #0 0x00007faa85b2a14f in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87 #1 0x00007faa83991684 in g_main_context_poll (n_fds=1, fds=0x7faa5801d680, timeout=-1, context=0x7faa58002720, priority=<optimized out>) at gmain.c:3440 #2 g_main_context_iterate (context=context@entry=0x7faa58002720, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3141 #3 0x00007faa839917a4 in g_main_context_iteration (context=0x7faa58002720, may_block=1) at gmain.c:3207 #4 0x00007faa84725166 in QEventDispatcherGlib::processEvents (this=0x7faa5801bee0, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #5 0x00007faa846f597f in QEventLoop::processEvents (this=this@entry=0x7faa62a5ae50, flags=...) at kernel/qeventloop.cpp:149 #6 0x00007faa846f5c08 in QEventLoop::exec (this=0x7faa62a5ae50, flags=...) at kernel/qeventloop.cpp:204 #7 0x00007faa845f80e0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542 #8 0x00007faa846d60ef in QInotifyFileSystemWatcherEngine::run (this=0x76477a0) at io/qfilesystemwatcher_inotify.cpp:256 #9 0x00007faa845fb0bc in QThreadPrivate::start (arg=0x76477a0) at thread/qthread_unix.cpp:338 #10 0x00007faa85dfae0e in start_thread (arg=0x7faa62a5b700) at pthread_create.c:305 #11 0x00007faa85b322cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 Thread 1 (Thread 0x7faa86595700 (LWP 5604)): [KCrash Handler] #6 0x00007faa81fcf41a in QWidgetPrivate::deleteTLSysExtra (this=0x632e390) at kernel/qwidget_x11.cpp:2884 #7 0x00007faa81f8711e in QWidgetPrivate::deleteExtra (this=this@entry=0x632e390) at kernel/qwidget.cpp:1834 #8 0x00007faa81f8734d in QWidgetPrivate::~QWidgetPrivate (this=0x632e390, __in_chrg=<optimized out>) at kernel/qwidget.cpp:361 #9 0x00007faa8237c7f9 in ~QMenuPrivate (this=0x632e390, __in_chrg=<optimized out>) at widgets/qmenu_p.h:171 #10 QMenuPrivate::~QMenuPrivate (this=0x632e390, __in_chrg=<optimized out>) at widgets/qmenu_p.h:183 #11 0x00007faa8470d1cc in cleanup (pointer=<optimized out>) at ../../src/corelib/tools/qscopedpointer.h:62 #12 ~QScopedPointer (this=0x632e328, __in_chrg=<optimized out>) at ../../src/corelib/tools/qscopedpointer.h:100 #13 QObject::~QObject (this=0x632e320, __in_chrg=<optimized out>) at kernel/qobject.cpp:816 #14 0x00007faa81f89440 in QWidget::~QWidget (this=0x632e320, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1556 #15 0x00007faa82e8c189 in sipQMenu::~sipQMenu (this=0x632e320, __in_chrg=<optimized out>) at sipQtGuiQMenu.cpp:316 #16 0x00007faa82e8aeb6 in release_QMenu (sipCppV=0x632e320) at sipQtGuiQMenu.cpp:2785 #17 0x00007faa834d5bee in forgetObject (sw=sw@entry=0x6333320) at siplib.c:10427 #18 0x00007faa834d7549 in sipWrapper_dealloc (self=0x6333320) at siplib.c:9979 #19 0x00007faa860b8c76 in subtype_dealloc (self=0x6333320) at Objects/typeobject.c:1014 #20 0x00007faa860b2a78 in dict_dealloc (mp=0x631e2d0) at Objects/dictobject.c:985 #21 0x00007faa860b2a50 in dict_dealloc (mp=0x7faa54261a80) at Objects/dictobject.c:985 #22 0x00007faa834d5033 in sipSimpleWrapper_clear (self=self@entry=0x5fd3200) at siplib.c:9559 #23 0x00007faa834d74c2 in sipWrapper_clear (self=0x5fd3200) at siplib.c:9940 #24 0x00007faa8610e17d in delete_garbage (old=0x7faa86391f60 <generations+96>, collectable=0x7ffffb1e86f0) at Modules/gcmodule.c:769 #25 collect (generation=2) at Modules/gcmodule.c:930 #26 0x00007faa8610e661 in PyGC_Collect () at Modules/gcmodule.c:1386 #27 0x00007faa86103724 in Py_Finalize () at Python/pythonrun.c:444 #28 0x00007faa86103248 in Py_Exit (sts=0) at Python/pythonrun.c:1760 #29 0x00007faa8610333f in handle_system_exit () at Python/pythonrun.c:1134 #30 0x00007faa861033f5 in PyErr_PrintEx (set_sys_last_vars=set_sys_last_vars@entry=1) at Python/pythonrun.c:1144 #31 0x00007faa8610369a in PyErr_Print () at Python/pythonrun.c:1047 #32 0x00007faa86103a2b in PyRun_SimpleFileExFlags (fp=<optimized out>, fp@entry=0x2339450, filename=<optimized out>, filename@entry=0x7ffffb1e9268 "/usr/lib64/python2.7/site-packages/eric4/eric4.py", closeit=closeit@entry=1, flags=flags@entry=0x7ffffb1e8920) at Python/pythonrun.c:947 #33 0x00007faa86103d33 in PyRun_AnyFileExFlags (fp=fp@entry=0x2339450, filename=filename@entry=0x7ffffb1e9268 "/usr/lib64/python2.7/site-packages/eric4/eric4.py", closeit=closeit@entry=1, flags=flags@entry=0x7ffffb1e8920) at Python/pythonrun.c:747 #34 0x00007faa8610d26d in Py_Main (argc=<optimized out>, argv=0x7ffffb1e8ad8) at Modules/main.c:639 #35 0x00007faa85a6f455 in __libc_start_main (main=0x400730 <main>, argc=2, ubp_av=0x7ffffb1e8ad8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffffb1e8ac8) at libc-start.c:226 #36 0x0000000000400761 in _start () at ../sysdeps/x86_64/elf/start.S:113 _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt