Bug 514638 - Kwin crash when outputs removed while suspended
Summary: Kwin crash when outputs removed while suspended
Status: RESOLVED DUPLICATE of bug 514229
Alias: None
Product: kwin
Classification: Plasma
Component: generic-crash (other bugs)
Version First Reported In: 6.5.90
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-01-15 09:55 UTC by Martin Bednar
Modified: 2026-01-15 13:38 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Bednar 2026-01-15 09:55:10 UTC
SUMMARY
kwin crash after resume from suspend. 
Unfortunately doesn't happen every time.
Sorry about backtrace formatting, drkonqi has issues with preamble.py which I can't get to the bottom of.

STEPS TO REPRODUCE
1. connect 2 external displays, disable built-in display
2.  suspend
3. disconnect external displays
4. resume

OBSERVED RESULT
kwin crashes

EXPECTED RESULT
no crash

Operating System: Gentoo 2.18
KDE Plasma Version: 6.5.90
KDE Frameworks Version: 6.22.0
Qt Version: 6.10.1
Kernel Version: 6.18.5-gentoo-dist-hardened (64-bit)
Graphics Platform: Wayland
Processors: 24 × AMD Ryzen AI 9 HX 370 w/ Radeon 890M
Memory: 64 GiB of RAM (62.1 GiB usable)
Graphics Processor: AMD Radeon 890M Graphics
Manufacturer: Framework
Product Name: Laptop 13 (AMD Ryzen AI 300 Series)
System Version: A9

ADDITIONAL INFORMATION
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007f6f052cee73 in __pthread_kill_internal (threadid=<optimized out>, signo=11) at pthread_kill.c:89
#2  0x00007f6f052766d6 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007f6f08c03ee2 in KCrash::defaultCrashHandler (sig=11) at /var/tmp/portage/kde-frameworks/kcrash-6.22.0/work/kcrash-6.22.0/src/kcrash.cpp:605
#4  0x00007f6f05276800 in <signal handler called> () at /usr/lib64/libc.so.6
#5  KWin::LogicalOutput::scale (this=this@entry=0x0) at /var/tmp/portage/kde-plasma/kwin-6.5.90/work/kwin-6.5.90/src/core/output.cpp:392
#6  0x00007f6f084d8c91 in KWin::LogicalOutput::geometryF (this=this@entry=0x0) at /var/tmp/portage/kde-plasma/kwin-6.5.90/work/kwin-6.5.90/src/core/output.cpp:402
#7  0x00007f6f084b1111 in operator() (__closure=<synthetic pointer>) at /var/tmp/portage/kde-plasma/kwin-6.5.90/work/kwin-6.5.90/src/compositor.cpp:1029
#8  KWin::Compositor::assignOutputLayers (this=0x56164c9c65b0, output=0x56164c633fa0)
    at /var/tmp/portage/kde-plasma/kwin-6.5.90/work/kwin-6.5.90/src/compositor.cpp:1032
#9  0x00007f6f05b26bcd in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=0x56164c9c65b0, a=0x7ffc2785dc98)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qobjectdefs_impl.h:461
#10 doActivate<false> (sender=0x56164c633fa0, signal_index=10, argv=0x7ffc2785dc98)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qobject.cpp:4257
#11 0x00007f6f05ad8574 in QMetaObject::activate
    (sender=<optimized out>, m=m@entry=0x7f6f08b4e560 <KWin::BackendOutput::staticMetaObject>, local_signal_index=local_signal_index@entry=7, argv=argv@entry=0x0)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qobject.cpp:4317
#12 0x00007f6f084bbcf7 in KWin::BackendOutput::outputLayersChanged (this=<optimized out>)
    at /var/tmp/portage/kde-plasma/kwin-6.5.90/work/kwin-6.5.90_build/src/kwin_autogen/include/moc_backendoutput.cpp:452
#13 0x00007f6f0882aef2 in KWin::DrmPipeline::applyPendingChanges (this=<optimized out>)
    at /var/tmp/portage/kde-plasma/kwin-6.5.90/work/kwin-6.5.90/src/backends/drm/drm_pipeline.cpp:484
#14 0x00007f6f0881f63e in KWin::DrmOutput::applyQueuedChanges
    (this=this@entry=0x56164c633fa0, props=std::shared_ptr<KWin::OutputChangeSet> (use count 2, weak count 0) = {...})
    at /var/tmp/portage/kde-plasma/kwin-6.5.90/work/kwin-6.5.90/src/backends/drm/drm_output.cpp:546
#15 0x00007f6f087e2a41 in KWin::DrmBackend::applyOutputChanges (this=0x7f6eec0095f0, config=...)
    at /var/tmp/portage/kde-plasma/kwin-6.5.90/work/kwin-6.5.90/src/backends/drm/drm_backend.cpp:417
#16 0x00007f6f08780b02 in KWin::Workspace::applyOutputConfiguration (this=this@entry=0x56164c4750c0, config=...)
    at /var/tmp/portage/kde-plasma/kwin-6.5.90/work/kwin-6.5.90/src/workspace.cpp:532
#17 0x00007f6f08781417 in KWin::Workspace::updateOutputConfiguration (this=this@entry=0x56164c4750c0)
    at /var/tmp/portage/kde-plasma/kwin-6.5.90/work/kwin-6.5.90/src/workspace.cpp:650
#18 0x00007f6f08781e4d in KWin::Workspace::slotOutputBackendOutputsQueried (this=0x56164c4750c0)
    at /var/tmp/portage/kde-plasma/kwin-6.5.90/work/kwin-6.5.90/src/workspace.cpp:1277
#19 0x00007f6f05b26bcd in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=0x56164c4750c0, a=0x7ffc2785e518)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qobjectdefs_impl.h:461
#20 doActivate<false> (sender=0x7f6eec0095f0, signal_index=3, argv=0x7ffc2785e518)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qobject.cpp:4257
#21 0x00007f6f05ad8574 in QMetaObject::activate
    (sender=sender@entry=0x7f6eec0095f0, m=m@entry=0x7f6f08b4f5a0 <KWin::OutputBackend::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qobject.cpp:4317
#22 0x00007f6f084d9f84 in KWin::OutputBackend::outputsQueried (this=this@entry=0x7f6eec0095f0)
    at /var/tmp/portage/kde-plasma/kwin-6.5.90/work/kwin-6.5.90_build/src/kwin_autogen/include/moc_outputbackend.cpp:134
#23 0x00007f6f087e077c in KWin::DrmBackend::updateOutputs (this=this@entry=0x7f6eec0095f0)
    at /var/tmp/portage/kde-plasma/kwin-6.5.90/work/kwin-6.5.90/src/backends/drm/drm_backend.cpp:289
#24 0x00007f6f087e0f0f in KWin::DrmBackend::handleUdevEvent (this=<optimized out>)
    at /var/tmp/portage/kde-plasma/kwin-6.5.90/work/kwin-6.5.90/src/backends/drm/drm_backend.cpp:220
#25 0x00007f6f05b26bcd in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=0x7f6eec0095f0, a=0x7ffc2785e820)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qobjectdefs_impl.h:461
#26 doActivate<false> (sender=0x56164c5edf90, signal_index=3, argv=0x7ffc2785e820)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qobject.cpp:4257
#27 0x00007f6f05ad8574 in QMetaObject::activate
    (sender=sender@entry=0x56164c5edf90, m=m@entry=0x7f6f05de4c20 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc2785e820) at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qobject.cpp:4317
--Type <RET> for more, q to quit, c to continue without paging--
#28 0x00007f6f05bca815 in QMetaObject::activate<void, QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal>
    (sender=0x56164c5edf90, mo=0x7f6f05de4c20 <QSocketNotifier::staticMetaObject>, local_signal_index=0, ret=0x0)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qobjectdefs.h:319
#29 QSocketNotifier::activated (this=0x56164c5edf90, _t1=..., _t2=<optimized out>, _t3=...)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1_build/src/corelib/Core_autogen/include/moc_qsocketnotifier.cpp:161
#30 QSocketNotifier::event (this=0x56164c5edf90, e=<optimized out>)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qsocketnotifier.cpp:324
#31 0x00007f6f06f760a4 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x56164c5edf90, e=0x7ffc2785e910)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/widgets/kernel/qapplication.cpp:3305
#32 0x00007f6f05b40358 in QCoreApplication::notifyInternal2 (receiver=0x56164c5edf90, event=0x7ffc2785e910)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qcoreapplication.cpp:1109
#33 0x00007f6f05b4051d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qcoreapplication.cpp:1549
#34 0x00007f6f05a2ae76 in QEventDispatcherUNIXPrivate::activateSocketNotifiers (this=this@entry=0x56164c2a0ac0)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qeventdispatcher_unix.cpp:276
#35 0x00007f6f05a2b379 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qeventdispatcher_unix.cpp:498
#36 0x00007f6f06628521 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/gui/platform/unix/qunixeventdispatcher.cpp:28
#37 0x00007f6f05b6112a in QEventLoop::exec (this=this@entry=0x7ffc2785eab0, flags=..., flags@entry=...)
    at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/global/qflags.h:77
#38 0x00007f6f05b612c3 in QCoreApplication::exec () at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/corelib/global/qflags.h:77
#39 0x00007f6f0617e840 in QGuiApplication::exec () at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/gui/kernel/qguiapplication.cpp:1973
#40 0x00007f6f06efb539 in QApplication::exec () at /var/tmp/portage/dev-qt/qtbase-6.10.1/work/qtbase-everywhere-src-6.10.1/src/widgets/kernel/qapplication.cpp:2575
#41 0x0000561610279f5b in main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/kde-plasma/kwin-6.5.90/work/kwin-6.5.90/src/main_wayland.cpp:632
Comment 1 Vlad Zahorodnii 2026-01-15 13:38:43 UTC

*** This bug has been marked as a duplicate of bug 514229 ***