https://bugs.kde.org/show_bug.cgi?id=500139
Bug ID: 500139 Summary: kwin_wayland crash when connecting a second external monitor on a thunderbolt dock port Classification: Plasma Product: kwin Version: 6.3.0 Platform: Arch Linux OS: Linux Status: REPORTED Severity: crash Priority: NOR Component: wayland-generic Assignee: kwin-bugs-n...@kde.org Reporter: smichak...@gmail.com Target Milestone: --- Created attachment 178406 --> https://bugs.kde.org/attachment.cgi?id=178406&action=edit Backtrace and logs SUMMARY kwin_wayland crash when connecting a second external monitor on a thunderbolt dock port STEPS TO REPRODUCE 1. Boot with a single monitor connected to laptop dock. 2. Login to a wayland session from SDDM. 3. Connect another display to the HDMI output on the dock. OBSERVED RESULT Black screen and going back to console mode. Observing the system logs reveals some failures in kwin_core and kwin_wayland afterwards kwin_wayland appears to crash. EXPECTED RESULT New monitor is identified by the system and becomes usable via display settings. SOFTWARE/OS VERSIONS Linux: Arch Linux Kernel Version: 6.13.2-arch1-1 (64 bit) KDE Plasma Version: 6.3.0 KDE Frameworks Version: 6.10.0 Qt Version: 6.8.2 ADDITIONAL INFORMATION I tested the dock with a Windows 11 laptop and it seems to work fine. Backtrace and relevant debug level logs are attached. BACKTRACE (also attached): #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44 44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0; [Current thread is 1 (Thread 0x7b93137cca00 (LWP 1899))] (gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007b93198a56d3 in __pthread_kill_internal (threadid=<optimized out>, signo=11) at pthread_kill.c:89 #2 0x00007b931984bba0 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26 #3 0x00007b931d0e42a1 in KCrash::defaultCrashHandler (sig=11) at /usr/src/debug/kcrash/kcrash-6.10.0/src/kcrash.cpp:596 #4 <signal handler called> #5 KWin::DrmPipeline::prepareAtomicPresentation (this=this@entry=0x7b92f8003bd0, commit=0x569c93fe00e0, frame=std::shared_ptr<KWin::OutputFrame> (use count 1, weak count 0) = {...}) at /usr/src/debug/kwin/kwin-6.3.0/src/backends/drm/drm_property.cpp:153 #6 0x00007b931cc3a7eb in KWin::DrmPipeline::present (this=0x7b92f8003bd0, frame=std::shared_ptr<KWin::OutputFrame> (use count 1, weak count 0) = {...}) at /usr/include/c++/14.2.1/bits/unique_ptr.h:193 #7 KWin::DrmPipeline::present (this=this@entry=0x7b92f8003bd0, frame=std::shared_ptr<KWin::OutputFrame> (use count 1, weak count 0) = {...}) at /usr/src/debug/kwin/kwin-6.3.0/src/backends/drm/drm_pipeline.cpp:51 #8 0x00007b931cc3c509 in KWin::DrmOutput::present (this=0x569c94191730, frame=std::shared_ptr<KWin::OutputFrame> (use count 1, weak count 0) = {...}) at /usr/src/debug/kwin/kwin-6.3.0/src/backends/drm/drm_output.cpp:325 #9 0x00007b931c97ae80 in KWin::WaylandCompositor::composite (this=0x569c918c9d20, renderLoop=<optimized out>) at /usr/src/debug/kwin/kwin-6.3.0/src/compositor_wayland.cpp:436 #10 0x00007b9319fb1a49 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:486 #11 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4115 #12 0x00007b931c990835 in KWin::RenderLoop::frameRequested (this=<optimized out>, _t1=<optimized out>) --Type <RET> for more, q to quit, c to continue without paging-- at /usr/src/debug/kwin/build/src/kwin_autogen/include/moc_renderloop.cpp:211 #13 0x00007b931c995033 in KWin::RenderLoopPrivate::dispatch (this=0x569c94a18b50) at /usr/src/debug/kwin/kwin-6.3.0/src/core/renderloop.cpp:190 #14 0x00007b9319fb1a49 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:486 #15 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4115 #16 0x00007b9319fbaa75 in QTimer::timeout (this=0x569c94a18d90, _t1=...) at /usr/src/debug/qt6-base/build/src/corelib/Core_autogen/include/moc_qtimer.cpp:223 #17 QTimer::timerEvent (e=<optimized out>, this=0x569c94a18d90) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qtimer.cpp:285 #18 QTimer::timerEvent (this=0x569c94a18d90, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qtimer.cpp:279 #19 0x00007b9319fa2ef9 in QObject::event (this=0x569c94a18d90, e=0x7fff79b8b070) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1393 #20 0x00007b931b0ff0ca in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x569c94a18d90, e=0x7fff79b8b070) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3296 #21 0x00007b9319f55b00 in QCoreApplication::notifyInternal2 (receiver=0x569c94a18d90, event=0x7fff79b8b070) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1172 #22 0x00007b931a0d5aff in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7fff79b8b070) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1612 #23 QTimerInfoList::activateTimers (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qtimerinfo_unix.cpp:426 #24 0x00007b931a0de408 in QEventDispatcherUNIXPrivate::activateTimers (this=0x569c915dc450) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:199 #25 QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=..., flags@entry=...) --Type <RET> for more, q to quit, c to continue without paging-- at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:475 #26 0x00007b931ac61d93 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at /usr/src/debug/qt6-base/qtbase/src/gui/platform/unix/qunixeventdispatcher.cpp:27 #27 0x00007b9319f606a6 in QEventLoop::processEvents (this=0x7fff79b8b270, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:103 #28 QEventLoop::exec (this=0x7fff79b8b270, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:185 #29 0x00007b9319f591d6 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:74 #30 0x00007b931b0faf9a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2564 #31 0x0000569c90f9207f in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin/kwin-6.3.0/src/main_wayland.cpp:622 -- You are receiving this mail because: You are watching all bug changes.