| Summary: | [Wayland] Desktop freezes when Zoom effect is enabled | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Iván Ávalos <ivan> |
| Component: | effects-various | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | major | CC: | kde, nate, oded |
| Priority: | NOR | Keywords: | wayland-only |
| Version First Reported In: | 5.24.2 | ||
| Target Milestone: | --- | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/plasma/kwin/-/commit/5734342f9f96291941a4d5d1fdce4f9d608a3117 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
| Attachments: |
gdb backtrace
gdb backtrace w/debug symbols |
||
|
Description
Iván Ávalos
2022-02-27 22:16:05 UTC
ADDITIONAL INFORMATION No suspicious dmesg or journalctl logs are present whatsoever. ADDITIONAL INFORMATION No Qt apps seem to cause the freezes, that's why this bug's title contains “GTK+”. ADDITIONAL INFORMATION The duration of each freeze ranges from 50 seconds to 1:30 minutes. Cannot immediately reproduce, and we'll need more information to be able to do anything. 25seconds implies a blocking DBus call. Can you reproduce whilst running in a nested session? export `dbus-launch ` kwin_wayland --socket test WAYLAND_DISPLAY=test tangram Failing that we'll need you to ssh into the machine whilst frozen from another computer / phone and get a backtrace I get this interesting log in Gajim, not sure if it's related to the freezes, but at least I can reproduce them: 28/02/22 09:37:14 (W) gajim.c.idle org.freedesktop.ScreenSaver.GetSessionIdleTime() failed: g-io-error-quark: Timeout was reached (24) 28/02/22 09:37:39 (W) gajim.c.idle org.freedesktop.ScreenSaver.GetSessionIdleTime() failed: g-io-error-quark: Timeout was reached (24) What is interesting is that I could not reproduce with Tangram, and Gajim froze not only the nested session, but also the parent session. I have a question: is it possible to get a backtrace even if the process doesn't crash? Created attachment 147205 [details] gdb backtrace I managed to obtain a backtrace via SSH, although I'm not sure if I did it correctly, or if you need debug symbols. I followed the steps in https://community.kde.org/Plasma/Debugging#Attach_gdb_to_the_plasmashell_process The steps I used to obtain the backtrace were the following: 1. Login via SSH. 2. $ gdb -p $(pidof kwin_wayland) (gdb) set logging file kwinwayland2.txt (gdb) set logging on (gdb) continue [[Open Gajim and write in the message box… freeze!]] ^C (gdb) thread apply all backtrace (gdb) quit Created attachment 147316 [details]
gdb backtrace w/debug symbols
Here's an awesome and a lot more detailed backtrace with debug symbols and stuff. Based on Thread 2 backtrace, it seems like it is a DBus block, indeed.
Got it, got it, got it! Thread 1 backtrace (#9) references KWin::ZoomAccessibilityIntegration, which means that the Zoom effect in Desktop Effects might have something to do, so I disabled the Zoom effect and voilà! Freezes are magically gone! Zoom effects works for me on Wayland FWIW. (In reply to Nate Graham from comment #10) > Zoom effects works for me on Wayland FWIW. It works for me too, but it causes the freezes described in this ticket when doing certain things on certain GTK+ apps, because of some broken accessibility API that causes D-Bus blocks in Kwin. A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/4773 Git commit 5734342f9f96291941a4d5d1fdce4f9d608a3117 by Xaver Hugl. Committed on 08/12/2023 at 20:27. Pushed by zamundaaa into branch 'master'. plugins/zoom: disable acessibility integration on Wayland It causes hangs, and thus doesn't actually help with accessibility but makes it worse. Until that's fixed, it needs to stay disabled M +13 -8 src/plugins/zoom/zoom.cpp https://invent.kde.org/plasma/kwin/-/commit/5734342f9f96291941a4d5d1fdce4f9d608a3117 *** Bug 462346 has been marked as a duplicate of this bug. *** |