Bug 445315

Summary: Plasma crashed after exiting standby
Product: [Plasma] plasmashell Reporter: Dmitry <nedimon91>
Component: generalAssignee: David Edmundson <kde>
Status: RESOLVED UPSTREAM    
Severity: crash CC: nate, plasma-bugs
Priority: NOR Keywords: drkonqi
Version: 5.23.3   
Target Milestone: 1.0   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Dmitry 2021-11-11 06:58:49 UTC
Application: plasmashell (5.23.3)

Qt Version: 5.15.3
Frameworks Version: 5.87.0
Operating System: Linux 5.11.0-40-generic x86_64
Windowing System: X11
Distribution: KDE neon User - Plasma 25th Anniversary Edition
DrKonqi: 5.23.3 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed:
Plasma crashed after exiting standby. 2 monitors are connected, some windows have moved from the second screen to the first

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault

[New LWP 3044]
[New LWP 3135]
[New LWP 3259]
[New LWP 3384]
[New LWP 3385]
[New LWP 3387]
[New LWP 3405]
[New LWP 3408]
[New LWP 5958]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f54519ebaff in __GI___poll (fds=0x7ffc16262fb8, nfds=1, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:29
__preamble__
[Current thread is 1 (Thread 0x7f544db409c0 (LWP 3025))]

Thread 10 (Thread 0x7f54231ee700 (LWP 5958)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55a8990a9d60) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55a8990a9d10, cond=0x55a8990a9d38) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55a8990a9d38, mutex=0x55a8990a9d10) at pthread_cond_wait.c:638
#3  0x00007f5451d805cb in QWaitConditionPrivate::wait (deadline=..., this=0x55a8990a9d10) at thread/qwaitcondition_unix.cpp:146
#4  QWaitCondition::wait (this=this@entry=0x55a8984b1598, mutex=mutex@entry=0x55a8984b1590, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007f54539e9c24 in QSGRenderThreadEventQueue::takeEvent (wait=true, this=0x55a8984b1588) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qdeadlinetimer.h:68
#6  QSGRenderThread::processEventsAndWaitForMore (this=this@entry=0x55a8984b14f0) at scenegraph/qsgthreadedrenderloop.cpp:936
#7  0x00007f54539ea099 in QSGRenderThread::run (this=0x55a8984b14f0) at scenegraph/qsgthreadedrenderloop.cpp:1053
#8  0x00007f5451d7a45c in QThreadPrivate::start (arg=0x55a8984b14f0) at thread/qthread_unix.cpp:329
#9  0x00007f5450cc9609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f54519f8293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7f53f220e700 (LWP 3408)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55a898133590) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55a898133540, cond=0x55a898133568) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55a898133568, mutex=0x55a898133540) at pthread_cond_wait.c:638
#3  0x00007f5451d805cb in QWaitConditionPrivate::wait (deadline=..., this=0x55a898133540) at thread/qwaitcondition_unix.cpp:146
#4  QWaitCondition::wait (this=this@entry=0x55a897f51d98, mutex=mutex@entry=0x55a897f51d90, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007f54539e9c24 in QSGRenderThreadEventQueue::takeEvent (wait=true, this=0x55a897f51d88) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qdeadlinetimer.h:68
#6  QSGRenderThread::processEventsAndWaitForMore (this=this@entry=0x55a897f51cf0) at scenegraph/qsgthreadedrenderloop.cpp:936
#7  0x00007f54539ea099 in QSGRenderThread::run (this=0x55a897f51cf0) at scenegraph/qsgthreadedrenderloop.cpp:1053
#8  0x00007f5451d7a45c in QThreadPrivate::start (arg=0x55a897f51cf0) at thread/qthread_unix.cpp:329
#9  0x00007f5450cc9609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f54519f8293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7f54109e9700 (LWP 3405)):
#0  0x00007f54519ebaff in __GI___poll (fds=0x7f53ec0071b0, nfds=1, timeout=2143159) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f545029736e in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f54502974a3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5451fbb61b in QEventDispatcherGlib::processEvents (this=0x7f53ec045210, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f5451f5f8ab in QEventLoop::exec (this=this@entry=0x7f54109e8ba0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f5451d792c2 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f542036b07c in KCupsConnection::run() () from /usr/lib/x86_64-linux-gnu/libkcupslib.so
#7  0x00007f5451d7a45c in QThreadPrivate::start (arg=0x55a897c335d0) at thread/qthread_unix.cpp:329
#8  0x00007f5450cc9609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f54519f8293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7f5435180700 (LWP 3387)):
#0  0x00007f54519ebaff in __GI___poll (fds=0x7f54280043d0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f545029736e in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f54502974a3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5451fbb61b in QEventDispatcherGlib::processEvents (this=0x7f5428000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f5451f5f8ab in QEventLoop::exec (this=this@entry=0x7f543517fba0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f5451d792c2 in QThread::exec (this=this@entry=0x7f54380acfc0) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f54539243fa in QQuickPixmapReader::run (this=0x7f54380acfc0) at util/qquickpixmapcache.cpp:1024
#7  0x00007f5451d7a45c in QThreadPrivate::start (arg=0x7f54380acfc0) at thread/qthread_unix.cpp:329
#8  0x00007f5450cc9609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f54519f8293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f543cd43700 (LWP 3385)):
#0  0x00007f54519ee12b in __GI___select (nfds=40, readfds=0x7f543cd42ba0, writefds=0x0, exceptfds=0x0, timeout=0x7f543cd42b90) at ../sysdeps/unix/sysv/linux/select.c:41
#1  0x00007f5445d3e101 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.82.00
#2  0x00007f5445d3bc2d in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.82.00
#3  0x00007f5450cc9609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#4  0x00007f54519f8293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f5437fff700 (LWP 3384)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55a896d16814) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55a896d167c0, cond=0x55a896d167e8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55a896d167e8, mutex=0x55a896d167c0) at pthread_cond_wait.c:638
#3  0x00007f5451d805cb in QWaitConditionPrivate::wait (deadline=..., this=0x55a896d167c0) at thread/qwaitcondition_unix.cpp:146
#4  QWaitCondition::wait (this=this@entry=0x55a89706f208, mutex=mutex@entry=0x55a89706f200, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007f54539e9c24 in QSGRenderThreadEventQueue::takeEvent (wait=true, this=0x55a89706f1f8) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qdeadlinetimer.h:68
#6  QSGRenderThread::processEventsAndWaitForMore (this=this@entry=0x55a89706f160) at scenegraph/qsgthreadedrenderloop.cpp:936
#7  0x00007f54539ea099 in QSGRenderThread::run (this=0x55a89706f160) at scenegraph/qsgthreadedrenderloop.cpp:1053
#8  0x00007f5451d7a45c in QThreadPrivate::start (arg=0x55a89706f160) at thread/qthread_unix.cpp:329
#9  0x00007f5450cc9609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f54519f8293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f543ffff700 (LWP 3259)):
#0  0x00007f545029525d in g_source_ref () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f5450295328 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f545029682b in g_main_context_prepare () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f545029729b in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f54502974a3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f5451fbb61b in QEventDispatcherGlib::processEvents (this=0x7f5438000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007f5451f5f8ab in QEventLoop::exec (this=this@entry=0x7f543fffebc0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#7  0x00007f5451d792c2 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#8  0x00007f545358a549 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007f5451d7a45c in QThreadPrivate::start (arg=0x55a896098c90) at thread/qthread_unix.cpp:329
#10 0x00007f5450cc9609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007f54519f8293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f5447fff700 (LWP 3135)):
#0  0x00007f54519ebaff in __GI___poll (fds=0x7f54400154b0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f545029736e in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f54502974a3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5451fbb61b in QEventDispatcherGlib::processEvents (this=0x7f5440000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f5451f5f8ab in QEventLoop::exec (this=this@entry=0x7f5447ffebb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f5451d792c2 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f54528ecf4b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007f5451d7a45c in QThreadPrivate::start (arg=0x7f5452970d80) at thread/qthread_unix.cpp:329
#8  0x00007f5450cc9609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f54519f8293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f544cd5d700 (LWP 3044)):
#0  0x00007f54519ebaff in __GI___poll (fds=0x7f544cd5cae8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f54540fcc1a in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f54540fe90a in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f544d487e88 in QXcbEventQueue::run (this=0x55a895e3a380) at qxcbeventqueue.cpp:228
#4  0x00007f5451d7a45c in QThreadPrivate::start (arg=0x55a895e3a380) at thread/qthread_unix.cpp:329
#5  0x00007f5450cc9609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f54519f8293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f544db409c0 (LWP 3025)):
[KCrash Handler]
#4  0x00007f5453a2ec1c in QVector<QQuickItem*>::isEmpty (this=0x55a89680ba68) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:90
#5  QQuickItem::polish (this=this@entry=0x55a897451ed0) at items/qquickitem.cpp:4437
#6  0x00007f5453a43768 in forcePolishHelper (item=0x55a897451ed0) at items/qquickwindow.cpp:470
#7  0x00007f5453a4372a in forcePolishHelper (item=0x55a896d53920) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:570
#8  0x00007f5453a4372a in forcePolishHelper (item=0x55a896d44a70) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:570
#9  0x00007f5453a4372a in forcePolishHelper (item=0x55a89653d520) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:570
#10 0x00007f5453a4372a in forcePolishHelper (item=0x55a898ecbcf0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:570
#11 0x00007f5453a4372a in forcePolishHelper (item=0x55a898eca290) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:570
#12 0x00007f5453a43793 in QQuickWindowPrivate::forcePolish (this=this@entry=0x55a896582c20) at items/qquickwindow.cpp:486
#13 0x00007f5453a4381b in QQuickWindow::handleScreenChanged (this=<optimized out>, screen=<optimized out>) at items/qquickwindow.cpp:464
#14 0x00007f5453a45e9d in QQuickWindow::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qquickwindow.cpp:297
#15 0x00007f5451f97e00 in doActivate<false> (sender=0x55a8976b52c0, signal_index=3, argv=0x7ffc16263ee0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395
#16 0x00007f5451f91197 in QMetaObject::activate (sender=sender@entry=0x55a8976b52c0, m=m@entry=0x7f54528b16a0 <QWindow::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc16263ee0) at kernel/qobject.cpp:3946
#17 0x00007f5452347c43 in QWindow::screenChanged (this=this@entry=0x55a8976b52c0, _t1=<optimized out>, _t1@entry=0x55a895f260d0) at .moc/moc_qwindow.cpp:729
#18 0x00007f54523484c7 in QWindowPrivate::emitScreenChangedRecursion (this=this@entry=0x55a896582c20, newScreen=newScreen@entry=0x55a895f260d0) at kernel/qwindow.cpp:484
#19 0x00007f545234f5e6 in QWindowPrivate::setTopLevelScreen (this=0x55a896582c20, newScreen=0x55a895f260d0, recreate=<optimized out>) at kernel/qwindow.cpp:508
#20 0x00007f5452341228 in QGuiApplicationPrivate::processWindowScreenChangedEvent (wse=0x55a898ecb450) at ../../include/QtGui/../../src/gui/kernel/qwindow.h:98
#21 0x00007f5452345a44 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x55a898ecb450) at kernel/qguiapplication.cpp:2029
#22 0x00007f545231d7ac in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#23 0x00007f544d488eae in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#24 0x00007f545029717d in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007f5450297400 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007f54502974a3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007f5451fbb602 in QEventDispatcherGlib::processEvents (this=0x55a895f46610, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#28 0x00007f5451f5f8ab in QEventLoop::exec (this=this@entry=0x7ffc162642e0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#29 0x00007f5451f67a64 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#30 0x000055a894758cf5 in main (argc=<optimized out>, argv=<optimized out>) at ./shell/main.cpp:238
[Inferior 1 (process 3025) detached]

The reporter indicates this bug may be a duplicate of or related to bug 408030.

Possible duplicates by query: bug 408030, bug 389761, bug 386383.

Reported using DrKonqi
Comment 1 Nate Graham 2021-11-12 21:57:32 UTC
Hmm, looks like Qt temporarily forgot about one of your screens  and then something else in Qt couldn't handle the fact that active screens changed. However no KDE code is implicated in the backtrace. I't recommend that you file a bug report upstream for the Qt people at bugreports.qt.io. Thanks!