| Summary: | kwin_wayland closes in KWin::InputMethod::stopInputMethod() when clicking on Input Method applet | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Nate Graham <nate> |
| Component: | wayland-generic | Assignee: | Aleix Pol <aleixpol> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | aleixpol, xaver.hugl |
| Priority: | HI | Keywords: | regression |
| Version First Reported In: | master | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/plasma/kwin/commit/e550480c43db4387eaf5c16a3b6136a72147a26a | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
| Attachments: |
WAYLAND_DEBUG=1 plasmashell output
partial backtrace |
||
Meaning no backtrace on coredumpctl? If all apps die, it's probably kwin_wayland crashing. The trace there only tells us that the compositor is gone. Can you maybe try to run kwin on the debugger? https://www.proli.net/2020/04/03/developing-kwin-wayland/ I did, and still got no backtrace in gdb--not even with `break exit` set. Created attachment 142370 [details]
partial backtrace
Seems like coredumpctl doesn't catch recursions Yay I'm not crazy! Dying in KWin::InputMethod::stopInputMethod() makes sense because I was just able to reproduce the issue by setting the input method to "None" in the KCM as well. A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/1518 A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/1524 Git commit e550480c43db4387eaf5c16a3b6136a72147a26a by Aleix Pol Gonzalez, on behalf of Vlad Zahorodnii. Committed on 14/10/2021 at 10:02. Pushed by apol into branch 'master'. Rework input method teardown logic Explicitly destroy input method rather than wait for the input method connection to be destroyed by WaylandServer, it's less error prone. M +1 -0 autotests/integration/kwin_wayland_test.cpp M +7 -6 src/inputmethod.cpp M +11 -0 src/main.cpp M +2 -0 src/main.h M +2 -1 src/main_wayland.cpp M +0 -3 src/wayland_server.cpp M +0 -1 src/wayland_server.h https://invent.kde.org/plasma/kwin/commit/e550480c43db4387eaf5c16a3b6136a72147a26a |
Created attachment 142336 [details] WAYLAND_DEBUG=1 plasmashell output Everything from git master as of last Friday. STEPS TO REPRODUCE 1. Set the input method be Maliit in System Settings 2. Reboot 3. Click on the Input Method applet in the system tray OBSERVED RESULT kwin_wayland closes (and restarts) and all apps die. It doesn't seem to crash, because no backtrace is generated--not even from gdb with `break exit` set. I'm attaching the output of `WAYLAND_DEBUG=1 plasmashell` though. EXPECTED RESULT The applet disables the virtual keyboard and KWin doesn't close and restart