Summary: | KWin Crash in KWin::ColorManagementOutputV1::ColorManagementOutputV1 when changing display outputs | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Jure Repinc <jlp> |
Component: | generic-crash | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | alberto_bugzilla, alex.oliva91, arcadiy, avemilia, chemobejk, de.attach946, djqballer, dzaslavskiy.edc, germano.massullo, ineffectivelyincognito+kdebugs, kde.lwzr1, kde, kde, kde, kdebugs, kdedev, kevinleroy, kubrick, miren_radia, mysaa, nate, nyanpasu64, pavel.mezentsev, redhat.e8dsa, thecalcaholic, thecaptain, thederpyworld, wido |
Priority: | VHI | Keywords: | drkonqi, multiscreen |
Version First Reported In: | 6.4.4 | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/kwin/-/commit/598438b9bcb9487c9dc85e4eb5f84e3b73a71051 | Version Fixed In: | 6.4.5 |
Sentry Crash Report: | |||
Attachments: |
New crash information added by DrKonqi
GDB report |
Description
Jure Repinc
2025-05-29 13:09:07 UTC
Created attachment 181865 [details]
New crash information added by DrKonqi
DrKonqi auto-attaching complete backtrace.
Searchable backtrace Thread 1 (Thread 0x7f17babf6040 (LWP 267677)): [KCrash Handler] #5 0x00007f17c216e9fd in KWin::ColorManagementOutputV1::ColorManagementOutputV1 (this=0x557bda1cb3d0, client=<optimized out>, id=<optimized out>, version=1, output=0x0) at /usr/src/debug/kwin-6.3.80git.20250522T181708~42aa42af/src/wayland/colormanagement_v1.cpp:580 #6 KWin::ColorManagerV1::wp_color_manager_v1_get_output (this=<optimized out>, resource=<optimized out>, id=<optimized out>, output=<optimized out>) at /usr/src/debug/kwin-6.3.80git.20250522T181708~42aa42af/src/wayland/colormanagement_v1.cpp:63 #7 0x00007f17bd447b62 in ffi_call_unix64 () at ../src/x86/unix64.S:104 #8 0x00007f17bd4443eb in ffi_call_int (cif=cif@entry=0x7ffefb0cb0b0, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=closure@entry=0x0) at ../src/x86/ffi64.c:676 #9 0x00007f17bd44716e in ffi_call (cif=cif@entry=0x7ffefb0cb0b0, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7ffefb0cb180) at ../src/x86/ffi64.c:713 #10 0x00007f17c0c0d448 in wl_closure_invoke (closure=closure@entry=0x557bdc174e30, target=<optimized out>, target@entry=0x557bdb725f60, opcode=opcode@entry=1, data=<optimized out>, data@entry=0x557bda29a3d0, flags=2) at ../src/connection.c:1228 #11 0x00007f17c0c11b5a in wl_client_connection_data (fd=<optimized out>, mask=<optimized out>, data=0x557bda29a3d0) at ../src/wayland-server.c:444 #12 0x00007f17c0c101e2 in wl_event_loop_dispatch (loop=0x557bd9231270, timeout=<optimized out>) at ../src/event-loop.c:1105 #13 0x00007f17c2175532 in KWin::Display::dispatchEvents (this=<optimized out>) at /usr/src/debug/kwin-6.3.80git.20250522T181708~42aa42af/src/wayland/display.cpp:138 #14 0x00007f17bf2181e1 in QtPrivate::QSlotObjectBase::call (this=0x557bda19aaa0, r=<optimized out>, a=0x7ffefb0cb7b0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.9.0/src/corelib/kernel/qobjectdefs_impl.h:461 #15 doActivate<false> (sender=0x557bda5b3b10, signal_index=3, argv=0x7ffefb0cb7b0) at /usr/src/debug/qtbase-everywhere-src-6.9.0/src/corelib/kernel/qobject.cpp:4138 #16 0x00007f17bf21b5fa in QMetaObject::activate<void, QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal> (sender=0x557bda5b3b10, mo=<optimized out>, local_signal_index=0, ret=0x0) at /usr/src/debug/qtbase-everywhere-src-6.9.0/src/corelib/kernel/qobjectdefs.h:306 #17 QSocketNotifier::activated (this=this@entry=0x557bda5b3b10, _t1=..., _t2=<optimized out>, _t3=...) at /usr/src/debug/qtbase-everywhere-src-6.9.0/build/src/corelib/Core_autogen/include/moc_qsocketnotifier.cpp:161 #18 0x00007f17bf21c1de in QSocketNotifier::event (this=0x557bda5b3b10, e=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.9.0/src/corelib/kernel/qsocketnotifier.cpp:327 #19 0x00007f17c05e142a in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x557bda5b3b10, e=0x7ffefb0cb8e0) at /usr/src/debug/qtbase-everywhere-src-6.9.0/src/widgets/kernel/qapplication.cpp:3301 #20 0x00007f17bf1b7568 in QCoreApplication::notifyInternal2 (receiver=0x557bda5b3b10, event=0x7ffefb0cb8e0) at /usr/src/debug/qtbase-everywhere-src-6.9.0/src/corelib/kernel/qcoreapplication.cpp:1106 #21 0x00007f17bf332a54 in QEventDispatcherUNIXPrivate::activateSocketNotifiers (this=this@entry=0x557bd9166300) at /usr/src/debug/qtbase-everywhere-src-6.9.0/src/corelib/kernel/qeventdispatcher_unix.cpp:254 #22 0x00007f17bf333425 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=..., flags@entry=...) at /usr/src/debug/qtbase-everywhere-src-6.9.0/src/corelib/kernel/qeventdispatcher_unix.cpp:470 #23 0x00007f17bfebf161 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at /usr/src/debug/qtbase-everywhere-src-6.9.0/src/gui/platform/unix/qunixeventdispatcher.cpp:27 #24 0x00007f17bf1c23db in QEventLoop::exec (this=0x7ffefb0cbab0, flags=...) at /usr/src/debug/qtbase-everywhere-src-6.9.0/src/corelib/global/qflags.h:77 #25 0x00007f17bf1bad5c in QCoreApplication::exec () at /usr/src/debug/qtbase-everywhere-src-6.9.0/src/corelib/global/qflags.h:77 #26 0x00007f17bfa14650 in QGuiApplication::exec () at /usr/src/debug/qtbase-everywhere-src-6.9.0/src/gui/kernel/qguiapplication.cpp:1993 #27 0x00007f17c05dd959 in QApplication::exec () at /usr/src/debug/qtbase-everywhere-src-6.9.0/src/widgets/kernel/qapplication.cpp:2568 #28 0x0000557bab8b24b3 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin-6.3.80git.20250522T181708~42aa42af/src/main_wayland.cpp:635 Git commit e1fd647b979df7f0bd10065932a614a2aa806e87 by Vlad Zahorodnii. Committed on 30/05/2025 at 12:57. Pushed by vladz into branch 'master'. wayland: Make ColorManagementOutputV1 handle output removal better wl_output removal is racy. The compositor can remove the underlying handle but the corresponding wl_output object may still linger for a while. If that happens, the ColorManagementOutputV1 must not attempt to dereference the handle object. SENTRY: KWIN-CKJ M +16 -6 src/wayland/colormanagement_v1.cpp M +3 -4 src/wayland/colormanagement_v1.h https://invent.kde.org/plasma/kwin/-/commit/e1fd647b979df7f0bd10065932a614a2aa806e87 *** Bug 507710 has been marked as a duplicate of this bug. *** *** Bug 508200 has been marked as a duplicate of this bug. *** Git commit 598438b9bcb9487c9dc85e4eb5f84e3b73a71051 by David Edmundson. Committed on 13/08/2025 at 16:25. Pushed by davidedmundson into branch 'Plasma/6.4'. wayland: Make ColorManagementOutputV1 handle output removal better wl_output removal is racy. The compositor can remove the underlying handle but the corresponding wl_output object may still linger for a while. If that happens, the ColorManagementOutputV1 must not attempt to dereference the handle object. SENTRY: KWIN-CKJ (cherry picked from commit e1fd647b979df7f0bd10065932a614a2aa806e87) Co-authored-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org> M +16 -6 src/wayland/colormanagement_v1.cpp M +3 -4 src/wayland/colormanagement_v1.h https://invent.kde.org/plasma/kwin/-/commit/598438b9bcb9487c9dc85e4eb5f84e3b73a71051 *** Bug 508557 has been marked as a duplicate of this bug. *** This causes my desktop (and all of my applications) to crash nearly every time I turn my monitors on or off, or switch between the outputs cables. I think moving this up to 6.4.5 would be warranted, rather than waiting two months for such a serious bug fix to make it out in 6.5.0. (I've dealt with a lot of hotplugging issues in KDE Plasma in the last couple of years, and this is definitely the worst. Particularly because it affects simply pressing the power button on a screen.) *** Bug 508582 has been marked as a duplicate of this bug. *** *** Bug 508622 has been marked as a duplicate of this bug. *** *** Bug 508701 has been marked as a duplicate of this bug. *** *** Bug 508784 has been marked as a duplicate of this bug. *** *** Bug 508809 has been marked as a duplicate of this bug. *** *** Bug 508805 has been marked as a duplicate of this bug. *** I believe this is the same bug affecting me with my Display Port displays going to sleep. Does anyone know when this is planned to be patched? I hope it's not 6.5, it's a critical bug with guaranteed data loss that's triggered by normal usage. As the "Version Fixed In:" field says, it'll be in Plasma 6.4.5. https://community.kde.org/Schedules/Plasma_6#Future_releases says that's schedule to be released on August 9th. *** Bug 508853 has been marked as a duplicate of this bug. *** *** Bug 508841 has been marked as a duplicate of this bug. *** *** Bug 508834 has been marked as a duplicate of this bug. *** *** Bug 508832 has been marked as a duplicate of this bug. *** *** Bug 508876 has been marked as a duplicate of this bug. *** Created attachment 184616 [details] GDB report Hello David, I applied your patch, and it successfully fixed this crash which, in my case, was triggered when unplugging USB-C hub with a second monitor connected. This bug was 100% reproducible on my system. https://src.fedoraproject.org/rpms/kwin/pull-request/19 By the way despite having applied the patch, I experienced again a single crash that concerns ColorManagementOutputV1, I attach the crashreport here *** Bug 508917 has been marked as a duplicate of this bug. *** *** Bug 509004 has been marked as a duplicate of this bug. *** *** Bug 509159 has been marked as a duplicate of this bug. *** *** Bug 509377 has been marked as a duplicate of this bug. *** *** Bug 509836 has been marked as a duplicate of this bug. *** *** Bug 509914 has been marked as a duplicate of this bug. *** |