Bug 475883 - kwin_wayland segmentation fault when moving windows across different screens
Summary: kwin_wayland segmentation fault when moving windows across different screens
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: 5.27.8
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-10-20 16:41 UTC by Luciano
Modified: 2023-10-29 19:18 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 5.27.9
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Luciano 2023-10-20 16:41:16 UTC
SUMMARY

I have three screens. When I try moving windows between screens, it might cause a crash. When that happens all the windows are lost. I could not find a specific pattern to consistently reproduce the issue.

STEPS TO REPRODUCE
1. Drag a window to another monitor.
2. If a crash does not happen, repeat the step 1.

OBSERVED RESULT

This is the log using the kwin 5.27.8-4 package:

```
Oct 04 00:44:26 plasmashell[1202]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Oct 04 00:44:26 plasmashell[1202]: Checking screens: available: (QScreen(0x560aa323c580, name="DP-4"), QScreen(0x560aa3d324b0, name="DP-1"), QScreen(0x560aa5ae6200, name="HDMI-A-1")) redundant: QHash() fake: QSet() all: (QScreen(0x560aa323c580, name="DP-4"), QScreen(0x560aa3d324b0, name="DP-1"), QScreen(0x560aa5ae6200, name="HDMI-A-1"))
Oct 04 00:44:26 plasmashell[1202]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Oct 04 00:44:26 plasmashell[1202]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Oct 04 00:44:26 plasmashell[1202]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Oct 04 00:44:27 kcminit[128034]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Oct 04 00:44:28 kernel: kwin_wayland[1057]: segfault at 0 ip 00007f4b8fc37f14 sp 00007ffd8a62e728 error 4 in libQt5Gui.so.5.15.10[7f4b8f8f7000+49c000] likely on CPU 22 (core 12, socket 0)
Oct 04 00:44:28 kernel: Code: bf 10 00 00 00 81 e2 ff ff ff 7f ff 15 1d 57 25 00 48 89 43 08 48 89 c6 80 48 0b 80 e9 1c ff ff ff 90 0f 1f 40 00 f3 0f 1e fa <48> 8b 17 48 3b 15 22 bd 25 00 b8 01 00 00 00 74 0b 48 8b 42 08 8b
Oct 04 00:44:28 krunner[86646]: The Wayland connection broke. Did the Wayland compositor die?
Oct 04 00:44:28 systemsettings[124071]: The Wayland connection broke. Did the Wayland compositor die?
```

As I was not able to get the symbols, I recompiled kwin_wayland by modifying the PKGBUILD and adding `options=(debug !strip)`. I still do not get the symbols but I got these two more logs:
```
$ journalctl | grep kwin_wayland | grep segfault           
Oct 19 18:13:47 kernel: kwin_wayland[1034]: segfault at 0 ip 00007f26dac290e4 sp 00007ffe31e16718 error 4 in libQt5Gui.so.5.15.11[7f26da8e8000+49c000] likely on CPU 23 (core 13, socket 0)
Oct 20 17:23:17 kernel: kwin_wayland[1033]: segfault at 8 ip 00007f723fd7e20f sp 00007ffd92d3ae40 error 4 in libkwinglutils.so.5.27.8[7f723fd78000+13000] likely on CPU 23 (core 13, socket 0)
```

EXPECTED RESULT

I should be able to consistently move windows around without expecting a crash to happen.

SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.27.8
KDE Frameworks Version: 5.110.0
Qt Version: 5.15.11
Comment 1 Nate Graham 2023-10-23 22:05:58 UTC
If something crashed, we need a backtrace of it so we can figure out what's going on. Can you please attach a backtrace of the crash using the coredumpctl command-line program, as detailed in https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl?

Thanks!
Comment 2 Luciano 2023-10-29 19:18:02 UTC
I updated to 5.27.9 and I do not longer have the issue described in this bug. I believe it was fixed as part of this commit: https://invent.kde.org/plasma/kwin/-/commit/e6b20c47ea2d3dfc38632958e0be295a0d376e1f

Thanks for the hard work. I am marking this bug as "Resolved".