Summary: | Crash after opening Activities context-menu | ||
---|---|---|---|
Product: | [Plasma] kactivitymanagerd | Reporter: | sverre.moe |
Component: | fileitemplugin | Assignee: | Ivan Čukić <ivan.cukic> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | afiestas, aleixpol, antonioramon, asturm, b.wehan, bartkessels, bence.csokas, bluebukkitdev, crisllanos13, d.myoozik.luhver.1of2, david.nolden.kde, dcbr1991, dido.kanev, dutchgigalo, edgar.dr, fedosseyeviv, frank78ac, gilbertoca, gui.blancd-kde, hamelg, ILLWILLMD, jessetalavera, jm.ouwerkerk, kai, kde, mail, mail, marcelbroekman, michideep, mijtro, milakam, mtadeunet, mzelenov, negatroncr, nick, opensuse.lietuviu.kalba, p92, pj, pominville, priyam1994, rbabchis, russellgreene8, simonandric5, skstelios, skyworth98, sudheer.avula, superdodgeballer, t4ppcqt, vkrevs, ws, xswan61, zacca06 |
Priority: | NOR | Keywords: | drkonqi |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
See Also: |
https://bugs.kde.org/show_bug.cgi?id=354704 https://bugs.kde.org/show_bug.cgi?id=357904 https://bugs.kde.org/show_bug.cgi?id=356163 https://bugs.kde.org/show_bug.cgi?id=357712 |
||
Latest Commit: | http://commits.kde.org/kactivities/b3c8ad1ad48d65ea77724f94073909dc8ab97596 | Version Fixed In: | 20 |
Attachments: |
Valgrind log with stack traces and a line of console output
dolphin-20151206-125915.kcrash.txt |
Description
sverre.moe
2015-08-19 13:57:45 UTC
Thanks for the bug report! The cause of the crash might be in the Activities plugin itself, and not in Dolphin, so I'll reassign. The activities plugin does not use mutexes, at least not directly. I'll see what might happen, but this does not provide much information:
> [KCrash Handler]
> #5 0x00007f3fdcb6db45 in QMutex::lock() () at /usr/lib64/libQt5Core.so.5
> #6 0x00007f3fdcb73748 in () at /usr/lib64/libQt5Core.so.5
> #7 0x00007f3fdcb74521 in () at /usr/lib64/libQt5Core.so.5
> #8 0x00007f3fd87a60a4 in start_thread () at /lib64/libpthread.so.0
> #9 0x00007f3fe27b308d in clone () at /lib64/libc.so.6
(In reply to Ivan Čukić from comment #2) > The activities plugin does not use mutexes, at least not directly. I'll see > what might happen, but this does not provide much information: No, it doesn't :-( I'm wondering if it is somehow related to the backtrace that is attached to bug 352207 comment 15 (attachment 95584 [details]), where it crashes while trying to lock a mutex in QThreadPrivate::finish()). One possible explanation would be that the QThread object was deleted while the actual thread was still running. However, this does not seem to be possible if I read the FileItemLinkingPlugin source correctly. *** Bug 355720 has been marked as a duplicate of this bug. *** *** Bug 352207 has been marked as a duplicate of this bug. *** Git commit cee1e19e94c6b161fad13136bce55a08079157a7 by Ivan Čukić. Committed on 27/11/2015 at 22:27. Pushed by ivan into branch 'master'. Moving QAction creation to the main thread. M +1 -0 src/workspace/fileitemplugin/CMakeLists.txt M +45 -179 src/workspace/fileitemplugin/FileItemLinkingPlugin.cpp C +16 -154 src/workspace/fileitemplugin/FileItemLinkingPluginActionLoader.cpp [from: src/workspace/fileitemplugin/FileItemLinkingPlugin.cpp - 057% similarity] C +6 -40 src/workspace/fileitemplugin/FileItemLinkingPluginActionLoader.h [from: src/workspace/fileitemplugin/FileItemLinkingPlugin_p.h - 059% similarity] M +7 -22 src/workspace/fileitemplugin/FileItemLinkingPlugin_p.h http://commits.kde.org/kactivities/cee1e19e94c6b161fad13136bce55a08079157a7 Can someone retest this with kactivities master? This seems only happen when user only have one activity. I created a blank activity to workaround it. @Ukyoi I hoped this will lead to me reproducing the problem, but for me it works even with a single activity (a new user). Can you test with a clean user, with and without using the breeze theme (for widgets, not plasma) and post the backtraces? (In reply to Ivan Čukić from comment #9) > @Ukyoi > > I hoped this will lead to me reproducing the problem, but for me it works > even with a single activity (a new user). > > Can you test with a clean user, with and without using the breeze theme (for > widgets, not plasma) and post the backtraces? Strange. Now I'm not able to reproduce that. Maybe it's a problem caused by cache or the legacy config file. Created attachment 95868 [details]
Valgrind log with stack traces and a line of console output
I believe I could reproduce this under valgrind on version 5.15.0-0ubuntu1.
See the attached log. It seems to me like Frank was right. The first message indicates that a QThread was deleted while it was running.
Hope I could help.
(In reply to Ukyoi from comment #10) > > Strange. Now I'm not able to reproduce that. Maybe it's a problem caused by > cache or the legacy config file. I had the same behaviour with only one activity, created then deleted a second, then the issue has disappeared. (In reply to Ivan Čukić from comment #7) > Can someone retest this with kactivities master? Same problem after a few tries, unfortunately didn't generate a backtrace this time. Created attachment 95914 [details] dolphin-20151206-125915.kcrash.txt (In reply to Ivan Čukić from comment #9) > Can you test ...[cut]... without using the breeze theme (for widgets, not plasma) and post the backtraces? Finally, attaching a backtrace using oxygen theme. Note that I also have one activity, which has been automatically imported from kde4 workspace. *** Bug 356358 has been marked as a duplicate of this bug. *** I can reproduce crash with hovering over activities context menu in fresh install of KDE Plasma 5.5.3, thought drKonqi automatically marked this crash with another bug: https://bugs.kde.org/show_bug.cgi?id=354704#c7 *** Bug 357733 has been marked as a duplicate of this bug. *** *** Bug 357903 has been marked as a duplicate of this bug. *** *** Bug 357892 has been marked as a duplicate of this bug. *** *** Bug 357886 has been marked as a duplicate of this bug. *** *** Bug 354704 has been marked as a duplicate of this bug. *** *** Bug 358122 has been marked as a duplicate of this bug. *** same here: to create an new activity doesn't help Application: dolphin (15.12.1) Qt Version: 5.5.1 Operating System: Linux 4.1.15-8-default x86_64 Distribution: "openSUSE Leap 42.1 (x86_64)" -- Information about the crash: The crash can be reproduced every time. -- Backtrace: Application: Dolphin (dolphin), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7f145f5537c0 (LWP 2223))] Thread 4 (Thread 0x7f1448574700 (LWP 2224)): #0 0x00007f145ededc1d in poll () from /lib64/libc.so.6 #1 0x00007f1451e3b422 in ?? () from /usr/lib64/libxcb.so.1 #2 0x00007f1451e3d00f in xcb_wait_for_event () from /usr/lib64/libxcb.so.1 #3 0x00007f144a8c93c9 in ?? () from /usr/lib64/libQt5XcbQpa.so.5 #4 0x00007f1458f3832f in ?? () from /usr/lib64/libQt5Core.so.5 #5 0x00007f14549eb0a4 in start_thread () from /lib64/libpthread.so.0 #6 0x00007f145edf604d in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7f1436a87700 (LWP 2225)): #0 0x00007f1453ea7d14 in g_mutex_unlock () from /usr/lib64/libglib-2.0.so.0 #1 0x00007f1453e65a5a in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #2 0x00007f1453e65ed8 in ?? () from /usr/lib64/libglib-2.0.so.0 #3 0x00007f1453e65f7c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #4 0x00007f145916ad8b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #5 0x00007f1459111d53 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #6 0x00007f1458f3361a in QThread::exec() () from /usr/lib64/libQt5Core.so.5 #7 0x00007f1458f3832f in ?? () from /usr/lib64/libQt5Core.so.5 #8 0x00007f14549eb0a4 in start_thread () from /lib64/libpthread.so.0 #9 0x00007f145edf604d in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7f1435463700 (LWP 2234)): [KCrash Handler] #6 0x00007f1458f30bf5 in QMutex::lock() () from /usr/lib64/libQt5Core.so.5 #7 0x00007f1458f37568 in ?? () from /usr/lib64/libQt5Core.so.5 #8 0x00007f1458f38351 in ?? () from /usr/lib64/libQt5Core.so.5 #9 0x00007f14549eb0a4 in start_thread () from /lib64/libpthread.so.0 #10 0x00007f145edf604d in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7f145f5537c0 (LWP 2223)): #0 0x00007f14549ef05f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f1451e3b669 in ?? () from /usr/lib64/libxcb.so.1 #2 0x00007f1451e3cd5f in ?? () from /usr/lib64/libxcb.so.1 #3 0x00007f1451e3ce72 in xcb_wait_for_reply () from /usr/lib64/libxcb.so.1 #4 0x00007f144a8d8b69 in QXcbWindow::setKeyboardGrabEnabled(bool) () from /usr/lib64/libQt5XcbQpa.so.5 #5 0x00007f145a2841a6 in ?? () from /usr/lib64/libQt5Widgets.so.5 #6 0x00007f145a28be88 in QApplicationPrivate::closePopup(QWidget*) () from /usr/lib64/libQt5Widgets.so.5 #7 0x00007f145a2c45be in QWidgetPrivate::hide_helper() () from /usr/lib64/libQt5Widgets.so.5 #8 0x00007f145a2c89e8 in QWidget::setVisible(bool) () from /usr/lib64/libQt5Widgets.so.5 #9 0x00007f145a2c466b in QWidgetPrivate::close_helper(QWidgetPrivate::CloseMode) () from /usr/lib64/libQt5Widgets.so.5 #10 0x00007f145a3fedee in ?? () from /usr/lib64/libQt5Widgets.so.5 #11 0x00007f145a3ff1f1 in QMenu::internalDelayedPopup() () from /usr/lib64/libQt5Widgets.so.5 #12 0x00007f14591448bc in QObject::event(QEvent*) () from /usr/lib64/libQt5Core.so.5 #13 0x00007f145a2c8f64 in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #14 0x00007f145a4043db in QMenu::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #15 0x00007f145a288e7c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #16 0x00007f145a28dcc8 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #17 0x00007f1459113e95 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #18 0x00007f145916a77d in QTimerInfoList::activateTimers() () from /usr/lib64/libQt5Core.so.5 #19 0x00007f145916aaa1 in ?? () from /usr/lib64/libQt5Core.so.5 #20 0x00007f1453e65c84 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #21 0x00007f1453e65ed8 in ?? () from /usr/lib64/libglib-2.0.so.0 #22 0x00007f1453e65f7c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #23 0x00007f145916ad8b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #24 0x00007f1459111d53 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #25 0x00007f145a3fea20 in QMenu::exec(QPoint const&, QAction*) () from /usr/lib64/libQt5Widgets.so.5 #26 0x00007f145f10f812 in ?? () from /usr/lib64/libkdeinit5_dolphin.so #27 0x00007f145f110dcd in ?? () from /usr/lib64/libkdeinit5_dolphin.so #28 0x00007f145f106d26 in ?? () from /usr/lib64/libkdeinit5_dolphin.so #29 0x00007f145914373f in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5 #30 0x00007f145eacff54 in DolphinView::requestContextMenu(QPoint const&, KFileItem const&, QUrl const&, QList<QAction*> const&) () from /usr/lib64/libdolphinprivate.so.5 #31 0x00007f145eaae0ef in DolphinView::slotItemContextMenuRequested(int, QPointF const&) () from /usr/lib64/libdolphinprivate.so.5 #32 0x00007f145914373f in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5 #33 0x00007f145eaceda6 in KItemListController::itemContextMenuRequested(int, QPointF const&) () from /usr/lib64/libdolphinprivate.so.5 #34 0x00007f145ea717d4 in KItemListController::mousePressEvent(QGraphicsSceneMouseEvent*, QTransform const&) () from /usr/lib64/libdolphinprivate.so.5 #35 0x00007f145ea708eb in KItemListController::processEvent(QEvent*, QTransform const&) () from /usr/lib64/libdolphinprivate.so.5 #36 0x00007f145ea823b2 in KItemListView::event(QEvent*) () from /usr/lib64/libdolphinprivate.so.5 #37 0x00007f145a288e7c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #38 0x00007f145a28dcc8 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #39 0x00007f1459113e95 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #40 0x00007f145a59773f in ?? () from /usr/lib64/libQt5Widgets.so.5 #41 0x00007f145a597b25 in ?? () from /usr/lib64/libQt5Widgets.so.5 #42 0x00007f145a5a0a52 in ?? () from /usr/lib64/libQt5Widgets.so.5 #43 0x00007f145a5a0e99 in QGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent*) () from /usr/lib64/libQt5Widgets.so.5 #44 0x00007f145a5aa2e0 in QGraphicsScene::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #45 0x00007f145a288e7c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #46 0x00007f145a28dcc8 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #47 0x00007f1459113e95 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #48 0x00007f145a5c3f27 in QGraphicsView::mousePressEvent(QMouseEvent*) () from /usr/lib64/libQt5Widgets.so.5 #49 0x00007f145a2c93ba in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #50 0x00007f145a3c343e in QFrame::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #51 0x00007f145a5c5b53 in QGraphicsView::viewportEvent(QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #52 0x00007f14591140d3 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #53 0x00007f145a288e5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #54 0x00007f145a28e2cb in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #55 0x00007f1459113e95 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #56 0x00007f145a28d191 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQt5Widgets.so.5 #57 0x00007f145a2e213b in ?? () from /usr/lib64/libQt5Widgets.so.5 #58 0x00007f145a2e4353 in ?? () from /usr/lib64/libQt5Widgets.so.5 #59 0x00007f145a288e7c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #60 0x00007f145a28dcc8 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #61 0x00007f1459113e95 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #62 0x00007f1459af6804 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib64/libQt5Gui.so.5 #63 0x00007f1459af8015 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib64/libQt5Gui.so.5 #64 0x00007f1459add118 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Gui.so.5 #65 0x00007f144a8f4200 in ?? () from /usr/lib64/libQt5XcbQpa.so.5 #66 0x00007f1453e65c84 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #67 0x00007f1453e65ed8 in ?? () from /usr/lib64/libglib-2.0.so.0 #68 0x00007f1453e65f7c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #69 0x00007f145916ad6c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #70 0x00007f1459111d53 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #71 0x00007f14591198f6 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5 #72 0x00007f145f118311 in kdemain () from /usr/lib64/libkdeinit5_dolphin.so #73 0x00007f145ed32b05 in __libc_start_main () from /lib64/libc.so.6 #74 0x00000000004007ee in _start () *** Bug 357453 has been marked as a duplicate of this bug. *** Git commit b3c8ad1ad48d65ea77724f94073909dc8ab97596 by David Edmundson. Committed on 06/02/2016 at 18:03. Pushed by davidedmundson into branch 'master'. Fix crash in activities context menu Currently we call deleteLater() from inside ::run which is running in a different thread than the receiving object. (QThread objects live in the thread that created them, not in the thread they create) This patch causes deleteLater to be run in the right thread. QCoreApplication::postEvent is thread safe but it needs to be in the right thread to work out the correct event loop level for deferred delete events. REVIEW: 126955 M +1 -1 src/workspace/fileitemplugin/FileItemLinkingPlugin.cpp M +7 -2 src/workspace/fileitemplugin/FileItemLinkingPluginActionLoader.cpp M +2 -2 src/workspace/fileitemplugin/FileItemLinkingPluginActionLoader.h http://commits.kde.org/kactivities/b3c8ad1ad48d65ea77724f94073909dc8ab97596 So this patch go into KDE Framewoks 19 or only into KF 20? 20 *** Bug 359182 has been marked as a duplicate of this bug. *** *** Bug 359455 has been marked as a duplicate of this bug. *** *** Bug 352923 has been marked as a duplicate of this bug. *** *** Bug 354816 has been marked as a duplicate of this bug. *** *** Bug 358379 has been marked as a duplicate of this bug. *** *** Bug 358104 has been marked as a duplicate of this bug. *** *** Bug 359777 has been marked as a duplicate of this bug. *** *** Bug 355570 has been marked as a duplicate of this bug. *** *** Bug 362619 has been marked as a duplicate of this bug. *** *** Bug 367876 has been marked as a duplicate of this bug. *** *** Bug 356893 has been marked as a duplicate of this bug. *** *** Bug 366288 has been marked as a duplicate of this bug. *** *** Bug 363472 has been marked as a duplicate of this bug. *** *** Bug 363010 has been marked as a duplicate of this bug. *** *** Bug 362460 has been marked as a duplicate of this bug. *** *** Bug 358793 has been marked as a duplicate of this bug. *** *** Bug 359456 has been marked as a duplicate of this bug. *** *** Bug 357555 has been marked as a duplicate of this bug. *** *** Bug 366461 has been marked as a duplicate of this bug. *** *** Bug 371519 has been marked as a duplicate of this bug. *** *** Bug 357040 has been marked as a duplicate of this bug. *** *** Bug 362987 has been marked as a duplicate of this bug. *** *** Bug 353490 has been marked as a duplicate of this bug. *** *** Bug 373450 has been marked as a duplicate of this bug. *** *** Bug 368117 has been marked as a duplicate of this bug. *** *** Bug 367852 has been marked as a duplicate of this bug. *** *** Bug 372489 has been marked as a duplicate of this bug. *** *** Bug 362260 has been marked as a duplicate of this bug. *** *** Bug 356163 has been marked as a duplicate of this bug. *** *** Bug 359556 has been marked as a duplicate of this bug. *** *** Bug 378717 has been marked as a duplicate of this bug. *** *** Bug 381798 has been marked as a duplicate of this bug. *** *** Bug 387275 has been marked as a duplicate of this bug. *** |