SUMMARY I had locked my session while the laptop was plugged into a dock connected to 2 external monitors. After an hour or so, I tried to log into the system. Only the laptop display was active, not the monitors. I unplugged and replugged the docking cable, I think that's when the crash happened. STEPS TO REPRODUCE 1. Lock session 2. After all displays have gone to sleep, unlock the session. 3. Reseat docking cable / reconnect a display OBSERVED RESULT kwin crashed EXPECTED RESULT Displays are all SOFTWARE/OS VERSIONS Operating System: Solus 4.7 KDE Plasma Version: 6.4.80 KDE Frameworks Version: 6.16.0 Qt Version: 6.9.1 Kernel Version: 6.14.6-319.current (64-bit) Graphics Platform: Wayland Processors: 16 × 11th Gen Intel® Core™ i7-11800H @ 2.30GHz Memory: 64 GiB of RAM (62.5 GiB usable) Graphics Processor 1: Intel® UHD Graphics Graphics Processor 2: NVIDIA GeForce RTX 3060 Laptop GPU ADDITIONAL INFORMATION ] [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib64/libthread_db.so.1". Core was generated by `/home/tracey/kde/usr/bin/kwin_wayland --wayland-fd 7 --socket wayland-0 --xwayland-fd 8 --xwayland-fd 9 --xwayland-display :1 --xwayland-xauthority /run/user/1000/xauth_QscvKX --xwayland'. Program terminated with signal SIGSEGV, Segmentation fault. #0 QRect::bottom (this=0x55f71a6708c0) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/tools/qrect.h:183 warning: 183 /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/tools/qrect.h: No such file or directory [Current thread is 1 (Thread 0x7f3ec32c7a40 (LWP 643778))] Function(s) ^std::(move|forward|as_const|(__)?addressof) will be skipped when stepping. Function(s) ^std::(shared|unique)_ptr<.*>::(get|operator) will be skipped when stepping. Function(s) ^std::(basic_string|vector|array|deque|(forward_)?list|(unordered_|flat_)?(multi)?(map|set)|span)<.*>::(c?r?(begin|end)|front|back|data|size|empty) will be skipped when stepping. Function(s) ^std::(basic_string|vector|array|deque|span)<.*>::operator.] will be skipped when stepping. (gdb) bt #0 QRect::bottom (this=0x55f71a6708c0) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/tools/qrect.h:183 #1 QRegionPrivate::canAppend (this=0x55f9d91306a0, r=0x55f9d5ef8e30) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/gui/painting/qregion.cpp:1518 #2 QRegionPrivate::canAppend (this=0x55f9d91306a0, r=0x55f9d5ef8e10) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/gui/painting/qregion.cpp:1532 #3 QRegion::operator+= (this=0x55f9d6109d70, r=...) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/gui/painting/qregion.cpp:3980 #4 0x00007f3ecb70850c in KWin::OutputLayer::addRepaint (this=0x55f9d6109d60, region=...) at /home/tracey/kde/src/kwin/src/core/outputlayer.cpp:51 #5 0x00007f3ecb89947e in KWin::SceneView::addRepaint (this=<optimized out>, region=<optimized out>) at /home/tracey/kde/src/kwin/src/scene/scene.cpp:99 #6 0x00007f3ecb899737 in KWin::Scene::addRepaint (this=<optimized out>, delegate=delegate@entry=0x55f9d4b61c00, region=...) at /home/tracey/kde/src/kwin/src/scene/scene.cpp:153 #7 0x00007f3ecb889755 in KWin::Item::scheduleSceneRepaintInternal (this=this@entry=0x55f9d4914080, region=...) at /home/tracey/kde/src/kwin/src/scene/item.cpp:479 #8 0x00007f3ecb8897f2 in KWin::Item::scheduleSceneRepaint (this=this@entry=0x55f9d4914080, region=...) at /home/tracey/kde/src/kwin/src/scene/item.cpp:555 #9 0x00007f3ecb889847 in KWin::Item::scheduleSceneRepaint (this=this@entry=0x55f9d4914080, region=...) at /home/tracey/kde/src/kwin/src/scene/item.cpp:549 #10 0x00007f3ecb8898d6 in KWin::Item::setZ (this=0x55f9d4914080, z=<optimized out>) at /home/tracey/kde/src/kwin/src/scene/item.cpp:87 #11 0x00007f3ec8547cb4 in QtPrivate::QSlotObjectBase::call (this=0x55f9d9404b70, r=0x55f9d4914080, a=0x7ffd622fce38) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qobjectdefs_impl.h:461 #12 doActivate<false> (sender=0x55f9d4338b50, signal_index=3, argv=0x7ffd622fce38) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qobject.cpp:4146 #13 0x00007f3ecb7f153f in KWin::Workspace::updateStackingOrder (this=0x55f9d19a3860, propagate_new_windows=<optimized out>) at /home/tracey/kde/src/kwin/src/layers.cpp:111 #14 KWin::Workspace::updateStackingOrder (this=0x55f9d19a3860, propagate_new_windows=<optimized out>) at /home/tracey/kde/src/kwin/src/layers.cpp:94 #15 0x00007f3ec8547cb4 in QtPrivate::QSlotObjectBase::call (this=0x55f9d6f35540, r=0x55f9d6ea23e0, a=0x7ffd622fcfa0) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qobjectdefs_impl.h:461 #16 doActivate<false> (sender=0x55f9d19a3860, signal_index=19, argv=0x7ffd622fcfa0) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qobject.cpp:4146 #17 0x00007f3ecb96e4e7 in QMetaObject::activate<void, KWin::Output*> (sender=0x55f9d19a3860, mo=0x7f3ecbd399a0 <KWin::Workspace::staticMetaObject>, local_signal_index=16, ret=0x0) at /usr/include/qt6/QtCore/qobjectdefs.h:306 #18 KWin::Workspace::outputRemoved (this=this@entry=0x55f9d19a3860, _t1=<optimized out>) at /home/tracey/kde/build/kwin/src/kwin_autogen/include/moc_workspace.cpp:662 #19 0x00007f3ecb98577c in KWin::Workspace::updateOutputs (this=this@entry=0x55f9d19a3860, outputOrder=std::optional = {...}) at /home/tracey/kde/src/kwin/src/workspace.cpp:1274 #20 0x00007f3ecb9878bb in KWin::Workspace::applyOutputConfiguration (this=this@entry=0x55f9d19a3860, config=..., outputOrder=std::optional = {...}) at /home/tracey/kde/src/kwin/src/workspace.cpp:431 #21 0x00007f3ecb987f12 in KWin::Workspace::updateOutputConfiguration (this=this@entry=0x55f9d19a3860) at /home/tracey/kde/src/kwin/src/workspace.cpp:500 #22 0x00007f3ecb988a29 in KWin::Workspace::slotOutputBackendOutputsQueried (this=0x55f9d19a3860) at /home/tracey/kde/src/kwin/src/workspace.cpp:1194 #23 0x00007f3ec8547cb4 in QtPrivate::QSlotObjectBase::call (this=0x55f9d2c63330, r=0x55f9d19a3860, a=0x7ffd622fd478) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qobjectdefs_impl.h:461 #24 doActivate<false> (sender=0x7f3eb400fc90, signal_index=3, argv=0x7ffd622fd478) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qobject.cpp:4146 #25 0x00007f3ecb9e1d25 in KWin::DrmBackend::updateOutputs (this=this@entry=0x7f3eb400fc90) at /home/tracey/kde/src/kwin/src/backends/drm/drm_backend.cpp:284 #26 0x00007f3ecb9e257f in KWin::DrmBackend::handleUdevEvent (this=<optimized out>) at /home/tracey/kde/src/kwin/src/backends/drm/drm_backend.cpp:203 #27 0x00007f3ec8547cb4 in QtPrivate::QSlotObjectBase::call (this=0x55f9d103c490, r=0x7f3eb400fc90, a=0x7ffd622fd740) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qobjectdefs_impl.h:461 #28 doActivate<false> (sender=0x55f9d1976b90, signal_index=3, argv=0x7ffd622fd740) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qobject.cpp:4146 #29 0x00007f3ec855d3c2 in QMetaObject::activate (sender=0x55f9d1976b90, local_signal_index=0, argv=0x7ffd622fd740, m=<optimized out>) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qobject.cpp:4206 #30 QMetaObject::activate<void, QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal> (sender=0x55f9d1976b90, local_signal_index=0, ret=0x0, args=..., args=@0x7ffd622fd734: QSocketNotifier::Read, args=..., mo=<optimized out>) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qobjectdefs.h:306 #31 QSocketNotifier::activated (this=0x55f9d1976b90, _t1=..., _t2=QSocketNotifier::Read, _t3=...) at src/corelib/Core_autogen/include/moc_qsocketnotifier.cpp:161 #32 QSocketNotifier::event (this=0x55f9d1976b90, e=<optimized out>) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qsocketnotifier.cpp:327 #33 0x00007f3ec984e2f0 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55f9d1976b90, e=0x7ffd622fd968) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/widgets/kernel/qapplication.cpp:3303 #34 0x00007f3ec984f57d in QApplication::notify (this=<optimized out>, receiver=0x55f9d1976b90, e=0x7ffd622fd968) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/widgets/kernel/qapplication.cpp:2695 #35 0x00007f3ec86c6934 in QCoreApplication::notifyInternal2 (receiver=0x55f9d1976b90, event=0x7ffd622fd968) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qcoreapplication.cpp:1106 #36 QCoreApplication::sendEvent (receiver=0x55f9d1976b90, event=0x7ffd622fd968) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qcoreapplication.cpp:1546 #37 QEventDispatcherUNIXPrivate::activateSocketNotifiers (this=0x55f9d1015990) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qeventdispatcher_unix.cpp:254 #38 0x00007f3ec86c83fe in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qeventdispatcher_unix.cpp:470 #39 0x00007f3ec92289d3 in QUnixEventDispatcherQPA::processEvents (this=0x55f9d6109d70, flags=...) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/gui/platform/unix/qunixeventdispatcher.cpp:27 #40 0x00007f3ec84ee396 in QEventLoop::processEvents (this=0x7ffd622fdb00, flags=...) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qeventloop.cpp:104 #41 QEventLoop::exec (this=0x7ffd622fdb00, flags=...) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qeventloop.cpp:186 #42 0x00007f3ec84e2d39 in QCoreApplication::exec () at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qcoreapplication.cpp:1449 #43 0x000055f9b178b357 in main (argc=<optimized out>, argv=<optimized out>) at /home/tracey/kde/src/kwin/src/main_wayland.cpp:635
I think this might be fixed with https://invent.kde.org/plasma/kwin/-/merge_requests/8053
I re-tested this on today's git-master. I'm no longer seeing the crash.
*** Bug 508620 has been marked as a duplicate of this bug. ***