Bug 515179 - Kwin crashes in KWin::EisContext::handleEvents when monitor wakes up while using Input Leap in Wayland
Summary: Kwin crashes in KWin::EisContext::handleEvents when monitor wakes up while us...
Status: REPORTED
Alias: None
Product: kwin
Classification: Plasma
Component: generic-crash (other bugs)
Version First Reported In: 6.5.91
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2026-01-28 01:39 UTC by Chris Warren
Modified: 2026-01-29 10:43 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
New crash information added by DrKonqi (89.00 KB, text/plain)
2026-01-28 01:39 UTC, Chris Warren
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Warren 2026-01-28 01:39:49 UTC
Application: kwin_wayland (6.5.91)
 (Compiled from sources)
ApplicationNotResponding [ANR]: false
Qt Version: 6.10.1
Frameworks Version: 6.22.0
Operating System: Linux 6.18.7-gentoo-dist x86_64
Windowing System: Wayland
Distribution: "Gentoo Linux"
DrKonqi: 6.5.91 [CoredumpBackend]

-- Information about the crash:
This crash was generated under Plasma 6.6 Beta 2, but I experienced it under 6.6 Beta 1 as well. I haven't seen this kind of issue with any earlier versions of Plasma, at least the relevant versions since Plasma Wayland and InputLeap were compatible.

I work from home and have a work laptop. I have a personal desktop (which is running Gentoo Linux and KDE Plasma) and a work laptop running Windows. In the InputLeap configuration, the Linux desktop is acting as the client and the Windows laptop is the server. So of course, in this configuration my mouse and keyboard are connected to my work laptop (via a dock fwiw), so when I'm trying to use my Linux desktop, that would happen via InputLeap and the relevant portals.

When I'm working I do sometimes get distracted by work and the Plasma desktop goes long enough without activity that the screen locks and then eventually the monitors go into power saving mode. Before 6.6, simply dragging my mouse toward my Plasma desktop wakes my monitor up and then I can get back to my desktop after entering my password. Then I can do whatever I wanted to do.

With 6.6, kwin crashes either when the monitor turns off or when it wakes up. The experience is that after my Linux desktop screens turn off, I drag my mouse from the Windows laptop to the Linux desktop and InputLeap in Windows does appear to make the Linux desktop the active system. My Linux screens even wakes up like normal and I see in the logs for my Windows InputLeap instance that the mouse is switching to to the Linux system. But no matter how much I drag my mouse to my Linux system, I never see any indication of activity on the Plasma screen (beyond the fact it woke up). I think I also typed a bit to see if there was anything that came up, but the input field for the password isn't even showing by that point, so not much happens.

I switch my physical mouse/keyboard to my Linux system and then unlock my screen and then I see that kwin had crashed. Interestingly, the InputLeap app still seems to be running but I think pretty much everything else I was running disappeared. 

I believe this is related to my monitor's power saving mode so of course a workaround is to enable "Manually block sleep and screen locking" which makes it so my monitor always stays on. I haven't tested this too extensively, but there's been a few days that I've used the system running 6.6 during work and didn't have the issue if my monitor didn't go to sleep.

I don't know if InputLeap has anything directly to do this since I haven't noticed anything in the stack trace, but I've experienced this bug regardless of the version of Input Leap I'm using. I first observed this using the flatpak version of InputLeap but switched to using Gentoo's InputLeap ebuild that builds straight from their github, which this system is currently using.

The crash can be reproduced every time.

-- Backtrace (Reduced):
#4  KWin::EisContext::handleEvents (this=0x55edf6ca5e00) at /usr/src/debug/kde-plasma/kwin-6.5.91/kwin-6.5.91/src/plugins/eis/eiscontext.cpp:223
#5  0x00007f8c0ac490e2 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=0x55edf6ca5e20, a=0x7ffde6346940) at /usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qobjectdefs_impl.h:461
#6  doActivate<false> (sender=0x55edf6ca5e20, signal_index=3, argv=argv@entry=0x7ffde6346940) at /usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qobject.cpp:4257
[...]
#9  QSocketNotifier::activated (this=0x55edf6ca5e20, _t1=..., _t2=<optimized out>, _t3=...) at /usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1_build/src/corelib/Core_autogen/include/moc_qsocketnotifier.cpp:161
#10 QSocketNotifier::event (this=0x55edf6ca5e20, e=<optimized out>) at /usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qsocketnotifier.cpp:324
#11 0x00007f8c0bfb6582 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55edf6ca5e20, e=0x7ffde6346a60) at /usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/widgets/kernel/qapplication.cpp:3305
#12 0x00007f8c0ac65068 in QCoreApplication::notifyInternal2 (receiver=0x55edf6ca5e20, event=0x7ffde6346a60) at /usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qcoreapplication.cpp:1109
#13 0x00007f8c0ac6524d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qcoreapplication.cpp:1549
#14 0x00007f8c0ab35ef6 in QEventDispatcherUNIXPrivate::activateSocketNotifiers (this=this@entry=0x55edf433be30) at /usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qeventdispatcher_unix.cpp:276
#15 0x00007f8c0ab363b0 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at /usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qeventdispatcher_unix.cpp:498
#16 0x00007f8c0b810ab1 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at /usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/gui/platform/unix/qunixeventdispatcher.cpp:28
#17 0x00007f8c0ac869ca in QEventLoop::exec (this=this@entry=0x7ffde6346bf0, flags=..., flags@entry=...) at /usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/global/qflags.h:77
#18 0x00007f8c0ac86b50 in QCoreApplication::exec () at /usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qcoreapplication.cpp:1452
#19 0x00007f8c0b302030 in QGuiApplication::exec () at /usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/gui/kernel/qguiapplication.cpp:1973
#20 0x00007f8c0bf39fb9 in QApplication::exec () at /usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/widgets/kernel/qapplication.cpp:2575
#21 0x000055edeb1ad0cd in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kde-plasma/kwin-6.5.91/kwin-6.5.91/src/main_wayland.cpp:641


Reported using DrKonqi
Comment 1 Chris Warren 2026-01-28 01:39:51 UTC
Created attachment 188970 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.