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.

Reply via email to