Bug 358551

Summary: plasma crashed after clicking on plasmoids or apps
Product: [Plasma] plasmashell Reporter: Michalis Panayiotou <michaP.cy>
Component: generalAssignee: David Edmundson <kde>
Status: RESOLVED FIXED    
Severity: crash CC: bshah, plasma-bugs-null
Priority: NOR Keywords: drkonqi
Version First Reported In: 5.5.3   
Target Milestone: 1.0   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Michalis Panayiotou 2016-01-25 19:15:48 UTC
Application: plasmashell (5.5.3)

Qt Version: 5.5.1
Operating System: Linux 4.2.0-25-generic x86_64
Distribution: Netrunner 17

-- Information about the crash:
- What I was doing when the application crashed:
sometimes when I click on a plasmoid it doesn't respont and when I click again plasma crashes.
same happens when I try to open steam.
(my installation is fresh new)

The crash can be reproduced sometimes.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f3bd1c1f800 (LWP 1329))]

Thread 9 (Thread 0x7f3bbd14c700 (LWP 1332)):
#0  0x00007f3bcc3268dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f3bd03f4bd2 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f3bd03f674f in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f3bbf2957e9 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f3bcca1ca6e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f3bcbb086aa in start_thread (arg=0x7f3bbd14c700) at pthread_create.c:333
#6  0x00007f3bcc331eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 0x7f3bb68fd700 (LWP 1420)):
#0  0x00007f3bcc32249d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f3bc90ff4e0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3bc90bbcd4 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3bc90bc190 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f3bc90bc2fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f3bccc5450b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f3bccbfb50a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f3bcca17ac4 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f3bcf2c5c35 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007f3bcca1ca6e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f3bcbb086aa in start_thread (arg=0x7f3bb68fd700) at pthread_create.c:333
#11 0x00007f3bcc331eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7f3baca0e700 (LWP 1422)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f3baf9ec4da in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#2  0x00007f3baf9ebc17 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#3  0x00007f3bcbb086aa in start_thread (arg=0x7f3baca0e700) at pthread_create.c:333
#4  0x00007f3bcc331eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7f3ba81dd700 (LWP 1423)):
#0  0x00007f3bc9100884 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f3bc90bb770 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3bc90bc11b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3bc90bc2fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f3bccc5450b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f3bccbfb50a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f3bcca17ac4 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f3bcf2c5c35 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f3bcca1ca6e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f3bcbb086aa in start_thread (arg=0x7f3ba81dd700) at pthread_create.c:333
#10 0x00007f3bcc331eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f3ba617c700 (LWP 1434)):
#0  0x00007f3bccc538c0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007f3bc90bb77d in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3bc90bc11b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3bc90bc2fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f3bccc5450b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f3bccbfb50a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f3bcca17ac4 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f3bcf2c5c35 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f3bcca1ca6e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f3bcbb086aa in start_thread (arg=0x7f3ba617c700) at pthread_create.c:333
#10 0x00007f3bcc331eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f3b9eb1a700 (LWP 1436)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f3bd166e194 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007f3bd166e1d9 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007f3bcbb086aa in start_thread (arg=0x7f3b9eb1a700) at pthread_create.c:333
#4  0x00007f3bcc331eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f3b06962700 (LWP 1470)):
#0  0x00007f3bcc32249d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f3bc90ff4e0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3bc90bbcd4 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3bc90bc190 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f3bc90bc2fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f3bccc5450b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f3bccbfb50a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f3bcca17ac4 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f3bcfc4e2a6 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#9  0x00007f3bcca1ca6e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f3bcbb086aa in start_thread (arg=0x7f3b06962700) at pthread_create.c:333
#11 0x00007f3bcc331eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f3af7456700 (LWP 1605)):
#0  0x00007f3bcc3268dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f3bc90bc1ec in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3bc90bc2fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3bccc5450b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f3bccbfb50a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f3bcca17ac4 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f3af866c8f7 in KCupsConnection::run() () from /usr/lib/x86_64-linux-gnu/libkcupslib.so
#7  0x00007f3bcca1ca6e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f3bcbb086aa in start_thread (arg=0x7f3af7456700) at pthread_create.c:333
#9  0x00007f3bcc331eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f3bd1c1f800 (LWP 1329)):
[KCrash Handler]
#6  0x00007f3bccc059f0 in QMetaObject::cast(QObject*) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f3ba619f7fb in qobject_cast<AppletInterface*> (object=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:518
#8  ContainmentInterface::mousePressEvent (this=0x44e16e0, event=0x46aa370) at ../../../../src/scriptengines/qml/plasmoid/containmentinterface.cpp:913
#9  0x00007f3bcfcdf878 in QQuickItem::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#10 0x00007f3ba6191ea6 in AppletInterface::event (this=0x44e16e0, event=0x46aa370) at ../../../../src/scriptengines/qml/plasmoid/appletinterface.cpp:699
#11 0x00007f3bcd7029dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007f3bcd707ea6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007f3bccbfdd7b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007f3bcfceeb63 in QQuickWindow::sendEvent(QQuickItem*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#15 0x00007f3bcfceee24 in QQuickWindowPrivate::deliverInitialMousePressEvent(QQuickItem*, QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#16 0x00007f3bcfceed61 in QQuickWindowPrivate::deliverInitialMousePressEvent(QQuickItem*, QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#17 0x00007f3bcfceed61 in QQuickWindowPrivate::deliverInitialMousePressEvent(QQuickItem*, QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#18 0x00007f3bcfceefa7 in QQuickWindowPrivate::deliverMouseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#19 0x00007f3bcfcef1c2 in QQuickWindow::mousePressEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#20 0x00007f3bccf493a5 in QWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#21 0x00007f3bcfcf6441 in QQuickWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#22 0x000000000043eab6 in DesktopView::event (this=0x1842720, e=0x7ffc6337a170) at ../../shell/desktopview.cpp:205
#23 0x00007f3bcd7029dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007f3bcd707ea6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007f3bccbfdd7b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007f3bccf405f1 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#27 0x00007f3bccf422b5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#28 0x00007f3bccf26228 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#29 0x00007f3bbf2c70b0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#30 0x00007f3bc90bbff7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007f3bc90bc250 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007f3bc90bc2fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007f3bccc544ef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00007f3bccbfb50a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00007f3bccc035ec in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x000000000043258a in main (argc=2, argv=<optimized out>) at ../../shell/main.cpp:179

Reported using DrKonqi
Comment 1 Marco Martin 2016-02-02 21:46:40 UTC
Git commit 4b833d0f4f225c92f1459bfcff0c4255afbd097c by Marco Martin.
Committed on 02/02/2016 at 21:43.
Pushed by mart into branch 'master'.

more explicit removal from m_appletInterfaces

removal should happen in handler of
Containment::AppletDeleted, but make extra sure to remove it
in case removal happens too late and an access happens
in the meantime
make extra sure dead objects aren't in m_appletInterfaces

M  +4    -0    src/scriptengines/qml/plasmoid/containmentinterface.cpp

http://commits.kde.org/plasma-framework/4b833d0f4f225c92f1459bfcff0c4255afbd097c