Bug 333728

Summary: After switching containment from folderview plasma-shell crashes
Product: [Plasma] plasmashell Reporter: Bhushan Shah <bhush94>
Component: Desktop icons & Folder View widgetAssignee: Eike Hein <hein>
Status: RESOLVED UPSTREAM    
Severity: normal CC: mklapetek, notmart
Priority: NOR    
Version: master   
Target Milestone: 1.0   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Bhushan Shah 2014-04-22 14:18:59 UTC
Thread 1 (Thread 0xb20c3780 (LWP 14840)):
[KCrash Handler]
#7  0x00000000 in ?? ()
#8  0xb753fdb4 in QQuickItemPrivate::deliverFocusEvent(QFocusEvent*) () from /usr/lib/libQt5Quick.so.5
#9  0xb7557acf in QQuickWindow::sendEvent(QQuickItem*, QEvent*) () from /usr/lib/libQt5Quick.so.5
#10 0xb7558c47 in QQuickWindowPrivate::setFocusInScope(QQuickItem*, QQuickItem*, Qt::FocusReason, QFlags<QQuickWindowPrivate::FocusOption>) () from /usr/lib/libQt5Quick.so.5
#11 0xb7542f06 in QQuickItem::setFocus(bool, Qt::FocusReason) () from /usr/lib/libQt5Quick.so.5
#12 0xb7553efd in QQuickWindow::focusInEvent(QFocusEvent*) () from /usr/lib/libQt5Quick.so.5
#13 0xb5163546 in QWindow::event(QEvent*) () from /usr/lib/libQt5Gui.so.5
#14 0xb755d934 in QQuickWindow::event(QEvent*) () from /usr/lib/libQt5Quick.so.5
#15 0x0809b86f in DesktopView::event (this=0xa4c3e88, e=0xbfbc8180) at /home/bshah/kdesrc/kde/workspace/plasma-workspace/shell/desktopview.cpp:149
#16 0xb55d4da6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#17 0xb55da7c1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#18 0xb4e3bcbc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#19 0xb515d31a in QGuiApplicationPrivate::processActivatedEvent(QWindowSystemInterfacePrivate::ActivatedWindowEvent*) () from /usr/lib/libQt5Gui.so.5
#20 0xb515d6b0 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/libQt5Gui.so.5
#21 0xb5142d66 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5
#22 0xb2061e31 in ?? () from /usr/lib/qt/plugins/platforms/libqxcb.so
#23 0xb40e860e in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#24 0xb40e89b8 in ?? () from /usr/lib/libglib-2.0.so.0
#25 0xb40e8a78 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#26 0xb4e8ecfd in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#27 0xb2062036 in ?? () from /usr/lib/qt/plugins/platforms/libqxcb.so
#28 0xb4e3a3c8 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#29 0xb4e3a7ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#30 0xb4e41816 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#31 0xb51539f4 in QGuiApplication::exec() () from /usr/lib/libQt5Gui.so.5
#32 0xb55d3584 in QApplication::exec() () from /usr/lib/libQt5Widgets.so.5
#33 0x08092520 in main (argc=1, argv=0xbfbc8664) at /home/bshah/kdesrc/kde/workspace/plasma-workspace/shell/main.cpp:91
Comment 1 Marco Martin 2014-04-23 09:26:24 UTC
can reproduce here, stack slighly more complete but still not 100% ok

Thread 1 (Thread 0xafa6e980 (LWP 2390)):
[KCrash Handler]
#6  0x000000e0 in ?? ()
#7  0xb4577ce9 in QMetaObject::cast (this=0xb555e20c <QAction::staticMetaObject>, obj=0x8abde10) at kernel/qmetaobject.cpp:339
#8  0xb631c7c2 in qobject_cast<QAction*> (object=0x8abde10) at /opt/kde5qt5/include/QtCore/qobject.h:522
#9  0xb631f82b in KActionConflictDetector::eventFilter (this=0x848e7e8, watched=0x8abde10, event=0xbf8679a4) at /home/diau/git/kf5/frameworks/kxmlgui/src/kactionconflictdetector.cpp:44
#10 0xb456fb00 in QCoreApplicationPrivate::sendThroughApplicationEventFilters (this=0x844b040, receiver=0x8abde10, event=0xbf8679a4) at kernel/qcoreapplication.cpp:1014
#11 0xb4f49f60 in QApplicationPrivate::notify_helper (this=0x844b040, receiver=0x8abde10, e=0xbf8679a4) at kernel/qapplication.cpp:3462
#12 0xb4f47a09 in QApplication::notify (this=0xbf86852c, receiver=0x8abde10, e=0xbf8679a4) at kernel/qapplication.cpp:2940
#13 0xb456f901 in QCoreApplication::notifyInternal (this=0xbf86852c, receiver=0x8abde10, event=0xbf8679a4) at kernel/qcoreapplication.cpp:937
#14 0xb73fa745 in QCoreApplication::sendEvent (receiver=0x8abde10, event=0xbf8679a4) at /home/diau/git/qt5/qtbase/include/QtCore/../../src/corelib/kernel/qcoreapplication.h:237
#15 0xb73f71d0 in QQuickWindow::sendEvent (this=0x8e80248, item=0x8abde10, e=0xbf8679a4) at items/qquickwindow.cpp:2396
#16 0xb73f1d99 in QQuickWindowPrivate::setFocusInScope (this=0x8e83738, scope=0x0, item=0x8e7fa68, reason=Qt::ActiveWindowFocusReason, options=...) at items/qquickwindow.cpp:788
#17 0xb73df154 in QQuickItem::setFocus (this=0x8e7fa68, focus=true, reason=Qt::ActiveWindowFocusReason) at items/qquickitem.cpp:6313
#18 0xb73ef8a8 in QQuickWindow::focusInEvent (this=0x8e80248, ev=0xbf86816c) at items/qquickwindow.cpp:256
#19 0xb497c4cb in QWindow::event (this=0x8e80248, ev=0xbf86816c) at kernel/qwindow.cpp:1914
#20 0xb73f2e64 in QQuickWindow::event (this=0x8e80248, e=0xbf86816c) at items/qquickwindow.cpp:1338
#21 0x080a11ad in DesktopView::event(QEvent*) ()
#22 0xb4f4a0a4 in QApplicationPrivate::notify_helper (this=0x844b040, receiver=0x8e80248, e=0xbf86816c) at kernel/qapplication.cpp:3487
#23 0xb4f47a09 in QApplication::notify (this=0xbf86852c, receiver=0x8e80248, e=0xbf86816c) at kernel/qapplication.cpp:2940
#24 0xb456f901 in QCoreApplication::notifyInternal (this=0xbf86852c, receiver=0x8e80248, event=0xbf86816c) at kernel/qcoreapplication.cpp:937
#25 0xb4974759 in QCoreApplication::sendSpontaneousEvent (receiver=0x8e80248, event=0xbf86816c) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:240
Comment 2 Marco Martin 2014-04-23 09:28:07 UTC
Also, it happens only when switching folderView->desktop and not from desktop->folderview

so seems really something happening when folderview gets destroyed
Comment 3 Martin Klapetek 2014-05-07 11:23:40 UTC
I can reliably reproduce the crash both ways - fv -> desktop & desktop -> fv
Comment 4 Marco Martin 2014-05-14 09:46:57 UTC
Git commit 3674d5c882c76e5341d71cafa03ca49970db03b2 by Marco Martin.
Committed on 14/05/2014 at 09:45.
Pushed by mart into branch 'master'.

fix crashes in *some* cases during containment switch

the full fix depends from the upstream fix of
https://bugreports.qt-project.org/browse/QTBUG-38982

M  +8    -2    shell/shellcorona.cpp

http://commits.kde.org/plasma-workspace/3674d5c882c76e5341d71cafa03ca49970db03b2