https://bugs.kde.org/show_bug.cgi?id=524237
Bug ID: 524237
Summary: kwin_wayland crashes (SIGABRT) in KGlobalAccel
QKeySequence D-Bus demarshalling, screen renders
blurry after the auto-restart
Classification: Plasma
Product: kwin
Version First 6.7.4
Reported In:
Platform: CachyOS
OS: Linux
Status: REPORTED
Severity: crash
Priority: NOR
Component: generic-crash
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
DESCRIPTION
kwin_wayland crashes intermittently with SIGABRT inside KGlobalAccel's D-Bus
QKeySequence demarshalling. Since KGlobalAccel's D-Bus service runs in-process
inside kwin_wayland, this takes down the whole compositor. Plasma restarts
kwin_wayland right away, but for a few seconds after the restart the screen
renders at the wrong scale or resolution (visibly blurry) before it settles
back to normal.
kameleon-qmk-helper (kdeplasma-addons) is active on this system, a QMK-capable
keyboard is connected, and both crashes I captured line up with its shortcut
re-registration activity.
STEPS TO REPRODUCE
1. Use a QMK-capable keyboard with Plasma's Kameleon integration active
(kameleon-qmk-helper running).
2. Let the session sit idle or lock, then resume.
3. Sometimes, not every time, kwin_wayland aborts and Plasma restarts it. I saw
this twice in one session, both after a period of idle.
OBSERVED RESULT
kwin_wayland receives SIGABRT and dumps core. Plasma restarts kwin_wayland
automatically. For a short window after the restart, the screen renders at the
wrong scale or resolution before settling back to normal.
EXPECTED RESULT
kwin_wayland should not crash when demarshalling a global-shortcut QKeySequence
over D-Bus, even if the source data is malformed. It should reject or ignore
the bad argument instead of aborting the whole process.
SOFTWARE/OS VERSIONS
Operating System: CachyOS (Arch-based), kernel 7.1.8-1-cachyos
KDE Plasma Version: 6.7.4
KWin: 6.7.4-5.1
kdeplasma-addons: 6.7.4-1.1
Qt: Qt6 (Plasma 6.7.4 stack)
GPU: NVIDIA GeForce RTX 4060, driver 610.57.04 (nvidia-open kernel modules)
Session: Wayland
ADDITIONAL INFORMATION
Backtrace of the crashing thread, identical in both occurrences I captured:
Signal: 6 (ABRT)
#0 pthread_kill (libc.so.6)
#1 raise (libc.so.6)
#2 abort (libc.so.6)
#3 n/a (libdbus-1.so.3 + 0xe064)
#4 _dbus_warn_check_failed (libdbus-1.so.3)
#5 QDBusArgument::operator>>(int&) (libQt6DBus.so.6)
#6 operator>>(QDBusArgument&, QKeySequence&) (libKF6GlobalAccel.so.6)
#7 n/a (libKGlobalAccelD.so.0 + 0x1ba10)
#8 QDBusMetaType::demarshall(QDBusArgument const&, QMetaType, void*)
(libQt6DBus.so.6)
#9-12 n/a (libQt6DBus.so.6, internal D-Bus dispatch)
#13 QObject::event(QEvent*) (libQt6Core.so.6)
#14 QApplicationPrivate::notify_helper(QObject*, QEvent*) (libQt6Widgets.so.6)
#15-17 Qt event loop / posted-event dispatch (libQt6Core.so.6)
#18 QUnixEventDispatcherQPA::processEvents (libQt6Gui.so.6)
#19-20 QEventLoop::exec / QCoreApplication::exec (libQt6Core.so.6)
#21 kwin_wayland main()
Underlying libdbus message: dbus[pid]: type invalid 0 not a basic type ("D-Bus
not built with -rdynamic so unable to print a backtrace")
KGlobalAccel's D-Bus service (org.kde.kglobalaccel) is hosted inside the
kwin_wayland process in this Wayland session, confirmed via
GetConnectionUnixProcessID. kameleon-qmk-helper (org.kde.kameleon.qmk.helper)
is running, and the session's Xkb log shows unusually high keycodes and virtual
modifiers consistent with a QMK keyboard's extended keymap, for example
"Unsupported maximum keycode 709, clipping" and "Virtual modifier Hyper
multiply defined". This points to the malformed QKeySequence coming from
Kameleon's shortcut registration for that keyboard, though I have not confirmed
it directly.
Related but not identical existing report: bugs.kde.org #493262, "Keyboard LED
accent color nor Kameleon Service in Background Services can be disabled." Same
component area, different symptom.
--
You are receiving this mail because:
You are watching all bug changes.