Application: plasmashell (6.0.3) Qt Version: 6.6.2 Frameworks Version: 6.0.0 Operating System: Linux 6.5.0-26-generic x86_64 Windowing System: X11 Distribution: KDE neon 6.0 DrKonqi: 6.0.3 [CoredumpBackend] -- Information about the crash: monitor goes to sleep. After pressing a key to wake it up, plasma crashes. The crash can be reproduced sometimes. -- Backtrace (Reduced): #6 __pthread_kill_implementation (no_tid=0, signo=6, threadid=125444339747520) at ./nptl/pthread_kill.c:44 #7 __pthread_kill_internal (signo=6, threadid=125444339747520) at ./nptl/pthread_kill.c:78 #8 __GI___pthread_kill (threadid=125444339747520, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #9 0x000072174d442476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #10 0x000072174d4287f3 in __GI_abort () at ./stdlib/abort.c:79 Reported using DrKonqi
Created attachment 167906 [details] New crash information added by DrKonqi DrKonqi auto-attaching complete backtrace.
#6 __pthread_kill_implementation (no_tid=0, signo=6, threadid=125444339747520) at ./nptl/pthread_kill.c:44 #7 __pthread_kill_internal (signo=6, threadid=125444339747520) at ./nptl/pthread_kill.c:78 #8 __GI___pthread_kill (threadid=125444339747520, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #9 0x000072174d442476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #10 0x000072174d4287f3 in __GI_abort () at ./stdlib/abort.c:79 #11 0x000072174e0db597 in qAbort () at ./src/corelib/global/qglobal.cpp:161 #12 0x000072174e0d67f5 in qt_message_fatal<QString&> (message=..., context=...) at ./src/corelib/global/qlogging.cpp:2003 #13 qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=..., msg=<optimized out>, ap=ap@entry=0x7fffefc3fcd0) at ./src/corelib/global/qlogging.cpp:378 #14 0x000072174e0dbfc3 in QMessageLogger::fatal (this=<optimized out>, msg=<optimized out>) at ./src/corelib/global/qlogging.cpp:901 #15 0x000072174e0a0387 in qt_assert_x (where=where@entry=0x5d49db706d88 "void ScreenPool::handleScreenRemoved(QScreen*)", what=<optimized out>, file=file@entry=0x5d49db70700f "./shell/screenpool.cpp", line=line@entry=265) at ./src/corelib/global/qassert.cpp:77 #16 0x00005d49db64fa10 in ScreenPool::handleScreenRemoved (this=0x5d49dd19b4d0, screen=<optimized out>) at ./shell/screenpool.cpp:265 #17 0x000072174e03c3ce in QtPrivate::QSlotObjectBase::call (a=<optimized out>, r=<optimized out>, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ./src/corelib/kernel/qobjectdefs_impl.h:433 #18 doActivate<false> (sender=0x7fffefc407e0, signal_index=10, argv=0x7fffefc40000) at ./src/corelib/kernel/qobject.cpp:4039 #19 0x000072174e4f2646 in QGuiApplication::screenRemoved (this=<optimized out>, _t1=<optimized out>) at ./obj-x86_64-linux-gnu/src/gui/Gui_autogen/include/moc_qguiapplication.cpp:560 #20 0x000072174e54cc02 in QWindowSystemInterface::handleScreenRemoved (platformScreen=0x5d49def4d6f0) at ./src/corelib/kernel/qcoreapplication.h:96 #21 0x00007217489b155c in QXcbConnection::initializeScreensFromMonitor (this=this@entry=0x5d49dcdbab80, it=it@entry=0x7fffefc40240, xcbScreenNumber=xcbScreenNumber@entry=0, primaryScreen=primaryScreen@entry=0x7fffefc40220, initialized=initialized@entry=true) at ./src/plugins/platforms/xcb/qxcbconnection_screens.cpp:567 #22 0x00007217489b1b58 in QXcbConnection::initializeScreens (this=0x5d49dcdbab80, initialized=true) at ./src/plugins/platforms/xcb/qxcbconnection_screens.cpp:317 #23 0x00007217489a6ae2 in QXcbConnection::handleXcbEvent (this=0x5d49dcdbab80, event=0x5d49dd8c0da0) at ./src/plugins/platforms/xcb/qxcbconnection.cpp:590 #24 0x00007217489ad0ee in QXcbConnection::processXcbEvents (this=0x5d49dcdbab80, flags=...) at ./src/plugins/platforms/xcb/qxcbconnection.cpp:1087 #25 0x00007217489c4a87 in xcbSourceDispatch (source=<optimized out>) at ./src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:55 #26 0x000072174c8e1d3b in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #27 0x000072174c937258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #28 0x000072174c8df3e3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #29 0x000072174de55c30 in QEventDispatcherGlib::processEvents (this=0x5d49dce6f520, flags=...) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:393 #30 0x000072174e07fceb in QEventLoop::exec (this=0x7fffefc40700, flags=...) at ./src/corelib/global/qflags.h:34 #31 0x000072174e07a36c in QCoreApplication::exec () at ./src/corelib/global/qflags.h:74 #32 0x000072174e4e9a20 in QGuiApplication::exec () at ./src/gui/kernel/qguiapplication.cpp:1925 #33 0x00007217501ee469 in QApplication::exec () at ./src/widgets/kernel/qapplication.cpp:2574 #34 0x00005d49db652bb4 in main (argc=<optimized out>, argv=<optimized out>) at ./shell/main.cpp:214
Video driver is amdgpu. More or less 9 times out 10, when monitor goes to powersave/sleep, when waking it up, plasmashell crashes. So it almost always crashes. "Crash report" lets us send "automatic" crash report. So I've been sending them also.
Thanks, that's indeed helpful to do.
https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4238 *might* fix that, at least fixes it for the way i could reproduce (disabling internal monitor and enabling external in one go from the kcm) needs to see if it will make sentry reports go down
Git commit dfd160bdf6f660c10b712a664c86a2a7339e8e72 by Marco Martin. Committed on 15/04/2024 at 12:36. Pushed by mart into branch 'master'. Fix redundantoutputs when the enabled screens change very quickly on X11, when a single transaction from KScreen disables screenA and enabled screenB, a new output order arrivers before the old output gets removed and in that moment the new screen will be considered redundant to che screen that is about to be removed, causing an invalid internal state Related: bug 456947 M +4 -3 shell/screenpool.cpp https://invent.kde.org/plasma/plasma-workspace/-/commit/dfd160bdf6f660c10b712a664c86a2a7339e8e72
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4239
Git commit da35849d5f4913221ba362d3961fd29526f364d5 by Marco Martin. Committed on 15/04/2024 at 12:37. Pushed by mart into branch 'Plasma/6.0'. Fix redundantoutputs when the enabled screens change very quickly on X11, when a single transaction from KScreen disables screenA and enabled screenB, a new output order arrivers before the old output gets removed and in that moment the new screen will be considered redundant to che screen that is about to be removed, causing an invalid internal state Related: bug 456947 (cherry picked from commit dfd160bdf6f660c10b712a664c86a2a7339e8e72) c6ff79fd Fix redundantoutputs when the enabled screens change very quickly M +4 -3 shell/screenpool.cpp https://invent.kde.org/plasma/plasma-workspace/-/commit/da35849d5f4913221ba362d3961fd29526f364d5