https://bugs.kde.org/show_bug.cgi?id=525307
Bug ID: 525307
Summary: Libeis "Failed to add device" disconnects the entire
EIS client instead of just that device, with no
diagnostic detail
Classification: Plasma
Product: kwin
Version First 6.3.6
Reported In:
Platform: Debian stable
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: input
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Target Milestone: ---
KWin's libeis backend logs a single, contextless line when it fails to add an
input device to an EIS client's session:
kwin_libeis: Libeis: Failed to add device, disconnecting client
No device type, no error code, and no further detail precedes or follows it in
the journal. The effect is that the entire EIS client connection is torn down,
not just the one device that failed to add. Every input-injection call the
client makes afterward fails at the socket level (broken pipe / EPIPE on the
client side) for as long as that client keeps trying to use the now-dead
connection.
ENVIRONMENT
- KDE Plasma / kwin_wayland 6.3.6
- Debian 13 (trixie), kernel 6.12.101
- libeis1 1.3.901-1
- xdg-desktop-portal-kde 6.3.5-1
- Client: lamco-rdp-server, an RDP server using libei (via the RemoteDesktop
portal) for input injection
OBSERVED
This fired twice within a 12-hour window on the same machine, both times within
under a minute of our client establishing or re-establishing its EIS session:
- 00:46:38 local: during an unrelated network-level client disconnect. No
visible injection failures were logged that time, likely because no injection
was attempted against the socket before that RDP session ended on its own.
- 10:59:53 local: 35 seconds after an RDP client reconnected. From this point,
every mouse and keyboard injection attempt failed with a broken pipe (500+
occurrences logged client-side) until the RDP client itself gave up and
disconnected roughly 7 minutes later. To the end user this presented simply as
"keyboard and mouse stopped working."
CROSS-CHECK RULING OUT A CLIENT-SIDE BUG
The identical EIS client implementation (same start_emulating /
device-lifecycle code) works with zero socket EOF or broken-pipe errors against
KDE Plasma 6.5.4 with libei 1.5.0 elsewhere in our test fleet. Something
specific to this KWin 6.3.6 / libeis 1.3.901 combination, or a race at
(re)connect time, causes device-add to fail here.
REQUEST
1. Log why the device-add failed (device type, errno/reason) instead of an
opaque one-line message.
2. Consider not tearing down the whole EIS client for a single failed device
add, if that is not required by the protocol -- or if it is
required/intentional, please confirm, since nothing in the libei/EIS
documentation we have reviewed indicates a single device's failure should be
fatal to the whole session.
Happy to provide the full journal excerpt or test further against a specific
KWin/libeis version if that would help narrow this down.
--
You are receiving this mail because:
You are watching all bug changes.