Summary: | Maximizing a window by dragging it to the top of the screen can cause a full system freeze | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | kostadinshishmanov |
Component: | general | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | fanzhuyifan |
Priority: | NOR | ||
Version First Reported In: | git-stable-Plasma/6.3 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
See Also: |
https://bugs.kde.org/show_bug.cgi?id=481610 https://bugs.kde.org/show_bug.cgi?id=489797 https://bugs.kde.org/show_bug.cgi?id=488518 |
||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
kostadinshishmanov
2025-01-12 00:58:55 UTC
When your system freezes, could you try pressing alt+sysrq (or alt+printscreen), and then ctrl+alt+f4 to switch to a virtual terminal? If you can do that, could you first run htop to check the CPU usage of kwin? Then, could you run attach gdb to the running kwin process (gdb kwin_wayland -p (pid of kwin_wayland process)), hit ctrl-c, and provide the output of bt? (debug symbols needed, https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces) I was able to reproduce by moving a window along top edge back and forth, and saw kwin stuck in updateInteractiveMoveResize in window.cpp. So this very likely has same underlying cause as BUG 481610 See also https://www.reddit.com/r/kde/comments/1b2djt5/hard_freeze_when_moving_windows_to_edge_of_screen/ and https://bugs.kde.org/show_bug.cgi?id=488518#c9 Git commit dcaa11bced46539b87ab36189c538f6b70f8eac2 by Xaver Hugl. Committed on 16/01/2025 at 16:32. Pushed by zamundaaa into branch 'master'. backends/drm: remove the chance for false positives in pageflip timeout detection The previous code also detected the main thread hanging as a pageflip timeout. Instead of just detecting the pageflip timing out, call back to the main thread and handle it hanging M +31 -4 src/backends/drm/drm_commit_thread.cpp M +4 -0 src/backends/drm/drm_commit_thread.h M +6 -0 src/backends/drm/drm_gpu.cpp M +3 -1 src/backends/drm/drm_gpu.h https://invent.kde.org/plasma/kwin/-/commit/dcaa11bced46539b87ab36189c538f6b70f8eac2 A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/7025 Just discovered 493797, which is more detailed and earlier. *** This bug has been marked as a duplicate of bug 493797 *** Git commit 275b4ac9829720291cfae67d0ae37165b6140ce4 by Xaver Hugl. Committed on 16/01/2025 at 17:04. Pushed by zamundaaa into branch 'Plasma/6.3'. backends/drm: remove the chance for false positives in pageflip timeout detection The previous code also detected the main thread hanging as a pageflip timeout. Instead of just detecting the pageflip timing out, call back to the main thread and handle it hanging (cherry picked from commit dcaa11bced46539b87ab36189c538f6b70f8eac2) M +31 -4 src/backends/drm/drm_commit_thread.cpp M +4 -0 src/backends/drm/drm_commit_thread.h M +6 -0 src/backends/drm/drm_gpu.cpp M +3 -1 src/backends/drm/drm_gpu.h https://invent.kde.org/plasma/kwin/-/commit/275b4ac9829720291cfae67d0ae37165b6140ce4 |