Application: plasmashell (5.10.3) Qt Version: 5.9.1 Frameworks Version: 5.36.0 Operating System: Linux 4.8.0-58-generic x86_64 Distribution: KDE neon User Edition 5.10 -- Information about the crash: - What I was doing when the application crashed: Just open Visual Studio Code and try to open a file, the global menu just crashed - Unusual behavior I noticed: Just not respond both aplication and global menu 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 0x7f903878c8c0 (LWP 1249))] Thread 8 (Thread 0x7f8f71c36700 (LWP 1416)): #0 0x00007fffa15d9a87 in clock_gettime () #1 0x00007f9032feb836 in __GI___clock_gettime (clock_id=clock_id@entry=1, tp=tp@entry=0x7f8f71c35a20) at ../sysdeps/unix/clock_gettime.c:115 #2 0x00007f90338f9251 in qt_clock_gettime (ts=0x7f8f71c35a20, clock=<optimized out>) at kernel/qelapsedtimer_unix.cpp:111 #3 do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at kernel/qelapsedtimer_unix.cpp:166 #4 qt_gettime () at kernel/qelapsedtimer_unix.cpp:175 #5 0x00007f90338f7a49 in QTimerInfoList::updateCurrentTime (this=this@entry=0x7f8f6c002cd0) at kernel/qtimerinfo_unix.cpp:91 #6 0x00007f90338f7fb5 in QTimerInfoList::timerWait (this=0x7f8f6c002cd0, tm=...) at kernel/qtimerinfo_unix.cpp:388 #7 0x00007f90338f96be in timerSourcePrepareHelper (timeout=0x7f8f71c35af4, src=<optimized out>) at kernel/qeventdispatcher_glib.cpp:132 #8 timerSourcePrepare (source=<optimized out>, timeout=0x7f8f71c35af4) at kernel/qeventdispatcher_glib.cpp:165 #9 0x00007f902e96991d in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #10 0x00007f902e96a2bb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #11 0x00007f902e96a49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #12 0x00007f90338f994b in QEventDispatcherGlib::processEvents (this=0x7f8f6c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #13 0x00007f90338a27ca in QEventLoop::exec (this=this@entry=0x7f8f71c35cc0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #14 0x00007f90336cbcd4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:515 #15 0x00007f8f74114517 in KCupsConnection::run() () from /usr/lib/x86_64-linux-gnu/libkcupslib.so #16 0x00007f90336d0989 in QThreadPrivate::start (arg=0x4a3bc80) at thread/qthread_unix.cpp:368 #17 0x00007f90325756ba in start_thread (arg=0x7f8f71c36700) at pthread_create.c:333 #18 0x00007f9032fdd3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 7 (Thread 0x7f8f83b56700 (LWP 1394)): #0 0x00007f902e9aea79 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x00007f902e969b41 in g_main_context_query () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f902e96a307 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f902e96a49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007f90338f994b in QEventDispatcherGlib::processEvents (this=0x7f8f7c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #5 0x00007f90338a27ca in QEventLoop::exec (this=this@entry=0x7f8f83b55c90, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #6 0x00007f90336cbcd4 in QThread::exec (this=this@entry=0x2b2aac0) at thread/qthread.cpp:515 #7 0x00007f903673b256 in QQuickPixmapReader::run (this=0x2b2aac0) at util/qquickpixmapcache.cpp:868 #8 0x00007f90336d0989 in QThreadPrivate::start (arg=0x2b2aac0) at thread/qthread_unix.cpp:368 #9 0x00007f90325756ba in start_thread (arg=0x7f8f83b56700) at pthread_create.c:333 #10 0x00007f9032fdd3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 6 (Thread 0x7f900bfff700 (LWP 1375)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007f90381e0784 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5 #2 0x00007f90381e07c9 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5 #3 0x00007f90325756ba in start_thread (arg=0x7f900bfff700) at pthread_create.c:333 #4 0x00007f9032fdd3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 5 (Thread 0x7f9012998700 (LWP 1374)): #0 0x00007f902e93e214 in g_ptr_array_set_size () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x00007f902e969871 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f902e96a2bb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f902e96a49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007f90338f994b in QEventDispatcherGlib::processEvents (this=0x7f900c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #5 0x00007f90338a27ca in QEventLoop::exec (this=this@entry=0x7f9012997ce0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #6 0x00007f90336cbcd4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:515 #7 0x00007f9035d99fa5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #8 0x00007f90336d0989 in QThreadPrivate::start (arg=0x25e7e50) at thread/qthread_unix.cpp:368 #9 0x00007f90325756ba in start_thread (arg=0x7f9012998700) at pthread_create.c:333 #10 0x00007f9032fdd3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 4 (Thread 0x7f9020a29700 (LWP 1358)): #0 0x00007f903875ea4b in _dl_update_slotinfo (req_modid=1) at dl-tls.c:645 #1 0x00007f903875ec7c in update_get_addr (ti=0x7f9033b5d770) at dl-tls.c:802 #2 0x00007f90336cf836 in get_thread_data () at thread/qthread_unix.cpp:189 #3 QThreadData::current (createIfNecessary=createIfNecessary@entry=true) at thread/qthread_unix.cpp:244 #4 0x00007f90338f9d51 in postEventSourcePrepare (timeout=0x0, s=0x7f90180012d0) at kernel/qeventdispatcher_glib.cpp:252 #5 postEventSourceCheck (source=0x7f90180012d0) at kernel/qeventdispatcher_glib.cpp:269 #6 0x00007f902e969dc1 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #7 0x00007f902e96a330 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #8 0x00007f902e96a49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #9 0x00007f90338f994b in QEventDispatcherGlib::processEvents (this=0x7f90180008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #10 0x00007f90338a27ca in QEventLoop::exec (this=this@entry=0x7f9020a28ce0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #11 0x00007f90336cbcd4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:515 #12 0x00007f9035d99fa5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #13 0x00007f90336d0989 in QThreadPrivate::start (arg=0x2587e50) at thread/qthread_unix.cpp:368 #14 0x00007f90325756ba in start_thread (arg=0x7f9020a29700) at pthread_create.c:333 #15 0x00007f9032fdd3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 3 (Thread 0x7f902246e700 (LWP 1298)): #0 0x00007f902e9aea94 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x00007f902e96938e in g_main_context_acquire () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f902e96a245 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f902e96a49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007f90338f994b in QEventDispatcherGlib::processEvents (this=0x7f90140008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #5 0x00007f90338a27ca in QEventLoop::exec (this=this@entry=0x7f902246dcd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #6 0x00007f90336cbcd4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:515 #7 0x00007f90388cbb75 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 #8 0x00007f90336d0989 in QThreadPrivate::start (arg=0x7f9038941da0) at thread/qthread_unix.cpp:368 #9 0x00007f90325756ba in start_thread (arg=0x7f902246e700) at pthread_create.c:333 #10 0x00007f9032fdd3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 2 (Thread 0x7f9023d00700 (LWP 1268)): #0 0x00007f9032fd170d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f9037141c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #2 0x00007f90371438d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007f9025e46329 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #4 0x00007f90336d0989 in QThreadPrivate::start (arg=0x24a2e80) at thread/qthread_unix.cpp:368 #5 0x00007f90325756ba in start_thread (arg=0x7f9023d00700) at pthread_create.c:333 #6 0x00007f9032fdd3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 1 (Thread 0x7f903878c8c0 (LWP 1249)): [KCrash Handler] #6 QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::data (this=0xb8) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:140 #7 qGetPtrHelper<QScopedPointer<QObjectData> > (p=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:999 #8 QQuickWindow::d_func (this=0xb0) at items/qquickwindow.h:77 #9 QQuickWindow::mouseGrabberItem (this=0xb0) at items/qquickwindow.cpp:1492 #10 0x00007f9011391ec1 in AppMenuApplet::<lambda()>::operator() (__closure=0x59ada80) at /workspace/build/applets/appmenu/lib/appmenuapplet.cpp:176 #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, AppMenuApplet::trigger(QQuickItem*, int)::<lambda()> >::call (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:130 #12 QtPrivate::Functor<AppMenuApplet::trigger(QQuickItem*, int)::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:242 #13 QtPrivate::QFunctorSlotObject<AppMenuApplet::trigger(QQuickItem*, int)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x59ada70, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:168 #14 0x00007f90338dd546 in QtPrivate::QSlotObjectBase::call (a=0x7fffa1571910, r=<optimized out>, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:101 #15 QSingleShotTimer::timerEvent (this=0x59487a0) at kernel/qtimer.cpp:318 #16 0x00007f90338d1c13 in QObject::event (this=0x59487a0, e=<optimized out>) at kernel/qobject.cpp:1268 #17 0x00007f903420c3fc in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x59487a0, e=0x7fffa1571bd0) at kernel/qapplication.cpp:3717 #18 0x00007f9034213e07 in QApplication::notify (this=0x7fffa1571f90, receiver=0x59487a0, e=0x7fffa1571bd0) at kernel/qapplication.cpp:3476 #19 0x00007f90338a4798 in QCoreApplication::notifyInternal2 (receiver=0x59487a0, event=event@entry=0x7fffa1571bd0) at kernel/qcoreapplication.cpp:1018 #20 0x00007f90338f8cfe in QCoreApplication::sendEvent (event=0x7fffa1571bd0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:233 #21 QTimerInfoList::activateTimers (this=0x24cb050) at kernel/qtimerinfo_unix.cpp:643 #22 0x00007f90338f9581 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182 #23 0x00007f902e96a197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #24 0x00007f902e96a3f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #25 0x00007f902e96a49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #26 0x00007f90338f992f in QEventDispatcherGlib::processEvents (this=0x24e1bc0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #27 0x00007f90338a27ca in QEventLoop::exec (this=this@entry=0x7fffa1571e20, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #28 0x00007f90338ab704 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1291 #29 0x000000000041cd68 in main (argc=1, argv=<optimized out>) at /workspace/build/shell/main.cpp:166 Reported using DrKonqi
*** Bug 382773 has been marked as a duplicate of this bug. ***
Git commit 3ff8c1f65ebeb5c0b7c2d2af59c9330558fcdb5e by Kai Uwe Broulik. Committed on 27/07/2017 at 13:49. Pushed by broulik into branch 'Plasma/5.10'. [AppMenu Applet] Pass "ctx" as context instead of "this" We copy "ctx" pointer by value into our lambda but by the time our timer fires, it might be gone already. Instead, pass "ctx" as context to QTimer::singleShot so it won't fire when it's gone. FIXED-IN: 5.10.5 Differential Revision: https://phabricator.kde.org/D6951 M +1 -1 applets/appmenu/lib/appmenuapplet.cpp https://commits.kde.org/plasma-workspace/3ff8c1f65ebeb5c0b7c2d2af59c9330558fcdb5e
*** Bug 383001 has been marked as a duplicate of this bug. ***