Application: dolphin (1.6.9) KDE Platform Version: 4.7.40 (4.7.40 (KDE 4.8 >= 200110623) (Compiled from sources) Qt Version: 4.7.4 Operating System: Linux 3.0.0-2-desktop x86_64 Distribution: "openSUSE 12.1 Milestone 2 (x86_64)" -- Information about the crash: - What I was doing when the application crashed: The menu can be in the old or in the new form. If I change the menu with Ctrl+M, no crash. If I change the menu with the entry Show menu bar, then crash. The crash can be reproduced every time. -- Backtrace: Application: Dolphin (kdeinit4), signal: Segmentation fault [Current thread is 1 (Thread 0x7f1e6fce1760 (LWP 16034))] Thread 2 (Thread 0x7f1e5977a700 (LWP 16035)): #0 0x00007f1e6c595813 in poll () from /lib64/libc.so.6 #1 0x00007f1e68de1db8 in ?? () from /usr/lib64/libglib-2.0.so.0 #2 0x00007f1e68de2279 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #3 0x00007f1e6e62e630 in QEventDispatcherGlib::processEvents (this=0x9c7740, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:424 #4 0x00007f1e6e5f38fc in QEventLoop::processEvents (this=0x7f1e59779d90, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:149 #5 0x00007f1e6e5f3a4f in QEventLoop::exec (this=0x7f1e59779d90, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:201 #6 0x00007f1e6e4e42c5 in QThread::exec (this=0x944400) at /g/kdegit/qt/src/corelib/thread/qthread.cpp:498 #7 0x00007f1e6e5d2a69 in QInotifyFileSystemWatcherEngine::run (this=0x944400) at /g/kdegit/qt/src/corelib/io/qfilesystemwatcher_inotify.cpp:248 #8 0x00007f1e6e4e6ae3 in QThreadPrivate::start (arg=0x944400) at /g/kdegit/qt/src/corelib/thread/qthread_unix.cpp:331 #9 0x00007f1e6e22ee55 in start_thread () from /lib64/libpthread.so.0 #10 0x00007f1e6c59e86d in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7f1e6fce1760 (LWP 16034)): [KCrash Handler] #6 0x00007f1e6e4c2106 in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::data (this=0x454545454545454d) at ../../include/QtCore/../../../../kdegit/qt/src/corelib/tools/qscopedpointer.h:135 #7 0x00007f1e6e4dae2a in qGetPtrHelper<QScopedPointer<QObjectData> > (p=...) at ../../include/QtCore/../../../../kdegit/qt/src/corelib/global/qglobal.h:2341 #8 0x00007f1e6e4daec0 in QObject::d_func (this=0x4545454545454545) at ../../include/QtCore/../../../../kdegit/qt/src/corelib/kernel/qobject.h:125 #9 0x00007f1e6e4daef8 in QObjectPrivate::get (o=0x4545454545454545) at ../../include/QtCore/private/../../../../../kdegit/qt/src/corelib/kernel/qobject_p.h:170 #10 0x00007f1e6e60ce3d in QMetaObject::changeGuard (ptr=0xb1c928, o=0x0) at /g/kdegit/qt/src/corelib/kernel/qobject.cpp:471 #11 0x00007f1e6d49b9fc in QPointer<QAction>::operator= (this=0xb1c928, p=0x0) at ../../include/QtCore/../../../../kdegit/qt/src/corelib/kernel/qpointer.h:68 #12 0x00007f1e6da0d8f7 in QMenuPrivate::activateAction (this=0xb1c660, action=0x956560, action_e=QAction::Trigger, self=true) at /g/kdegit/qt/src/gui/widgets/qmenu.cpp:1110 #13 0x00007f1e6da119c6 in QMenu::mouseReleaseEvent (this=0x9d3510, e=0x7fff4a52f6c0) at /g/kdegit/qt/src/gui/widgets/qmenu.cpp:2296 #14 0x00007f1e6f752e61 in KMenu::mouseReleaseEvent (this=0x9d3510, e=0x7fff4a52f6c0) at /g/kdegit/kdelibs/kdeui/widgets/kmenu.cpp:458 #15 0x00007f1e6d50d5c6 in QWidget::event (this=0x9d3510, event=0x7fff4a52f6c0) at /g/kdegit/qt/src/gui/kernel/qwidget.cpp:8295 #16 0x00007f1e6da12080 in QMenu::event (this=0x9d3510, e=0x7fff4a52f6c0) at /g/kdegit/qt/src/gui/widgets/qmenu.cpp:2405 #17 0x00007f1e6d4a7cae in QApplicationPrivate::notify_helper (this=0x6b5960, receiver=0x9d3510, e=0x7fff4a52f6c0) at /g/kdegit/qt/src/gui/kernel/qapplication.cpp:4481 #18 0x00007f1e6d4a5c57 in QApplication::notify (this=0x7fff4a5324f0, receiver=0x9d3510, e=0x7fff4a52f6c0) at /g/kdegit/qt/src/gui/kernel/qapplication.cpp:4042 #19 0x00007f1e6f69851e in KApplication::notify (this=0x7fff4a5324f0, receiver=0x9d3510, event=0x7fff4a52f6c0) at /g/kdegit/kdelibs/kdeui/kernel/kapplication.cpp:311 #20 0x00007f1e6e5f5d2a in QCoreApplication::notifyInternal (this=0x7fff4a5324f0, receiver=0x9d3510, event=0x7fff4a52f6c0) at /g/kdegit/qt/src/corelib/kernel/qcoreapplication.cpp:775 #21 0x00007f1e6d4aa43d in QCoreApplication::sendSpontaneousEvent (receiver=0x9d3510, event=0x7fff4a52f6c0) at ../../include/QtCore/../../../../kdegit/qt/src/corelib/kernel/qcoreapplication.h:218 #22 0x00007f1e6d4a4202 in QApplicationPrivate::sendMouseEvent (receiver=0x9d3510, event=0x7fff4a52f6c0, alienWidget=0x0, nativeWidget=0x9d3510, buttonDown=0x7f1e6e224048, lastMouseReceiver=..., spontaneous=true) at /g/kdegit/qt/src/gui/kernel/qapplication.cpp:3139 #23 0x00007f1e6d547d13 in QETWidget::translateMouseEvent (this=0x9d3510, event=0x7fff4a5300a0) at /g/kdegit/qt/src/gui/kernel/qapplication_x11.cpp:4395 #24 0x00007f1e6d544aed in QApplication::x11ProcessEvent (this=0x7fff4a5324f0, event=0x7fff4a5300a0) at /g/kdegit/qt/src/gui/kernel/qapplication_x11.cpp:3465 #25 0x00007f1e6d57e1c8 in x11EventSourceDispatch (s=0x6b9380, callback=0, user_data=0x0) at /g/kdegit/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:146 #26 0x00007f1e68de18ad in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #27 0x00007f1e68de20a8 in ?? () from /usr/lib64/libglib-2.0.so.0 #28 0x00007f1e68de2279 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #29 0x00007f1e6e62e60d in QEventDispatcherGlib::processEvents (this=0x681900, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:422 #30 0x00007f1e6d57e568 in QGuiEventDispatcherGlib::processEvents (this=0x681900, flags=...) at /g/kdegit/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:204 #31 0x00007f1e6e5f38fc in QEventLoop::processEvents (this=0x7fff4a530460, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:149 #32 0x00007f1e6e5f3a4f in QEventLoop::exec (this=0x7fff4a530460, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:201 #33 0x00007f1e6da1061b in QMenu::exec (this=0x9d3510, p=..., action=0x0) at /g/kdegit/qt/src/gui/widgets/qmenu.cpp:2049 #34 0x00007f1e6da5f85d in QToolButtonPrivate::popupTimerDone (this=0xb1c180) at /g/kdegit/qt/src/gui/widgets/qtoolbutton.cpp:955 #35 0x00007f1e6da5eced in QToolButton::showMenu (this=0x9a04b0) at /g/kdegit/qt/src/gui/widgets/qtoolbutton.cpp:866 #36 0x00007f1e6da5edc9 in QToolButtonPrivate::_q_buttonPressed (this=0xb1c180) at /g/kdegit/qt/src/gui/widgets/qtoolbutton.cpp:879 #37 0x00007f1e6da602f5 in QToolButton::qt_metacall (this=0x9a04b0, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7fff4a530810) at .moc/debug-shared/moc_qtoolbutton.cpp:114 #38 0x00007f1e6e5fdda4 in QMetaObject::metacall (object=0x9a04b0, cl=QMetaObject::InvokeMetaMethod, idx=43, argv=0x7fff4a530810) at /g/kdegit/qt/src/corelib/kernel/qmetaobject.cpp:237 #39 0x00007f1e6e612aca in QMetaObject::activate (sender=0x9a04b0, m=0x7f1e6e201620, local_signal_index=0, argv=0x0) at /g/kdegit/qt/src/corelib/kernel/qobject.cpp:3278 #40 0x00007f1e6dcd04bd in QAbstractButton::pressed (this=0x9a04b0) at .moc/debug-shared/moc_qabstractbutton.cpp:193 #41 0x00007f1e6d960d54 in QAbstractButtonPrivate::emitPressed (this=0xb1c180) at /g/kdegit/qt/src/gui/widgets/qabstractbutton.cpp:560 #42 0x00007f1e6d961f99 in QAbstractButton::mousePressEvent (this=0x9a04b0, e=0x7fff4a531700) at /g/kdegit/qt/src/gui/widgets/qabstractbutton.cpp:1096 #43 0x00007f1e6da5e96d in QToolButton::mousePressEvent (this=0x9a04b0, e=0x7fff4a531700) at /g/kdegit/qt/src/gui/widgets/qtoolbutton.cpp:712 #44 0x00007f1e6d50d598 in QWidget::event (this=0x9a04b0, event=0x7fff4a531700) at /g/kdegit/qt/src/gui/kernel/qwidget.cpp:8291 #45 0x00007f1e6d961ed9 in QAbstractButton::event (this=0x9a04b0, e=0x7fff4a531700) at /g/kdegit/qt/src/gui/widgets/qabstractbutton.cpp:1080 #46 0x00007f1e6da600c7 in QToolButton::event (this=0x9a04b0, event=0x7fff4a531700) at /g/kdegit/qt/src/gui/widgets/qtoolbutton.cpp:1163 #47 0x00007f1e6d4a7cae in QApplicationPrivate::notify_helper (this=0x6b5960, receiver=0x9a04b0, e=0x7fff4a531700) at /g/kdegit/qt/src/gui/kernel/qapplication.cpp:4481 #48 0x00007f1e6d4a5c57 in QApplication::notify (this=0x7fff4a5324f0, receiver=0x9a04b0, e=0x7fff4a531700) at /g/kdegit/qt/src/gui/kernel/qapplication.cpp:4042 #49 0x00007f1e6f69851e in KApplication::notify (this=0x7fff4a5324f0, receiver=0x9a04b0, event=0x7fff4a531700) at /g/kdegit/kdelibs/kdeui/kernel/kapplication.cpp:311 #50 0x00007f1e6e5f5d2a in QCoreApplication::notifyInternal (this=0x7fff4a5324f0, receiver=0x9a04b0, event=0x7fff4a531700) at /g/kdegit/qt/src/corelib/kernel/qcoreapplication.cpp:775 #51 0x00007f1e6d4aa43d in QCoreApplication::sendSpontaneousEvent (receiver=0x9a04b0, event=0x7fff4a531700) at ../../include/QtCore/../../../../kdegit/qt/src/corelib/kernel/qcoreapplication.h:218 #52 0x00007f1e6d4a4202 in QApplicationPrivate::sendMouseEvent (receiver=0x9a04b0, event=0x7fff4a531700, alienWidget=0x9a04b0, nativeWidget=0x8e5ae0, buttonDown=0x7f1e6e224048, lastMouseReceiver=..., spontaneous=true) at /g/kdegit/qt/src/gui/kernel/qapplication.cpp:3139 #53 0x00007f1e6d547fcb in QETWidget::translateMouseEvent (this=0x8e5ae0, event=0x7fff4a5320e0) at /g/kdegit/qt/src/gui/kernel/qapplication_x11.cpp:4461 #54 0x00007f1e6d544aed in QApplication::x11ProcessEvent (this=0x7fff4a5324f0, event=0x7fff4a5320e0) at /g/kdegit/qt/src/gui/kernel/qapplication_x11.cpp:3465 #55 0x00007f1e6d57e1c8 in x11EventSourceDispatch (s=0x6b9380, callback=0, user_data=0x0) at /g/kdegit/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:146 #56 0x00007f1e68de18ad in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #57 0x00007f1e68de20a8 in ?? () from /usr/lib64/libglib-2.0.so.0 #58 0x00007f1e68de2279 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #59 0x00007f1e6e62e60d in QEventDispatcherGlib::processEvents (this=0x681900, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:422 #60 0x00007f1e6d57e568 in QGuiEventDispatcherGlib::processEvents (this=0x681900, flags=...) at /g/kdegit/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:204 #61 0x00007f1e6e5f38fc in QEventLoop::processEvents (this=0x7fff4a532470, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:149 #62 0x00007f1e6e5f3a4f in QEventLoop::exec (this=0x7fff4a532470, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:201 #63 0x00007f1e6e5f6416 in QCoreApplication::exec () at /g/kdegit/qt/src/corelib/kernel/qcoreapplication.cpp:1064 #64 0x00007f1e6d4a4e6c in QApplication::exec () at /g/kdegit/qt/src/gui/kernel/qapplication.cpp:3755 #65 0x00007f1e5fdb1fa6 in kdemain (argc=6, argv=0x66ffe0) at /g/kdegit/kde-baseapps/dolphin/src/main.cpp:85 #66 0x00000000004083ea in launch (argc=6, _name=0x6786d8 "/opt/kde4/bin/dolphin", args=<optimized out>, cwd=0x0, envc=<optimized out>, envs=<optimized out>, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x67874f "filemon;1311462502;791495;14785_TIME44092745") at /g/kdegit/kdelibs/kinit/kinit.cpp:734 #67 0x0000000000408cdc in handle_launcher_request (sock=8, who=<optimized out>) at /g/kdegit/kdelibs/kinit/kinit.cpp:1226 #68 0x0000000000409364 in handle_requests (waitForPid=0) at /g/kdegit/kdelibs/kinit/kinit.cpp:1419 #69 0x0000000000405544 in main (argc=4, argv=0x7fff4a533368, envp=0x7fff4a533390) at /g/kdegit/kdelibs/kinit/kinit.cpp:1907 Reported using DrKonqi
More information... This only happens in 64 bits (or at least not in a VBox 32 bits). When run under valgrind there are 2 write errors and several read errors.
I think it's a Qt bug.. I've fixed it locally with diff --git a/src/gui/widgets/qmenu.cpp b/src/gui/widgets/qmenu.cpp index 118c073..72cf7da 100644 --- a/src/gui/widgets/qmenu.cpp +++ b/src/gui/widgets/qmenu.cpp @@ -1107,7 +1107,7 @@ void QMenuPrivate::activateAction(QAction *action, QAction::ActionEvent action_e #endif action->showStatusText(topCausedWidget()); } else { - actionAboutToTrigger = 0; + // actionAboutToTrigger = 0; } } diff --git a/src/gui/painting/qregion.cpp b/src/gui/painting/qregion.cpp index 821705c..2573492 100644 --- a/src/gui/painting/qregion.cpp +++ b/src/gui/painting/qregion.cpp @@ -3649,6 +3649,7 @@ static QRegionPrivate *PolygonRegion(const QPoint *Pts, int Count, int rule) if (iPts == NUMPTSTOBUFFER) { tmpPtBlock = (POINTBLOCK *)malloc(sizeof(POINTBLOCK)); Q_CHECK_PTR(tmpPtBlock); + memset(tmpPtBlock, 0 , sizeof(POINTBLOCK)); tmpPtBlock->pts = reinterpret_cast<QPoint *>(tmpPtBlock->data); curPtBlock->next = tmpPtBlock; curPtBlock = tmpPtBlock;
*** Bug 283274 has been marked as a duplicate of this bug. ***
[Comment from a bug report cleaner] - Was the issue reported to Qt devs ? Is there any upstream bug report reference ? Thanks
What to write in the bugtracker qt ? What is the reason the bug?
Stas: My question was for Jaime, who marked this report to be caused by a bug on Qt libraries. Thanks anyways
Thanks Darío, I forgot. https://bugreports.qt.nokia.com/browse/QTBUG-21952
Created attachment 65165 [details] New crash information added by DrKonqi dolphin (1.7) on KDE Platform 4.7.2 (4.7.2) using Qt 4.7.4 Still exists on openSUSE 12.1 RC1 x86_64. -- Backtrace (Reduced): #7 0x00007febf7fc3436 in operator= (p=0x0, this=0xaf3898) at ../../src/corelib/kernel/qpointer.h:68 #8 QMenuPrivate::activateAction (this=0xaf35d0, action=0x8f2ef0, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1110 #9 0x00007febf982fd40 in KMenu::mouseReleaseEvent (this=0xe4f8f0, e=0x7fff6431f5f0) at /usr/src/debug/kdelibs-4.7.2/kdeui/widgets/kmenu.cpp:464 #10 0x00007febf7bde236 in QWidget::event (this=0xe4f8f0, event=0x7fff6431f5f0) at kernel/qwidget.cpp:8295 #11 0x00007febf7fc497b in QMenu::event (this=0xe4f8f0, e=0x7fff6431f5f0) at widgets/qmenu.cpp:2405
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
I can confirm that your patch fixes the bug for me. I've reverted my changes to Qt, applied your patch. And it works. Very good work.
*** Bug 287230 has been marked as a duplicate of this bug. ***
*** Bug 287296 has been marked as a duplicate of this bug. ***
*** Bug 287566 has been marked as a duplicate of this bug. ***
*** Bug 287605 has been marked as a duplicate of this bug. ***
*** Bug 287612 has been marked as a duplicate of this bug. ***
*** Bug 287634 has been marked as a duplicate of this bug. ***
*** Bug 287675 has been marked as a duplicate of this bug. ***
*** Bug 287676 has been marked as a duplicate of this bug. ***
Good!
*** Bug 288742 has been marked as a duplicate of this bug. ***
Created attachment 73660 [details] New crash information added by DrKonqi dolphin (1.7) on KDE Platform 4.7.2 (4.7.2) "release 5" using Qt 4.7.4 - What I was doing when the application crashed: I clicked on the configure button and selected the show menu bar option. - Custom settings of the application: -- Backtrace (Reduced): #8 0xb6768565 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4 #9 0xb75c40ec in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libkdeui.so.5 #10 0xb63172ef in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4 #11 0xb6766fec in QMenu::event(QEvent*) () from /usr/lib/libQtGui.so.4 #12 0xb62bcee4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4