Application: dolphin (1.7) KDE Platform Version: 4.7.2 (4.7.2) "release 5" Qt Version: 4.7.4 Operating System: Linux 3.1.0-1.2-desktop x86_64 Distribution: "openSUSE 12.1 (x86_64)" -- Information about the crash: - What I was doing when the application crashed: Dolphin gestartet und im Menü "Menüleiste anzeigen" (Ctrl-m) ausgewählt. Danach absturz. System openSUSE 12.1 frisch installiert! -- Backtrace: Application: Dolphin (kdeinit4), signal: Segmentation fault [Current thread is 1 (Thread 0x7f0dc77e3760 (LWP 12066))] Thread 2 (Thread 0x7f0daf6ea700 (LWP 12068)): #0 0x00007f0dc4e46423 in poll () from /lib64/libc.so.6 #1 0x00007f0dc1c3ba98 in ?? () from /usr/lib64/libglib-2.0.so.0 #2 0x00007f0dc1c3bf59 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #3 0x00007f0dc6458576 in QEventDispatcherGlib::processEvents (this=0x8b5da0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424 #4 0x00007f0dc642ca22 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #5 0x00007f0dc642cc1f in QEventLoop::exec (this=0x7f0daf6e9df0, flags=...) at kernel/qeventloop.cpp:201 #6 0x00007f0dc63445df in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498 #7 0x00007f0dc640faef in QInotifyFileSystemWatcherEngine::run (this=0x88b840) at io/qfilesystemwatcher_inotify.cpp:248 #8 0x00007f0dc6347025 in QThreadPrivate::start (arg=0x88b840) at thread/qthread_unix.cpp:331 #9 0x00007f0dc60b6f05 in start_thread () from /lib64/libpthread.so.0 #10 0x00007f0dc4e4f53d in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7f0dc77e3760 (LWP 12066)): [KCrash Handler] #6 QMetaObject::changeGuard (ptr=0xa43f48, o=0x0) at kernel/qobject.cpp:471 #7 0x00007f0dc5a155c6 in operator= (p=0x0, this=0xa43f48) at ../../src/corelib/kernel/qpointer.h:68 #8 QMenuPrivate::activateAction (this=0xa43c80, action=0x906910, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1110 #9 0x00007f0dc7281d40 in KMenu::mouseReleaseEvent (this=0xa42190, e=0x7fff083cc770) at /usr/src/debug/kdelibs-4.7.2/kdeui/widgets/kmenu.cpp:464 #10 0x00007f0dc56302b6 in QWidget::event (this=0xa42190, event=0x7fff083cc770) at kernel/qwidget.cpp:8295 #11 0x00007f0dc5a16b0b in QMenu::event (this=0xa42190, e=0x7fff083cc770) at widgets/qmenu.cpp:2405 #12 0x00007f0dc55dfbe4 in notify_helper (e=0x7fff083cc770, receiver=0xa42190, this=0x6d1be0) at kernel/qapplication.cpp:4481 #13 QApplicationPrivate::notify_helper (this=0x6d1be0, receiver=0xa42190, e=0x7fff083cc770) at kernel/qapplication.cpp:4453 #14 0x00007f0dc55e536b in QApplication::notify (this=<optimized out>, receiver=0xa42190, e=0x7fff083cc770) at kernel/qapplication.cpp:4042 #15 0x00007f0dc71bfe36 in KApplication::notify (this=0x7fff083ced30, receiver=0xa42190, event=0x7fff083cc770) at /usr/src/debug/kdelibs-4.7.2/kdeui/kernel/kapplication.cpp:311 #16 0x00007f0dc642d81c in QCoreApplication::notifyInternal (this=0x7fff083ced30, receiver=0xa42190, event=0x7fff083cc770) at kernel/qcoreapplication.cpp:787 #17 0x00007f0dc55e0bb2 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:215 #18 QApplicationPrivate::sendMouseEvent (receiver=0xa42190, event=0x7fff083cc770, alienWidget=0x0, nativeWidget=0xa42190, buttonDown=0x0, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3141 #19 0x00007f0dc565d201 in QETWidget::translateMouseEvent (this=0xa42190, event=<optimized out>) at kernel/qapplication_x11.cpp:4406 #20 0x00007f0dc565ba2a in QApplication::x11ProcessEvent (this=0x7fff083ced30, event=0x7fff083cd030) at kernel/qapplication_x11.cpp:3598 #21 0x00007f0dc56832a2 in x11EventSourceDispatch (s=0x6d59c0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #22 0x00007f0dc1c3b58d in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #23 0x00007f0dc1c3bd88 in ?? () from /usr/lib64/libglib-2.0.so.0 #24 0x00007f0dc1c3bf59 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #25 0x00007f0dc645850f in QEventDispatcherGlib::processEvents (this=0x617440, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422 #26 0x00007f0dc5682f2e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 #27 0x00007f0dc642ca22 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #28 0x00007f0dc642cc1f in QEventLoop::exec (this=0x7fff083cd400, flags=...) at kernel/qeventloop.cpp:201 #29 0x00007f0dc5a12a81 in QMenu::exec (this=<optimized out>, p=..., action=0x0) at widgets/qmenu.cpp:2049 #30 0x00007f0dc5a51e94 in QToolButtonPrivate::popupTimerDone (this=0xa43680) at widgets/qtoolbutton.cpp:955 #31 0x00007f0dc5a52641 in QToolButton::qt_metacall (this=0x979e60, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7fff083cd680) at .moc/release-shared/moc_qtoolbutton.cpp:114 #32 0x00007f0dc644059a in QMetaObject::activate (sender=0x979e60, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3287 #33 0x00007f0dc59925a1 in QAbstractButtonPrivate::emitPressed (this=0xa43680) at widgets/qabstractbutton.cpp:560 #34 0x00007f0dc5992fdc in QAbstractButton::mousePressEvent (this=0x979e60, e=0x7fff083ce030) at widgets/qabstractbutton.cpp:1096 #35 0x00007f0dc5a52791 in QToolButton::mousePressEvent (this=0x979e60, e=0x7fff083ce030) at widgets/qtoolbutton.cpp:712 #36 0x00007f0dc5630599 in QWidget::event (this=0x979e60, event=0x7fff083ce030) at kernel/qwidget.cpp:8291 #37 0x00007f0dc55dfbe4 in notify_helper (e=0x7fff083ce030, receiver=0x979e60, this=0x6d1be0) at kernel/qapplication.cpp:4481 #38 QApplicationPrivate::notify_helper (this=0x6d1be0, receiver=0x979e60, e=0x7fff083ce030) at kernel/qapplication.cpp:4453 #39 0x00007f0dc55e536b in QApplication::notify (this=<optimized out>, receiver=0x979e60, e=0x7fff083ce030) at kernel/qapplication.cpp:4042 #40 0x00007f0dc71bfe36 in KApplication::notify (this=0x7fff083ced30, receiver=0x979e60, event=0x7fff083ce030) at /usr/src/debug/kdelibs-4.7.2/kdeui/kernel/kapplication.cpp:311 #41 0x00007f0dc642d81c in QCoreApplication::notifyInternal (this=0x7fff083ced30, receiver=0x979e60, event=0x7fff083ce030) at kernel/qcoreapplication.cpp:787 #42 0x00007f0dc55e0bb2 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:215 #43 QApplicationPrivate::sendMouseEvent (receiver=0x979e60, event=0x7fff083ce030, alienWidget=0x0, nativeWidget=0x979e60, buttonDown=0x0, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3141 #44 0x00007f0dc565cb55 in QETWidget::translateMouseEvent (this=0x979e60, event=<optimized out>) at kernel/qapplication_x11.cpp:4472 #45 0x00007f0dc565ba2a in QApplication::x11ProcessEvent (this=0x7fff083ced30, event=0x7fff083ce8f0) at kernel/qapplication_x11.cpp:3598 #46 0x00007f0dc56832a2 in x11EventSourceDispatch (s=0x6d59c0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #47 0x00007f0dc1c3b58d in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #48 0x00007f0dc1c3bd88 in ?? () from /usr/lib64/libglib-2.0.so.0 #49 0x00007f0dc1c3bf59 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #50 0x00007f0dc645850f in QEventDispatcherGlib::processEvents (this=0x617440, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422 #51 0x00007f0dc5682f2e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 #52 0x00007f0dc642ca22 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #53 0x00007f0dc642cc1f in QEventLoop::exec (this=0x7fff083cecc0, flags=...) at kernel/qeventloop.cpp:201 #54 0x00007f0dc6430de7 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064 #55 0x00007f0db4f8f7b9 in kdemain (argc=5, argv=0x6c0380) at /usr/src/debug/kde-baseapps-4.7.2/dolphin/src/main.cpp:85 #56 0x0000000000408897 in _start () Possible duplicates by query: bug 278366. Reported using DrKonqi
Peter, you probably should use Qt::QueuedConnection for signals from the actions that modify the menus/toolbars.
Thanks Christoph for the hint, will check this during this weekend. My problem is that I cannot reproduce the issue in my environment, so I can not be sure whether it fixes the problem :-(
*** Bug 286946 has been marked as a duplicate of this bug. ***
Bug 278366 has steps to reproduce, but was marked as an upstream bug. I doubt that it is allowed to modify/delete the menu while handling it's events. A queued connection should fix it.
Git commit 4425d906427bf5138d6f26f9ca7d3deabd0659ee by Peter Penz. Committed on 19/11/2011 at 06:49. Pushed by ppenz into branch 'KDE/4.7'. Fix crash when toggling the menu-bar visibility Use a queued connection to prevent that the menu gets hidden during it is still open. Thanks to Christoph Feck for the hint! Frank and I could not reproduce the issue in our environments even when following the steps from bug 278366, however Christoph's hint sounds sane and let's hope it works (leaves a bad gut feeling to "fix" bugs without being able to verify them). BUG: 286822 CCBUG: 278366 FIXED-IN: 4.7.4 M +3 -1 dolphin/src/dolphinmainwindow.cpp http://commits.kde.org/kde-baseapps/4425d906427bf5138d6f26f9ca7d3deabd0659ee
Git commit 4f94ca5d90bd346e72878fc44c89f89f06419ed1 by Peter Penz. Committed on 19/11/2011 at 06:49. Pushed by ppenz into branch 'master'. Fix crash when toggling the menu-bar visibility Use a queued connection to prevent that the menu gets hidden during it is still open. Thanks to Christoph Feck for the hint! Frank and I could not reproduce the issue in our environments even when following the steps from bug 278366, however Christoph's hint sounds sane and let's hope it works (leaves a bad gut feeling to "fix" bugs without being able to verify them). CCBUG: 286822 CCBUG: 278366 FIXED-IN: 4.7.4 M +3 -1 dolphin/src/dolphinmainwindow.cpp http://commits.kde.org/kde-baseapps/4f94ca5d90bd346e72878fc44c89f89f06419ed1
Thanks, no crash :)
Ah, great! Thanks for verifying!
*** Bug 286997 has been marked as a duplicate of this bug. ***