Application: plasmashell (5.4.90) (Compiled from sources) Qt Version: 5.4.2 Operating System: Linux 4.2.0-16-generic x86_64 Distribution: Ubuntu Wily Werewolf (development branch) -- Information about the crash: - What I was doing when the application crashed: kquitapp5 plasmashell Boom. Somewhere in system tray it seems. The crash can be reproduced every time. -- 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 0x7f04a6e49800 (LWP 14880))] Thread 8 (Thread 0x7f0492246700 (LWP 14881)): #0 0x00007f04a15438dd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f04a55d1bd2 in poll (__timeout=-1, __nfds=1, __fds=0x7f0492245cc0) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46 #2 _xcb_conn_wait (c=c@entry=0x8bac70, cond=cond@entry=0x8bacb0, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:459 #3 0x00007f04a55d374f in xcb_wait_for_event (c=0x8bac70) at ../../src/xcb_in.c:623 #4 0x00007f04945909e9 in QXcbEventReader::run (this=0x8c5330) at qxcbconnection.cpp:1105 #5 0x00007f04a1c362be in QThreadPrivate::start (arg=0x8c5330) at thread/qthread_unix.cpp:337 #6 0x00007f04a0d256aa in start_thread (arg=0x7f0492246700) at pthread_create.c:333 #7 0x00007f04a154eeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 7 (Thread 0x7f048b9d9700 (LWP 14882)): #0 0x00007f04a15438dd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f049e2f01ec in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f049e2f02fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f04a1e6d29b in QEventDispatcherGlib::processEvents (this=0x7f04840008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420 #4 0x00007f04a1e1375a in QEventLoop::exec (this=this@entry=0x7f048b9d8da0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #5 0x00007f04a1c313d4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503 #6 0x00007f04a4459f85 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #7 0x00007f04a1c362be in QThreadPrivate::start (arg=0x9a0950) at thread/qthread_unix.cpp:337 #8 0x00007f04a0d256aa in start_thread (arg=0x7f048b9d9700) at pthread_create.c:333 #9 0x00007f04a154eeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 6 (Thread 0x7f047f5fe700 (LWP 14883)): #0 0x00007f04a153f49d in read () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f049e3334e0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f049e2efcd4 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f049e2f0190 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007f049e2f02fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007f04a1e6d29b in QEventDispatcherGlib::processEvents (this=0x7f04780008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420 #6 0x00007f04a1e1375a in QEventLoop::exec (this=this@entry=0x7f047f5fdda0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #7 0x00007f04a1c313d4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503 #8 0x00007f04a4459f85 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #9 0x00007f04a1c362be in QThreadPrivate::start (arg=0xcc8480) at thread/qthread_unix.cpp:337 #10 0x00007f04a0d256aa in start_thread (arg=0x7f047f5fe700) at pthread_create.c:333 #11 0x00007f04a154eeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 5 (Thread 0x7f047cd56700 (LWP 14887)): #0 0x00007f04a15438dd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f049e2f01ec in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f049e2f02fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f04a1e6d29b in QEventDispatcherGlib::processEvents (this=0x7f04740008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420 #4 0x00007f04a1e1375a in QEventLoop::exec (this=this@entry=0x7f047cd55da0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #5 0x00007f04a1c313d4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503 #6 0x00007f04a4459f85 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #7 0x00007f04a1c362be in QThreadPrivate::start (arg=0xe914a0) at thread/qthread_unix.cpp:337 #8 0x00007f04a0d256aa in start_thread (arg=0x7f047cd56700) at pthread_create.c:333 #9 0x00007f04a154eeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 4 (Thread 0x7f046f3cf700 (LWP 14888)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007f04a689a114 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5 #2 0x00007f04a689a159 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5 #3 0x00007f04a0d256aa in start_thread (arg=0x7f046f3cf700) at pthread_create.c:333 #4 0x00007f04a154eeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 3 (Thread 0x7f03ec787700 (LWP 14889)): #0 0x00007f04a153f49d in read () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f049e3334e0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f049e2efcd4 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f049e2f0190 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007f049e2f02fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007f04a1e6d29b in QEventDispatcherGlib::processEvents (this=0x7f03e40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420 #6 0x00007f04a1e1375a in QEventLoop::exec (this=this@entry=0x7f03ec786d50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #7 0x00007f04a1c313d4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503 #8 0x00007f04a4dd5ef6 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #9 0x00007f04a1c362be in QThreadPrivate::start (arg=0x11b0ab0) at thread/qthread_unix.cpp:337 #10 0x00007f04a0d256aa in start_thread (arg=0x7f03ec787700) at pthread_create.c:333 #11 0x00007f04a154eeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 2 (Thread 0x7f03dc86a700 (LWP 14899)): #0 0x00007f04a15438dd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f049e2f01ec in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f049e2f02fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f04a1e6d29b in QEventDispatcherGlib::processEvents (this=0x7f03d80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420 #4 0x00007f04a1e1375a in QEventLoop::exec (this=this@entry=0x7f03dc869d80, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #5 0x00007f04a1c313d4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503 #6 0x00007f03deb046b7 in KCupsConnection::run() () from /usr/lib/x86_64-linux-gnu/libkcupslib.so #7 0x00007f04a1c362be in QThreadPrivate::start (arg=0x31ef330) at thread/qthread_unix.cpp:337 #8 0x00007f04a0d256aa in start_thread (arg=0x7f03dc86a700) at pthread_create.c:333 #9 0x00007f04a154eeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 1 (Thread 0x7f04a6e49800 (LWP 14880)): [KCrash Handler] #6 0x00007f03e1f17791 in QHash<QString, int>::isEmpty() const () from /usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/private/systemtray/libsystemtrayplugin.so #7 0x00007f03e1f16418 in QHash<QString, int>::remove(QString const&) () from /usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/private/systemtray/libsystemtrayplugin.so #8 0x00007f03e1f138e7 in SystemTray::PlasmoidProtocol::newTask(QString const&)::{lambda()#1}::operator()() const () from /usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/private/systemtray/libsystemtrayplugin.so #9 0x00007f03e1f154e9 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, SystemTray::PlasmoidProtocol::newTask(QString const&)::{lambda()#1}>::call({lambda()#1}, void**) () from /usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/private/systemtray/libsystemtrayplugin.so #10 0x00007f03e1f153ef in void QtPrivate::Functor<SystemTray::PlasmoidProtocol::newTask(QString const&)::{lambda()#1}, 0>::call<QtPrivate::List<>, void>({lambda()#1}&, void*, {lambda()#1}&*) () from /usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/private/systemtray/libsystemtrayplugin.so #11 0x00007f03e1f15240 in QtPrivate::QFunctorSlotObject<SystemTray::PlasmoidProtocol::newTask(QString const&)::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) () from /usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/private/systemtray/libsystemtrayplugin.so #12 0x00007f04a1e46617 in QtPrivate::QSlotObjectBase::call (a=0x7ffe48f515d0, r=0x2652740, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124 #13 QMetaObject::activate (sender=sender@entry=0x2652740, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe48f515d0) at kernel/qobject.cpp:3702 #14 0x00007f04a1e46f87 in QMetaObject::activate (sender=sender@entry=0x2652740, m=m@entry=0x7f04a20430e0 <QObject::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe48f515d0) at kernel/qobject.cpp:3582 #15 0x00007f04a1e4702f in QObject::destroyed (this=this@entry=0x2652740, _t1=_t1@entry=0x2652740) at .moc/moc_qobject.cpp:206 #16 0x00007f04a1e4e19a in QObject::~QObject (this=0x2652740, __in_chrg=<optimized out>) at kernel/qobject.cpp:903 #17 0x00007f04a5317016 in Plasma::Applet::~Applet() () from /usr/lib/x86_64-linux-gnu/libKF5Plasma.so.5 #18 0x00007f04a5317046 in Plasma::Applet::~Applet() () from /usr/lib/x86_64-linux-gnu/libKF5Plasma.so.5 #19 0x00007f04a5332fd4 in Plasma::ContainmentPrivate::~ContainmentPrivate() () from /usr/lib/x86_64-linux-gnu/libKF5Plasma.so.5 #20 0x00007f04a531bf09 in Plasma::Containment::~Containment() () from /usr/lib/x86_64-linux-gnu/libKF5Plasma.so.5 #21 0x00007f04a531bf54 in Plasma::Containment::~Containment() () from /usr/lib/x86_64-linux-gnu/libKF5Plasma.so.5 #22 0x00007f04a1e44d2b in QObjectPrivate::deleteChildren (this=this@entry=0xfb1710) at kernel/qobject.cpp:1950 #23 0x00007f04a1e4e620 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1030 #24 0x00007f04a5317016 in Plasma::Applet::~Applet() () from /usr/lib/x86_64-linux-gnu/libKF5Plasma.so.5 #25 0x00007f04a5317046 in Plasma::Applet::~Applet() () from /usr/lib/x86_64-linux-gnu/libKF5Plasma.so.5 #26 0x00007f04a5332fd4 in Plasma::ContainmentPrivate::~ContainmentPrivate() () from /usr/lib/x86_64-linux-gnu/libKF5Plasma.so.5 #27 0x00007f04a531bf09 in Plasma::Containment::~Containment() () from /usr/lib/x86_64-linux-gnu/libKF5Plasma.so.5 #28 0x00007f04a531bf54 in Plasma::Containment::~Containment() () from /usr/lib/x86_64-linux-gnu/libKF5Plasma.so.5 #29 0x00000000004a4f30 in void qDeleteAll<QList<Plasma::Containment*>::const_iterator>(QList<Plasma::Containment*>::const_iterator, QList<Plasma::Containment*>::const_iterator) () #30 0x00000000004a0915 in void qDeleteAll<QList<Plasma::Containment*> >(QList<Plasma::Containment*> const&) () #31 0x00000000004911a4 in ShellCorona::~ShellCorona() () #32 0x000000000049130c in ShellCorona::~ShellCorona() () #33 0x00007f04a1e44d2b in QObjectPrivate::deleteChildren (this=this@entry=0x980880) at kernel/qobject.cpp:1950 #34 0x00007f04a1e4e620 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1030 #35 0x00000000004afa66 in ShellManager::~ShellManager() () #36 0x00000000004afa96 in ShellManager::~ShellManager() () #37 0x00007f04a1e47670 in QObject::event (this=0x93e2f0, e=<optimized out>) at kernel/qobject.cpp:1236 #38 0x00007f04a28f3b8c in QApplicationPrivate::notify_helper (this=this@entry=0x8add50, receiver=receiver@entry=0x93e2f0, e=e@entry=0x36ec330) at kernel/qapplication.cpp:3720 #39 0x00007f04a28f9230 in QApplication::notify (this=0x7ffe48f51fb0, receiver=0x93e2f0, e=0x36ec330) at kernel/qapplication.cpp:3503 #40 0x00007f04a1e15f1b in QCoreApplication::notifyInternal (this=0x7ffe48f51fb0, receiver=0x93e2f0, event=event@entry=0x36ec330) at kernel/qcoreapplication.cpp:935 #41 0x00007f04a1e18057 in QCoreApplication::sendEvent (event=0x36ec330, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228 #42 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=52, data=0x8a2df0) at kernel/qcoreapplication.cpp:1552 #43 0x00007f04a1e18588 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=52) at kernel/qcoreapplication.cpp:1410 #44 0x00007f04a1e1b309 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1195 #45 0x000000000046fa05 in main () Reported using DrKonqi
I can reproduce with latest kubuntu ci packages (master~ish).
Git commit 030033bd9ca74e7770408b90aae06f577db28737 by David Edmundson. Committed on 14/10/2015 at 17:20. Pushed by davidedmundson into branch 'master'. Disconnect lambdas when "this" is destroyed REVIEW: 125639 M +2 -2 applets/systemtray/plugin/protocols/plasmoid/plasmoidprotocol.cpp http://commits.kde.org/plasma-workspace/030033bd9ca74e7770408b90aae06f577db28737