Application: kwin_wayland (6.4.4) ApplicationNotResponding [ANR]: false Qt Version: 6.9.1 Frameworks Version: 6.17.0 Operating System: Linux 6.15.9-201.fc42.x86_64 x86_64 Windowing System: Wayland Distribution: Fedora Linux 42 (KDE Plasma Desktop Edition) DrKonqi: 6.4.4 [CoredumpBackend] -- Information about the crash: Lenovo T14s Gen 2 laptop. I have two similar monitor setups at home & work. Both are 2x 2560x1440 monitors connected via USB-C -> left monitor -> MST/DP Out -> right monitor. The crash is reproducible in both setups. Every time I unplug the USB-C cable to the external monitors, after a few seconds kwin_wayland crashes, taking most of the desktop applications with it (Firefox, Thunderbird, VSCode). The only windows that survive the crash are Konsole, Dolphin & LibreOffice (I'm using the kf6 integration for it). The problem started after I upgraded to Plasma 6.4.4. I have already verified that it is not related to the kernel 6.15.x -> 6.16.x upgrade in Fedora. The crash also happens under 6.15.x, where Plasma & external monitor setup was working fine before the upgrade to 6.4.4. I have another laptop at home that is connected via HDMI & AVR to a TV. I have not observed the crash in that setup. The crash can be reproduced every time. -- Backtrace: Application: KWin (kwin_wayland), signal: Segmentation fault This GDB supports auto-downloading debuginfo from the following URLs: <https://debuginfod.fedoraproject.org/> Enable debuginfod for this session? (y or [n]) [answered N; input not from terminal] Debuginfod has been disabled. To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit. warning: Can't open file /memfd:gdk-wayland (deleted) during file-backed mapping note processing warning: Can't open file /memfd:kwayland-shared (deleted) during file-backed mapping note processing warning: Can't open file /memfd:wayland-cursor (deleted) during file-backed mapping note processing warning: Can't open file /memfd:JSVMStack:QtQml (deleted) during file-backed mapping note processing warning: Can't open file /memfd:JSGCHeap:QtQml (deleted) during file-backed mapping note processing warning: Can't open file /memfd:wayland-shm (deleted) during file-backed mapping note processing warning: Can't open file /memfd:JITCode:QtQml (deleted) during file-backed mapping note processing warning: Can't open file anon_inode:i915.gem during file-backed mapping note processing warning: Can't open file /memfd:unknown-usage:QtQml (deleted) during file-backed mapping note processing [New LWP 138727] [New LWP 138754] [New LWP 138743] [New LWP 138755] [New LWP 138753] [New LWP 138752] [New LWP 138771] [New LWP 140960] [New LWP 138765] [New LWP 138766] [New LWP 138768] [New LWP 138767] [New LWP 140959] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Core was generated by `/usr/bin/kwin_wayland --wayland-fd 7 --socket wayland-0 --xwayland-fd 8 --xwayland-fd 9 --xwayland-display :0 --xwayland-xauthority /run/user/1090/xauth_zzxgmV --xwayland'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f3c6b481e9c in __pthread_kill_implementation () from /lib64/libc.so.6 [Current thread is 1 (Thread 0x7f3c656c1dc0 (LWP 138727))] Cannot QML trace cores :( [Current thread is 1 (Thread 0x7f3c656c1dc0 (LWP 138727))] Thread 13 (Thread 0x7f3be8f786c0 (LWP 140959)): #0 0x00007f3c6b488462 in __syscall_cancel_arch () from /lib64/libc.so.6 #1 0x00007f3c6b47c75c in __internal_syscall_cancel () from /lib64/libc.so.6 #2 0x00007f3c6b47cdcc in __futex_abstimed_wait_common () from /lib64/libc.so.6 #3 0x00007f3c6b47f49e in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6 #4 0x00007f3c4d54e91d in cnd_wait () from /lib64/libgallium-25.1.7.so #5 0x00007f3c4d507ffc in util_queue_thread_func () from /lib64/libgallium-25.1.7.so #6 0x00007f3c4d54e84c in impl_thrd_routine () from /lib64/libgallium-25.1.7.so #7 0x00007f3c6b47ff54 in start_thread () from /lib64/libc.so.6 #8 0x00007f3c6b50332c in __clone3 () from /lib64/libc.so.6 Thread 12 (Thread 0x7f3c367fc6c0 (LWP 138767)): #0 0x00007f3c6b488462 in __syscall_cancel_arch () from /lib64/libc.so.6 #1 0x00007f3c6b47c75c in __internal_syscall_cancel () from /lib64/libc.so.6 #2 0x00007f3c6b47cdcc in __futex_abstimed_wait_common () from /lib64/libc.so.6 #3 0x00007f3c6b47f49e in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6 #4 0x00007f3c4d54e91d in cnd_wait () from /lib64/libgallium-25.1.7.so #5 0x00007f3c4d507ffc in util_queue_thread_func () from /lib64/libgallium-25.1.7.so #6 0x00007f3c4d54e84c in impl_thrd_routine () from /lib64/libgallium-25.1.7.so #7 0x00007f3c6b47ff54 in start_thread () from /lib64/libc.so.6 #8 0x00007f3c6b50332c in __clone3 () from /lib64/libc.so.6 Thread 11 (Thread 0x7f3c35ffb6c0 (LWP 138768)): #0 0x00007f3c6b488462 in __syscall_cancel_arch () from /lib64/libc.so.6 #1 0x00007f3c6b47c75c in __internal_syscall_cancel () from /lib64/libc.so.6 #2 0x00007f3c6b47cdcc in __futex_abstimed_wait_common () from /lib64/libc.so.6 #3 0x00007f3c6b47f49e in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6 #4 0x00007f3c4d54e91d in cnd_wait () from /lib64/libgallium-25.1.7.so #5 0x00007f3c4d507ffc in util_queue_thread_func () from /lib64/libgallium-25.1.7.so #6 0x00007f3c4d54e84c in impl_thrd_routine () from /lib64/libgallium-25.1.7.so #7 0x00007f3c6b47ff54 in start_thread () from /lib64/libc.so.6 #8 0x00007f3c6b50332c in __clone3 () from /lib64/libc.so.6 Thread 10 (Thread 0x7f3c36ffd6c0 (LWP 138766)): #0 0x00007f3c6b488462 in __syscall_cancel_arch () from /lib64/libc.so.6 #1 0x00007f3c6b47c75c in __internal_syscall_cancel () from /lib64/libc.so.6 #2 0x00007f3c6b47cdcc in __futex_abstimed_wait_common () from /lib64/libc.so.6 #3 0x00007f3c6b47f49e in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6 #4 0x00007f3c4d54e91d in cnd_wait () from /lib64/libgallium-25.1.7.so #5 0x00007f3c4d507ffc in util_queue_thread_func () from /lib64/libgallium-25.1.7.so #6 0x00007f3c4d54e84c in impl_thrd_routine () from /lib64/libgallium-25.1.7.so #7 0x00007f3c6b47ff54 in start_thread () from /lib64/libc.so.6 #8 0x00007f3c6b50332c in __clone3 () from /lib64/libc.so.6 Thread 9 (Thread 0x7f3c377fe6c0 (LWP 138765)): #0 0x00007f3c6b488462 in __syscall_cancel_arch () from /lib64/libc.so.6 #1 0x00007f3c6b47c75c in __internal_syscall_cancel () from /lib64/libc.so.6 #2 0x00007f3c6b47cdcc in __futex_abstimed_wait_common () from /lib64/libc.so.6 #3 0x00007f3c6b47f49e in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6 #4 0x00007f3c4d54e91d in cnd_wait () from /lib64/libgallium-25.1.7.so #5 0x00007f3c4d507ffc in util_queue_thread_func () from /lib64/libgallium-25.1.7.so #6 0x00007f3c4d54e84c in impl_thrd_routine () from /lib64/libgallium-25.1.7.so #7 0x00007f3c6b47ff54 in start_thread () from /lib64/libc.so.6 #8 0x00007f3c6b50332c in __clone3 () from /lib64/libc.so.6 Thread 8 (Thread 0x7f3bd67896c0 (LWP 140960)): #0 0x00007f3c6b488462 in __syscall_cancel_arch () from /lib64/libc.so.6 #1 0x00007f3c6b47c75c in __internal_syscall_cancel () from /lib64/libc.so.6 #2 0x00007f3c6b47cdcc in __futex_abstimed_wait_common () from /lib64/libc.so.6 #3 0x00007f3c6b47f49e in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6 #4 0x00007f3c4d54e91d in cnd_wait () from /lib64/libgallium-25.1.7.so #5 0x00007f3c4d507ffc in util_queue_thread_func () from /lib64/libgallium-25.1.7.so #6 0x00007f3c4d54e84c in impl_thrd_routine () from /lib64/libgallium-25.1.7.so #7 0x00007f3c6b47ff54 in start_thread () from /lib64/libc.so.6 #8 0x00007f3c6b50332c in __clone3 () from /lib64/libc.so.6 Thread 7 (Thread 0x7f3c357fa6c0 (LWP 138771)): #0 0x00007f3c6b488462 in __syscall_cancel_arch () from /lib64/libc.so.6 #1 0x00007f3c6b47c75c in __internal_syscall_cancel () from /lib64/libc.so.6 #2 0x00007f3c6b47c7a4 in __syscall_cancel () from /lib64/libc.so.6 #3 0x00007f3c6b4f67c6 in ppoll () from /lib64/libc.so.6 #4 0x00007f3c6a713890 in g_main_context_iterate_unlocked.isra () from /lib64/libglib-2.0.so.0 #5 0x00007f3c6a713953 in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #6 0x00007f3c6be0f9ad in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Core.so.6 #7 0x00007f3c6bb07b03 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Core.so.6 #8 0x00007f3c6bc2808d in QThread::exec() () from /lib64/libQt6Core.so.6 #9 0x00007f3c6bcc5b9f in QThreadPrivate::start(void*) () from /lib64/libQt6Core.so.6 #10 0x00007f3c6b47ff54 in start_thread () from /lib64/libc.so.6 #11 0x00007f3c6b50332c in __clone3 () from /lib64/libc.so.6 Thread 6 (Thread 0x7f3c562b16c0 (LWP 138752)): #0 0x00007f3c6b488462 in __syscall_cancel_arch () from /lib64/libc.so.6 #1 0x00007f3c6b47c75c in __internal_syscall_cancel () from /lib64/libc.so.6 #2 0x00007f3c6b47cdcc in __futex_abstimed_wait_common () from /lib64/libc.so.6 #3 0x00007f3c6b47f49e in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6 #4 0x00007f3c4d54e91d in cnd_wait () from /lib64/libgallium-25.1.7.so #5 0x00007f3c4d507ffc in util_queue_thread_func () from /lib64/libgallium-25.1.7.so #6 0x00007f3c4d54e84c in impl_thrd_routine () from /lib64/libgallium-25.1.7.so #7 0x00007f3c6b47ff54 in start_thread () from /lib64/libc.so.6 #8 0x00007f3c6b50332c in __clone3 () from /lib64/libc.so.6 Thread 5 (Thread 0x7f3c55ab06c0 (LWP 138753)): #0 0x00007f3c6b488462 in __syscall_cancel_arch () from /lib64/libc.so.6 #1 0x00007f3c6b47c75c in __internal_syscall_cancel () from /lib64/libc.so.6 #2 0x00007f3c6b47cdcc in __futex_abstimed_wait_common () from /lib64/libc.so.6 #3 0x00007f3c6b47f49e in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6 #4 0x00007f3c4d54e91d in cnd_wait () from /lib64/libgallium-25.1.7.so #5 0x00007f3c4d507ffc in util_queue_thread_func () from /lib64/libgallium-25.1.7.so #6 0x00007f3c4d54e84c in impl_thrd_routine () from /lib64/libgallium-25.1.7.so #7 0x00007f3c6b47ff54 in start_thread () from /lib64/libc.so.6 #8 0x00007f3c6b50332c in __clone3 () from /lib64/libc.so.6 Thread 4 (Thread 0x7f3c37fff6c0 (LWP 138755)): #0 0x00007f3c6b488462 in __syscall_cancel_arch () from /lib64/libc.so.6 #1 0x00007f3c6b47c75c in __internal_syscall_cancel () from /lib64/libc.so.6 #2 0x00007f3c6b47c7a4 in __syscall_cancel () from /lib64/libc.so.6 #3 0x00007f3c6b4f67c6 in ppoll () from /lib64/libc.so.6 #4 0x00007f3c6a713890 in g_main_context_iterate_unlocked.isra () from /lib64/libglib-2.0.so.0 #5 0x00007f3c6a713953 in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #6 0x00007f3c6be0f9ad in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Core.so.6 #7 0x00007f3c6bb07b03 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Core.so.6 #8 0x00007f3c6bc2808d in QThread::exec() () from /lib64/libQt6Core.so.6 #9 0x00007f3c6bcc5b9f in QThreadPrivate::start(void*) () from /lib64/libQt6Core.so.6 #10 0x00007f3c6b47ff54 in start_thread () from /lib64/libc.so.6 #11 0x00007f3c6b50332c in __clone3 () from /lib64/libc.so.6 Thread 3 (Thread 0x7f3c577ff6c0 (LWP 138743)): #0 0x00007f3c6b488462 in __syscall_cancel_arch () from /lib64/libc.so.6 #1 0x00007f3c6b47c75c in __internal_syscall_cancel () from /lib64/libc.so.6 #2 0x00007f3c6b47c7a4 in __syscall_cancel () from /lib64/libc.so.6 #3 0x00007f3c6b4f67c6 in ppoll () from /lib64/libc.so.6 #4 0x00007f3c6a713890 in g_main_context_iterate_unlocked.isra () from /lib64/libglib-2.0.so.0 #5 0x00007f3c6a713953 in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #6 0x00007f3c6be0f9ad in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Core.so.6 #7 0x00007f3c6bb07b03 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Core.so.6 #8 0x00007f3c6bc2808d in QThread::exec() () from /lib64/libQt6Core.so.6 #9 0x00007f3c6cc5d821 in QDBusConnectionManager::run() () from /lib64/libQt6DBus.so.6 #10 0x00007f3c6bcc5b9f in QThreadPrivate::start(void*) () from /lib64/libQt6Core.so.6 #11 0x00007f3c6b47ff54 in start_thread () from /lib64/libc.so.6 #12 0x00007f3c6b50332c in __clone3 () from /lib64/libc.so.6 Thread 2 (Thread 0x7f3c54aab6c0 (LWP 138754)): #0 0x00007f3c6b488462 in __syscall_cancel_arch () from /lib64/libc.so.6 #1 0x00007f3c6b47c75c in __internal_syscall_cancel () from /lib64/libc.so.6 #2 0x00007f3c6b47cdcc in __futex_abstimed_wait_common () from /lib64/libc.so.6 #3 0x00007f3c6b47f8d2 in pthread_cond_clockwait@GLIBC_2.30 () from /lib64/libc.so.6 #4 0x00007f3c6eb4c618 in KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, QString const&)::{lambda()#1}::operator()() const () from /lib64/libkwin.so.6 #5 0x00007f3c6eb4d34a in std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> (), std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker<std::tuple<QThread::create<KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, QString const&)::{lambda()#1}>(KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, QString const&)::{lambda()#1}&&)::{lambda((auto:1&&)...)#1}> >, void> >::_M_invoke(std::_Any_data const&) () from /lib64/libkwin.so.6 #6 0x00007f3c6eb45d46 in std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*) () from /lib64/libkwin.so.6 #7 0x00007f3c6b4852d4 in __pthread_once_slow.isra.0 () from /lib64/libc.so.6 #8 0x00007f3c6b485349 in pthread_once@GLIBC_2.2.5 () from /lib64/libc.so.6 #9 0x00007f3c6eb45fc3 in std::__future_base::_Deferred_state<std::thread::_Invoker<std::tuple<QThread::create<KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, QString const&)::{lambda()#1}>(KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, QString const&)::{lambda()#1}&&)::{lambda((auto:1&&)...)#1}> >, void>::_M_complete_async() [clone .lto_priv.0] () from /lib64/libkwin.so.6 #10 0x00007f3c6bc28667 in QThreadCreateThread::run() () from /lib64/libQt6Core.so.6 #11 0x00007f3c6bcc5b9f in QThreadPrivate::start(void*) () from /lib64/libQt6Core.so.6 #12 0x00007f3c6b47ff54 in start_thread () from /lib64/libc.so.6 #13 0x00007f3c6b50332c in __clone3 () from /lib64/libc.so.6 Thread 1 (Thread 0x7f3c656c1dc0 (LWP 138727)): [KCrash Handler] #4 0x00007f3c6ebd6f89 in KWin::ColorManagerV1::wp_color_manager_v1_get_output(QtWaylandServer::wp_color_manager_v1::Resource*, unsigned int, wl_resource*) () from /lib64/libkwin.so.6 #5 0x00007f3c6a391056 in ffi_call_unix64 () from /lib64/libffi.so.8 #6 0x00007f3c6a38cd08 in ffi_call_int.lto_priv () from /lib64/libffi.so.8 #7 0x00007f3c6a38f70e in ffi_call () from /lib64/libffi.so.8 #8 0x00007f3c6b8f5440 in wl_closure_invoke.constprop () from /lib64/libwayland-server.so.0 #9 0x00007f3c6b8faaa0 in wl_client_connection_data () from /lib64/libwayland-server.so.0 #10 0x00007f3c6b8f8f42 in wl_event_loop_dispatch () from /lib64/libwayland-server.so.0 #11 0x00007f3c6ebe3669 in KWin::Display::dispatchEvents() () from /lib64/libkwin.so.6 #12 0x00007f3c6bb657ba in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt6Core.so.6 #13 0x00007f3c6bb74593 in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) () from /lib64/libQt6Core.so.6 #14 0x00007f3c6bb74d6b in QSocketNotifier::event(QEvent*) () from /lib64/libQt6Core.so.6 #15 0x00007f3c6ce3d97f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt6Widgets.so.6 #16 0x00007f3c6baf9f38 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt6Core.so.6 #17 0x00007f3c6bcc8447 in QEventDispatcherUNIXPrivate::activateSocketNotifiers() () from /lib64/libQt6Core.so.6 #18 0x00007f3c6bcc8d79 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Core.so.6 #19 0x00007f3c6c8e0442 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Gui.so.6 #20 0x00007f3c6bb07b03 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Core.so.6 #21 0x00007f3c6bb03419 in QCoreApplication::exec() () from /lib64/libQt6Core.so.6 #22 0x00005582817e96db in main () Reported using DrKonqi
I've now narrowed it down to Firefox. If I have no Firefox running on the desktop while unplugging the USB-C cable, then everything works fine. For the time being I can live with shutting down my Firefox instances before disconnecting the laptop, but it is of course not ideal. One other thing I tested: the laptop display supports HDR, which I have enabled. None of the external monitors supports HDR, so I have a mixed HDR/non-HDR desktop when connected to the external monitors. Disabling HDR didn't prevent the crash. [Just a crazy idea I got when looking at the crash log: "KWin::ColorManagerV1::wp_color_manager_v1_get_output(...)"]
This commit in Plasma/6.4 branch sounds related: https://invent.kde.org/plasma/kwin/-/commit/5baacbef52eca9948d6e910dff0888996a571722 Fedora guys are trying to backport it to 6.4.4 for me. Let's see.... I've now tested also with Chromium: it doesn't cause the desktop to crash.
Yep, that added nullptr check fixed the issue for me. Tested with packages from this koji build: https://koji.fedoraproject.org/koji/buildinfo?buildID=2809387 I'll close this once I can test with Plasma 6.4.5, which will include this fix.
Thank you for the bug report. Based on the backtrace this looks like a duplicate of bug 504959. This was fixed in Plamsa version 6.4.5. The fix will reach your system when it updates to that version. *** This bug has been marked as a duplicate of bug 504959 ***