STEPS TO REPRODUCE 1. Have two screens (Laptop: 2880x1800 @ 175% + desktop: 2560x1440 @ 100%) 2. Put the computer to sleep using Kickoff > Sleep 3. Some time later, while the laptop is still asleep, close the lid and unplug the external screen 4. A very short time later, open the laptop lid to wake it up, and unlock the lock screen OBSERVED RESULT powerdevil crashes with a message saying "KWaylandBackend: no output modes available anymore, this seems like a compositor bug" Full backtrace: Thread 1 (Thread 0x7fd878371b00 (LWP 286149)): [KCrash Handler] #4 __pthread_kill_implementation (threadid=<optimized out>, signo=6, no_tid=<optimized out>) at pthread_kill.c:44 #5 0x00007fd87d24d410 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 #6 0x00007fd87d23457a in __GI_abort () at abort.c:77 #7 0x00007fd87da19217 in qAbort () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qassert.cpp:46 #8 qt_message_fatal<QString&> (context=..., message=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qlogging.cpp:2149 #9 qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=..., msg=msg@entry=0x7fd85f7f5528 "KWaylandBackend: no output modes available anymore, this seems like a compositor bug", ap=ap@entry=0x7fffc687b618) at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qlogging.cpp:381 #10 0x00007fd87da1a0ec in QMessageLogger::fatal (this=this@entry=0x7fffc687b870, msg=msg@entry=0x7fd85f7f5528 "KWaylandBackend: no output modes available anymore, this seems like a compositor bug") at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qlogging.cpp:883 #11 0x00007fd85f7e4e2f in operator() (__closure=<optimized out>) at /home/nate/kde/src/libkscreen/backends/kwayland/waylandoutputdevice.cpp:73 #12 operator() (__closure=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:116 #13 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<long unsigned int>, QtPrivate::List<>, void, KScreen::WaylandOutputDevice::kde_output_device_v2_mode(kde_output_device_mode_v2*)::<lambda()> >::call(KScreen::WaylandOutputDevice::kde_output_device_v2_mode(kde_output_device_mode_v2*)::<lambda()>&, void**)::<lambda()> > (args=<optimized out>, fn=...) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:65 #14 QtPrivate::FunctorCall<std::integer_sequence<long unsigned int>, QtPrivate::List<>, void, KScreen::WaylandOutputDevice::kde_output_device_v2_mode(kde_output_device_mode_v2*)::<lambda()> >::call (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:115 #15 QtPrivate::FunctorCallable<KScreen::WaylandOutputDevice::kde_output_device_v2_mode(kde_output_device_mode_v2*)::<lambda()> >::call<QtPrivate::List<>, void> (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:337 #16 QtPrivate::QCallableObject<KScreen::WaylandOutputDevice::kde_output_device_v2_mode(kde_output_device_mode_v2*)::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:547 #17 0x00007fd87db5c66f in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #18 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4157 #19 0x00007fd87b9fdac6 in ffi_call_unix64 () at ../src/x86/unix64.S:104 #20 0x00007fd87b9fa76b in ffi_call_int (cif=cif@entry=0x7fffc687bb30, fn=fn@entry=0x7fd85f7e5500 <QtWayland::kde_output_device_mode_v2::handle_removed(void*, kde_output_device_mode_v2*)>, rvalue=<optimized out>, rvalue@entry=0x0, avalue=avalue@entry=0x7fffc687bc00, closure=closure@entry=0x0) at ../src/x86/ffi64.c:676 #21 0x00007fd87b9fd06e in ffi_call (cif=cif@entry=0x7fffc687bb30, fn=0x7fd85f7e5500 <QtWayland::kde_output_device_mode_v2::handle_removed(void*, kde_output_device_mode_v2*)>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7fffc687bc00) at ../src/x86/ffi64.c:713 #22 0x00007fd87d92748d in wl_closure_invoke (closure=closure@entry=0x7fd86c005260, target=<optimized out>, target@entry=0x7fd86c011b60, opcode=opcode@entry=3, data=<optimized out>, flags=1) at ../wayland-1.24.0/src/connection.c:1241 #23 0x00007fd87d9282e9 in dispatch_event (display=display@entry=0x555885b9d560, queue=queue@entry=0x555885b9d658) at ../wayland-1.24.0/src/wayland-client.c:1707 #24 0x00007fd87d9286f3 in dispatch_queue (display=0x555885b9d560, queue=0x555885b9d658) at ../wayland-1.24.0/src/wayland-client.c:1853 #25 wl_display_dispatch_queue_pending (display=0x555885b9d560, queue=0x555885b9d658) at ../wayland-1.24.0/src/wayland-client.c:2190 #26 0x00007fd87e9d9536 in QtWaylandClient::QWaylandDisplay::flushRequests (this=<optimized out>) at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylanddisplay.cpp:228 #27 0x00007fd87db49a74 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1432 #28 0x00007fd87daf0678 in QCoreApplication::notifyInternal2 (receiver=0x555885b9d330, event=event@entry=0x7fd868002600) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106 #29 0x00007fd87daf0a5b in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7fd868002600) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546 #30 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x555885b70070) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1891 #31 0x00007fd87ddcb7f8 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1744 #32 postEventSourceDispatch (s=0x555885b79930) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #33 0x00007fd87c4f9880 in g_main_dispatch (context=0x7fd870000f70) at ../glib/glib/gmain.c:3398 #34 0x00007fd87c4facd7 in g_main_context_dispatch_unlocked (context=0x7fd870000f70) at ../glib/glib/gmain.c:4249 #35 g_main_context_iterate_unlocked (context=context@entry=0x7fd870000f70, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4314 #36 0x00007fd87c4faee5 in g_main_context_iteration (context=0x7fd870000f70, may_block=1) at ../glib/glib/gmain.c:4379 #37 0x00007fd87ddc7fe2 in QEventDispatcherGlib::processEvents (this=0x555885b798d0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #38 0x00007fd87dafcca6 in QEventLoop::processEvents (this=0x7fffc687c210, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104 #39 QEventLoop::exec (this=0x7fffc687c210, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186 #40 0x00007fd87daf4d21 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1449 #41 0x000055584a8671b0 in main (argc=<optimized out>, argv=<optimized out>) at /home/nate/kde/src/powerdevil/daemon/powerdevilapp.cpp:132 SOFTWARE/OS VERSIONS Operating System: KDE Linux 2025-09-25 KDE Plasma Version: 6.5.80 KDE Frameworks Version: 6.20.0 Qt Version: 6.9.2 Kernel Version: 6.16.8-arch1-1 (64-bit) Graphics Platform: Wayland Processors: 16 × AMD Ryzen 7 7840U w/ Radeon™ 780M Graphics Memory: 16 GiB of RAM (14.9 GiB usable) Graphics Processor: AMD Radeon 780M Graphics
This seems similar to bug 496589, but the backtraces are somewhat different
I'm reasonably sure both are the same as bug 510734 / fixed by the same MR *** This bug has been marked as a duplicate of bug 510734 ***
*** Bug 511099 has been marked as a duplicate of this bug. ***