Application: plasmashell (5.3.90) Qt Version: 5.4.2 Operating System: Linux 4.1.0-rc4-2.g4631e0c-desktop x86_64 Distribution: "openSUSE 20150529 (Tumbleweed) (x86_64)" -- Information about the crash: - What I was doing when the application crashed: every invocation of kquitapp5 plasmashell calls the doctor. The crash can be reproduced every time. -- Backtrace: Application: Plasma (plasmashell), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7fa4dcd65880 (LWP 13393))] Thread 15 (Thread 0x7fa4c59e7700 (LWP 13395)): #0 0x00007fa4d68594cd in poll () at /lib64/libc.so.6 #1 0x00007fa4db669202 in () at /usr/lib64/libxcb.so.1 #2 0x00007fa4db66accf in xcb_wait_for_event () at /usr/lib64/libxcb.so.1 #3 0x00007fa4c89eff19 in QXcbEventReader::run() (this=0x1788040) at qxcbconnection.cpp:1106 #4 0x00007fa4d6ecaa7f in () at /usr/lib64/libQt5Core.so.5 #5 0x00007fa4d5e55484 in start_thread () at /lib64/libpthread.so.0 #6 0x00007fa4d6861a4d in clone () at /lib64/libc.so.6 Thread 14 (Thread 0x7fa4bf3ea700 (LWP 13396)): #0 0x00007fa4d68594cd in poll () at /lib64/libc.so.6 #1 0x00007fa4d2d45e54 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007fa4d2d45f6c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007fa4d70fc81b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007fa4d70a340b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007fa4d6ec5e4a in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007fa4da129138 in QQmlThreadPrivate::run() (this=0x1873490) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/ftw/qqmlthread.cpp:141 #7 0x00007fa4d6ecaa7f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007fa4d5e55484 in start_thread () at /lib64/libpthread.so.0 #9 0x00007fa4d6861a4d in clone () at /lib64/libc.so.6 Thread 13 (Thread 0x7fa4b1fb1700 (LWP 13406)): #0 0x00007fa4d5e5991f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007fa4bca599f3 in () at /usr/lib64/dri/r600_dri.so #2 0x00007fa4bca591c7 in () at /usr/lib64/dri/r600_dri.so #3 0x00007fa4d5e55484 in start_thread () at /lib64/libpthread.so.0 #4 0x00007fa4d6861a4d in clone () at /lib64/libc.so.6 Thread 12 (Thread 0x7fa4ac080700 (LWP 13407)): #0 0x00007fa4d2d87cd4 in g_mutex_unlock () at /usr/lib64/libglib-2.0.so.0 #1 0x00007fa4d2d45490 in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0 #2 0x00007fa4d2d45d70 in () at /usr/lib64/libglib-2.0.so.0 #3 0x00007fa4d2d45f6c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #4 0x00007fa4d70fc81b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007fa4d70a340b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #6 0x00007fa4d6ec5e4a in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #7 0x00007fa4da129138 in QQmlThreadPrivate::run() (this=0x1b520f0) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/ftw/qqmlthread.cpp:141 #8 0x00007fa4d6ecaa7f in () at /usr/lib64/libQt5Core.so.5 #9 0x00007fa4d5e55484 in start_thread () at /lib64/libpthread.so.0 #10 0x00007fa4d6861a4d in clone () at /lib64/libc.so.6 Thread 11 (Thread 0x7fa485ffd700 (LWP 13418)): #0 0x00007fa4d2d44ed0 in g_main_context_acquire () at /usr/lib64/libglib-2.0.so.0 #1 0x00007fa4d2d45d15 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007fa4d2d45f6c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007fa4d70fc81b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007fa4d70a340b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007fa4d6ec5e4a in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007fa4da129138 in QQmlThreadPrivate::run() (this=0x237ef70) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/ftw/qqmlthread.cpp:141 #7 0x00007fa4d6ecaa7f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007fa4d5e55484 in start_thread () at /lib64/libpthread.so.0 #9 0x00007fa4d6861a4d in clone () at /lib64/libc.so.6 Thread 10 (Thread 0x7fa484ddd700 (LWP 13419)): #0 0x00007fa4d2d87cd4 in g_mutex_unlock () at /usr/lib64/libglib-2.0.so.0 #1 0x00007fa4d2d458d9 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0 #2 0x00007fa4d2d45de8 in () at /usr/lib64/libglib-2.0.so.0 #3 0x00007fa4d2d45f6c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #4 0x00007fa4d70fc81b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007fa4d70a340b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #6 0x00007fa4d6ec5e4a in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #7 0x00007fa4da129138 in QQmlThreadPrivate::run() (this=0x247f3d0) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/ftw/qqmlthread.cpp:141 #8 0x00007fa4d6ecaa7f in () at /usr/lib64/libQt5Core.so.5 #9 0x00007fa4d5e55484 in start_thread () at /lib64/libpthread.so.0 #10 0x00007fa4d6861a4d in clone () at /lib64/libc.so.6 Thread 9 (Thread 0x7fa4777ff700 (LWP 13420)): #0 0x00007fa4d2d87cb9 in g_mutex_lock () at /usr/lib64/libglib-2.0.so.0 #1 0x00007fa4d2d45691 in g_main_context_query () at /usr/lib64/libglib-2.0.so.0 #2 0x00007fa4d2d45dbf in () at /usr/lib64/libglib-2.0.so.0 #3 0x00007fa4d2d45f6c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #4 0x00007fa4d70fc81b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007fa4d70a340b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #6 0x00007fa4d6ec5e4a in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #7 0x00007fa4da129138 in QQmlThreadPrivate::run() (this=0x256a770) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/ftw/qqmlthread.cpp:141 #8 0x00007fa4d6ecaa7f in () at /usr/lib64/libQt5Core.so.5 #9 0x00007fa4d5e55484 in start_thread () at /lib64/libpthread.so.0 #10 0x00007fa4d6861a4d in clone () at /lib64/libc.so.6 Thread 8 (Thread 0x7fa4767fe700 (LWP 13421)): #0 0x00007fa4d685559d in read () at /lib64/libc.so.6 #1 0x00007fa4d2d86b20 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007fa4d2d45989 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0 #3 0x00007fa4d2d45de8 in () at /usr/lib64/libglib-2.0.so.0 #4 0x00007fa4d2d45f6c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #5 0x00007fa4d70fc81b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #6 0x00007fa4d70a340b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #7 0x00007fa4d6ec5e4a in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #8 0x00007fa4da129138 in QQmlThreadPrivate::run() (this=0x2663740) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/ftw/qqmlthread.cpp:141 #9 0x00007fa4d6ecaa7f in () at /usr/lib64/libQt5Core.so.5 #10 0x00007fa4d5e55484 in start_thread () at /lib64/libpthread.so.0 #11 0x00007fa4d6861a4d in clone () at /lib64/libc.so.6 Thread 7 (Thread 0x7fa4757fd700 (LWP 13422)): #0 0x00007fa4d5e5991f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007fa4dc46d47b in () at /usr/lib64/libQt5Script.so.5 #2 0x00007fa4dc46d4a9 in () at /usr/lib64/libQt5Script.so.5 #3 0x00007fa4d5e55484 in start_thread () at /lib64/libpthread.so.0 #4 0x00007fa4d6861a4d in clone () at /lib64/libc.so.6 Thread 6 (Thread 0x7fa46a6b2700 (LWP 13424)): #0 0x00007fa4d2d87cd4 in g_mutex_unlock () at /usr/lib64/libglib-2.0.so.0 #1 0x00007fa4d2d458d9 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0 #2 0x00007fa4d2d45de8 in () at /usr/lib64/libglib-2.0.so.0 #3 0x00007fa4d2d45f6c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #4 0x00007fa4d70fc81b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007fa4d70a340b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #6 0x00007fa4d6ec5e4a in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #7 0x00007fa4da129138 in QQmlThreadPrivate::run() (this=0x292ef80) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/ftw/qqmlthread.cpp:141 #8 0x00007fa4d6ecaa7f in () at /usr/lib64/libQt5Core.so.5 #9 0x00007fa4d5e55484 in start_thread () at /lib64/libpthread.so.0 #10 0x00007fa4d6861a4d in clone () at /lib64/libc.so.6 Thread 5 (Thread 0x7fa468cb2700 (LWP 13426)): #0 0x00007fa4d68594cd in poll () at /lib64/libc.so.6 #1 0x00007fa4d2d45e54 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007fa4d2d45f6c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007fa4d70fc81b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007fa4d70a340b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007fa4d6ec5e4a in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007fa4da7a2042 in QQuickPixmapReader::run() (this=0x28f30c0) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/quick/util/qquickpixmapcache.cpp:714 #7 0x00007fa4d6ecaa7f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007fa4d5e55484 in start_thread () at /lib64/libpthread.so.0 #9 0x00007fa4d6861a4d in clone () at /lib64/libc.so.6 Thread 4 (Thread 0x7fa3e3cbd700 (LWP 13427)): #0 0x00007fa4d2d87cb0 in g_mutex_lock () at /usr/lib64/libglib-2.0.so.0 #1 0x00007fa4d2d458ec in g_main_context_check () at /usr/lib64/libglib-2.0.so.0 #2 0x00007fa4d2d45de8 in () at /usr/lib64/libglib-2.0.so.0 #3 0x00007fa4d2d45f6c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #4 0x00007fa4d70fc81b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007fa4d70a340b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #6 0x00007fa4d6ec5e4a in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #7 0x00007fa4da129138 in QQmlThreadPrivate::run() (this=0x1852e80) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/ftw/qqmlthread.cpp:141 #8 0x00007fa4d6ecaa7f in () at /usr/lib64/libQt5Core.so.5 #9 0x00007fa4d5e55484 in start_thread () at /lib64/libpthread.so.0 #10 0x00007fa4d6861a4d in clone () at /lib64/libc.so.6 Thread 3 (Thread 0x7fa3d2e0b700 (LWP 13458)): #0 0x00007fa4d685559d in read () at /lib64/libc.so.6 #1 0x00007fa4d2d86b20 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007fa4d2d45989 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0 #3 0x00007fa4d2d45de8 in () at /usr/lib64/libglib-2.0.so.0 #4 0x00007fa4d2d45f6c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #5 0x00007fa4d70fc81b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #6 0x00007fa4d70a340b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #7 0x00007fa4d6ec5e4a in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #8 0x00007fa3d0834a27 in KCupsConnection::run() () at /usr/lib64/libkcupslib.so #9 0x00007fa4d6ecaa7f in () at /usr/lib64/libQt5Core.so.5 #10 0x00007fa4d5e55484 in start_thread () at /lib64/libpthread.so.0 #11 0x00007fa4d6861a4d in clone () at /lib64/libc.so.6 Thread 2 (Thread 0x7fa3c1f24700 (LWP 13504)): #0 0x00007ffc8c5ca942 in clock_gettime () #1 0x00007fa4d686e47d in clock_gettime () at /lib64/libc.so.6 #2 0x00007fa4d6f7cdb6 in () at /usr/lib64/libQt5Core.so.5 #3 0x00007fa4d70fae49 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5 #4 0x00007fa4d70fb3d5 in QTimerInfoList::timerWait(timespec&) () at /usr/lib64/libQt5Core.so.5 #5 0x00007fa4d70fc5ee in () at /usr/lib64/libQt5Core.so.5 #6 0x00007fa4d2d4549d in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0 #7 0x00007fa4d2d45d70 in () at /usr/lib64/libglib-2.0.so.0 #8 0x00007fa4d2d45f6c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #9 0x00007fa4d70fc81b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #10 0x00007fa4d70a340b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #11 0x00007fa4d6ec5e4a in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #12 0x00007fa4da129138 in QQmlThreadPrivate::run() (this=0x4ea2c70) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/ftw/qqmlthread.cpp:141 #13 0x00007fa4d6ecaa7f in () at /usr/lib64/libQt5Core.so.5 #14 0x00007fa4d5e55484 in start_thread () at /lib64/libpthread.so.0 #15 0x00007fa4d6861a4d in clone () at /lib64/libc.so.6 Thread 1 (Thread 0x7fa4dcd65880 (LWP 13393)): [KCrash Handler] #5 0x00007fa4dc7a3cd4 in PlasmaQuick::View::containment() const (this=0x40) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:587 #6 0x00007fa4dc7a3cd4 in PlasmaQuick::View::containment() const (this=0x40) at /usr/include/qt5/QtCore/qpointer.h:70 #7 0x00007fa4dc7a3cd4 in PlasmaQuick::View::containment() const (this=0x40) at /usr/include/qt5/QtCore/qpointer.h:76 #8 0x00007fa4dc7a3cd4 in PlasmaQuick::View::containment() const (this=0x2298b30) at /usr/src/debug/plasma-framework-5.11.0git.20150528T125130~a2e223c/src/plasmaquick/view.cpp:248 #9 0x00000000004509c6 in ShellCorona::screenForContainment(Plasma::Containment const*) const () #10 0x00007fa4a9def711 in ContainmentInterface::availableScreenRect() const (this=this@entry=0x2576460) at /usr/src/debug/plasma-framework-5.11.0git.20150528T125130~a2e223c/src/scriptengines/qml/plasmoid/containmentinterface.cpp:220 #11 0x00007fa4a9df96c8 in ContainmentInterface::qt_metacall(QMetaObject::Call, int, void**) (this=0x2576460, _c=<optimized out>, _id=5, _a=0x7ffc8c4e6980) at /usr/src/debug/plasma-framework-5.11.0git.20150528T125130~a2e223c/build/src/scriptengines/qml/moc_containmentinterface.cpp:392 #12 0x00007fa4da0dd4e9 in QQmlValueTypeBase<QRect>::read(QObject*, int) (p=0x2927bd4, idx=<optimized out>, obj=<optimized out>, this=0x2927bc0) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/qqmlvaluetype_p.h:86 #13 0x00007fa4da0dd4e9 in QQmlValueTypeBase<QRect>::read(QObject*, int) (this=0x2927bc0, obj=<optimized out>, idx=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/qqmlvaluetype_p.h:114 #14 0x00007fa4da11d108 in readReferenceValue(QmlValueTypeReference const*) (reference=reference@entry=0x7fa498041f40) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/qqmlvaluetypewrapper.cpp:125 #15 0x00007fa4da11d3ee in QV4::QmlValueTypeWrapper::get(QV4::Managed*, QV4::String*, bool*) (m=0x7fa498041f40, name=0x7fa4845bfc40, hasProperty=0x0) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/qqmlvaluetypewrapper.cpp:275 #16 0x00007fa4da07d337 in QV4::Runtime::getProperty(QV4::ExecutionContext*, QV4::ValueRef, QV4::String*) (hasProperty=0x0, name=0x7fa4845bfc40, this=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/jsruntime/qv4object_p.h:252 #17 0x00007fa4da07d337 in QV4::Runtime::getProperty(QV4::ExecutionContext*, QV4::ValueRef, QV4::String*) (ctx=0x7ffc8c4e6bf0, object=..., name=0x7fa4845bfc40) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/jsruntime/qv4runtime.cpp:654 #18 0x00007fa484028cbe in () #19 0x00007ffc8c4e6d10 in () #20 0x00007fa4da06f942 in QV4::QObjectWrapper::getProperty(QObject*, QV4::ExecutionContext*, QQmlPropertyData*, bool) (object=0x7fa4767ff0a8, ctx=0x7ffc8c4e6bf0, property=0x7ffc8c4e6b90, captureRequired=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/jsruntime/qv4qobjectwrapper.cpp:388 #21 0x0000000000000000 in () Reported using DrKonqi
Are you running Marco's single engine branches?
Nope. KF5 & Plasma master + Qt 5.4.2 branch.
OK, must have fewer threads because we're midway through shutting down. Will investigate sometime.
Hi, I also have this bug. It is quite annoying because plasmashell crashes and displays an error dialogue every time I logout/shutdown. The bug is triggered by (not sure if caused by) commit 1f9c20e4c4c25f5df3593792f5166af3eeee6068 in plasma-desktop. Reverting the commit does fix this problem (but not sure if it causes other problems).
I can confirm that reverting the mentioned commit "fixes" the crash, so apparently on shutdown the containment's corona is already gone and then m_containment->corona() ->availableScreenRect(screenId) breaks on a dangling pointer?
Git commit 4942878b67c6a5ae82df11264eb751944cea4a69 by Kai Uwe Broulik. Committed on 11/07/2015 at 00:06. Pushed by broulik into branch 'master'. Clear view lists in destructor This fixes a crash on shutdown when it has already deleted its views but someone calls into availableScreenRect FIXED-IN: 5.4.0 REVIEW: 124323 M +2 -0 shell/shellcorona.cpp http://commits.kde.org/plasma-workspace/4942878b67c6a5ae82df11264eb751944cea4a69
*** Bug 349766 has been marked as a duplicate of this bug. ***
*** Bug 351061 has been marked as a duplicate of this bug. ***
*** Bug 350866 has been marked as a duplicate of this bug. ***