Bug 478496 - With NVIDIA GPU, kwin_wayland crashes upon start when `XwaylandClientsScale=false` in set in kdeglobals
Summary: With NVIDIA GPU, kwin_wayland crashes upon start when `XwaylandClientsScale=f...
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (other bugs)
Version First Reported In: 5.27.9
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-12-14 02:20 UTC by Xu Zhao
Modified: 2023-12-15 22:23 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Xu Zhao 2023-12-14 02:20:15 UTC
SUMMARY

Upon system start, kwin_wayland crashes with the following stacktrace:

```
Nov 27 22:33:54 arch-desktop systemd-coredump[1460]: [?] Process 1202 (kwin_wayland) of user 1000 dumped core.

                                                     Stack trace of thread 1202:
                                                     #0  0x00007ffb2e4ac83c n/a (libc.so.6 + 0x8e83c)
                                                     #1  0x00007ffb2e45c668 raise (libc.so.6 + 0x3e668)
                                                     #2  0x00007ffb2e4444b8 abort (libc.so.6 + 0x264b8)
                                                     #3  0x00007ffb3058afee n/a (libepoxy.so.0 + 0xbbfee)
                                                     #4  0x00007ffb3058e9d2 n/a (libepoxy.so.0 + 0xbf9d2)
                                                     #5  0x00007ffb31030d97 n/a (libkwin.so.5 + 0x430d97)
                                                     #6  0x00007ffb31032bc9 _ZN4KWin9EglDmabufD1Ev (libkwin.so.5 +>
                                                     #7  0x00007ffb31034121 _ZN4KWin18AbstractEglBackendD2Ev (libk>
                                                     #8  0x00007ffb30f75f7d n/a (libkwin.so.5 + 0x375f7d)
                                                     #9  0x00007ffb30dc058b _ZN4KWin10Compositor4stopEv (libkwin.s>
                                                     #10 0x00007ffb30db9108 _ZN4KWin10Compositor12reinitializeEv (>
                                                     #11 0x00007ffb2f4d1097 n/a (libQt5Core.so.5 + 0x2d1097)
                                                     #12 0x00007ffb30f11dba _ZN4KWin9Workspace15slotReconfigureEv >
                                                     #13 0x00007ffb2f4d1097 n/a (libQt5Core.so.5 + 0x2d1097)
                                                     #14 0x00007ffb2f4d2bcf _ZN6QTimer7timeoutENS_14QPrivateSignal>
                                                     #15 0x00007ffb2f4c3b4e _ZN7QObject5eventEP6QEvent (libQt5Core>
                                                     #16 0x00007ffb2eb788ff _ZN19QApplicationPrivate13notify_helpe>
                                                     #17 0x00007ffb2f49c168 _ZN16QCoreApplication15notifyInternal2>
                                                     #18 0x00007ffb2f4ea7cb _ZN14QTimerInfoList14activateTimersEv >
                                                     #19 0x00007ffb2f4eacb1 _ZN20QEventDispatcherUNIX13processEven>
                                                     #20 0x00005557facd7ce2 n/a (kwin_wayland + 0x137ce2)
                                                     #21 0x00007ffb2f49ae74 _ZN10QEventLoop4execE6QFlagsINS_17Proc>
                                                     #22 0x00007ffb2f49c313 _ZN16QCoreApplication4execEv (libQt5Co>
                                                     #23 0x00005557fabf340b n/a (kwin_wayland + 0x5340b)
                                                     #24 0x00007ffb2e445cd0 n/a (libc.so.6 + 0x27cd0)
                                                     #25 0x00007ffb2e445d8a __libc_start_main (libc.so.6 + 0x27d8a)
                                                     #26 0x00005557fabf5015 n/a (kwin_wayland + 0x55015)


                                                     Stack trace of thread 1215:
                                                     #0  0x00007ffb2e520f6f __poll (libc.so.6 + 0x102f6f)
                                                     #1  0x00007ffb2d16c276 n/a (libglib-2.0.so.0 + 0xb8276)
                                                     #2  0x00007ffb2d10c162 g_main_context_iteration (libglib-2.0.>
                                                     #3  0x00007ffb2f4eaf7c _ZN20QEventDispatcherGlib13processEven>
                                                     #4  0x00007ffb2f49ae74 _ZN10QEventLoop4execE6QFlagsINS_17Proc>
                                                     #5  0x00007ffb2f2f74f6 _ZN7QThread4execEv (libQt5Core.so.5 + >
                                                     #6  0x00007ffb31354a9a n/a (libQt5DBus.so.5 + 0x18a9a)
                                                     #7  0x00007ffb2f2f371a n/a (libQt5Core.so.5 + 0xf371a)
                                                     #8  0x00007ffb2e4aa9eb n/a (libc.so.6 + 0x8c9eb)
                                                     #9  0x00007ffb2e52e7cc n/a (libc.so.6 + 0x1107cc)

                                                     Stack trace of thread 1217:
                                                     #0  0x00007ffb2e520f6f __poll (libc.so.6 + 0x102f6f)
                                                     #1  0x00007ffb2d16c276 n/a (libglib-2.0.so.0 + 0xb8276)
                                                     #2  0x00007ffb2d10c162 g_main_context_iteration (libglib-2.0.>
                                                     #3  0x00007ffb2f4eaf7c _ZN20QEventDispatcherGlib13processEven>
                                                     #4  0x00007ffb2f49ae74 _ZN10QEventLoop4execE6QFlagsINS_17Proc>
                                                     #5  0x00007ffb2f2f74f6 _ZN7QThread4execEv (libQt5Core.so.5 + >
                                                     #6  0x00007ffb2f2f371a n/a (libQt5Core.so.5 + 0xf371a)
                                                     #7  0x00007ffb2e4aa9eb n/a (libc.so.6 + 0x8c9eb)
                                                     #8  0x00007ffb2e52e7cc n/a (libc.so.6 + 0x1107cc)

Stack trace of thread 1231:
                                                     #0  0x00007ffb2e4a74ae n/a (libc.so.6 + 0x894ae)
                                                     #1  0x00007ffb2e4aa055 pthread_cond_timedwait (libc.so.6 + 0x>
                                                     #2  0x00007ffb2f2fb434 _ZN14QWaitCondition4waitEP6QMutex14QDe>
                                                     #3  0x00007ffb2f2f856a n/a (libQt5Core.so.5 + 0xf856a)
                                                     #4  0x00007ffb2f2f371a n/a (libQt5Core.so.5 + 0xf371a)
                                                     #5  0x00007ffb2e4aa9eb n/a (libc.so.6 + 0x8c9eb)
                                                     #6  0x00007ffb2e52e7cc n/a (libc.so.6 + 0x1107cc)

                                                     Stack trace of thread 1232:
                                                     #0  0x00007ffb2e520f6f __poll (libc.so.6 + 0x102f6f)
                                                     #1  0x00007ffb2d16c276 n/a (libglib-2.0.so.0 + 0xb8276)
                                                     #2  0x00007ffb2d10c162 g_main_context_iteration (libglib-2.0.>
                                                     #3  0x00007ffb2f4eaf7c _ZN20QEventDispatcherGlib13processEven>
                                                     #4  0x00007ffb2f49ae74 _ZN10QEventLoop4execE6QFlagsINS_17Proc>
                                                     #5  0x00007ffb2f2f74f6 _ZN7QThread4execEv (libQt5Core.so.5 + >
                                                     #6  0x00007ffb302c5880 n/a (libQt5Qml.so.5 + 0x2c5880)
                                                     #7  0x00007ffb2f2f371a n/a (libQt5Core.so.5 + 0xf371a)
                                                     #8  0x00007ffb2e4aa9eb n/a (libc.so.6 + 0x8c9eb)
                                                     #9  0x00007ffb2e52e7cc n/a (libc.so.6 + 0x1107cc)
                                                     ELF object binary architecture: AMD x86-64
Nov 27 22:33:54 arch-desktop systemd[1]: systemd-coredump@2-1459-0.service: Deactivated successfully.
Nov 27 22:33:54 arch-desktop org_kde_powerdevil[1331]: The Wayland connection broke. Did the Wayland compositor di>
Nov 27 22:33:54 arch-desktop polkitd[531]: Unregistered Authentication Agent for unix-session:2 (system bus name :>
Nov 27 22:33:54 arch-desktop kwin_wayland_wrapper[1235]: (EE) failed to read Wayland events: Broken pipe
Nov 27 22:33:54 arch-desktop polkit-kde-authentication-agent-1[1330]: The Wayland connection broke. Did the Waylan>
Nov 27 22:33:54 arch-desktop kactivitymanagerd[1323]: The Wayland connection broke. Did the Wayland compositor die?
Nov 27 22:33:54 arch-desktop kded5[1266]: The Wayland connection broke. Did the Wayland compositor die?
Nov 27 22:33:54 arch-desktop kwalletd5[794]: The Wayland connection broke. Did the Wayland compositor die?
```

Removing the following section from ~/.config/kdeglobals, the issue is gone:

```
[KScreen]
ScaleFactor=1.25
ScreenScaleFactors=DP-2=1.25;HDMI-A-1=1.25;Unknown-1=1.25;
XwaylandClientsScale=false
```


STEPS TO REPRODUCE
1. In System Settings/Display and Monitor/Display Configuration -  Legacy Applications (X11), select "Scaled by the system", and use Scale factor 200%
2. Restart the machine. (May need to restart several times to reproduce)

OBSERVED RESULT

kwin_wayland will crash with the above stacktrace.

EXPECTED RESULT

kwin_wayland does not crash.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Linux 6.6.1
KDE Plasma Version: 5.27.9
KDE Frameworks Version: 5.112.0
Qt Version: 5.15.11
openSUSE Tumbleweed 20231117

ADDITIONAL INFORMATION

The same issue is also reproduced on ArchLinux: https://bbs.archlinux.org/viewtopic.php?id=290684
Comment 1 Nate Graham 2023-12-14 20:28:24 UTC
I haven't been able to reproduce this on Fedora 39 with Plasma 6 stuff built on top of it after 3 reboots. So maybe it's already fixed in Plasma 6. Let's close it for now until we get any reports of it from people on Plasma 6. Thanks anyway for reporting it!
Comment 2 Xu Zhao 2023-12-14 20:41:09 UTC
(In reply to Nate Graham from comment #1)
> I haven't been able to reproduce this on Fedora 39 with Plasma 6 stuff built
> on top of it after 3 reboots. So maybe it's already fixed in Plasma 6. Let's
> close it for now until we get any reports of it from people on Plasma 6.
> Thanks anyway for reporting it!

Plasma6 hasn't landed on tumbleweed repo, so I cannot test it.
BTW, do you use NVIDIA GPU? This seems to be only reproducible on NVIDIA GPU. I am using NVIDIA Driver version 545.29.02.
Comment 3 Nate Graham 2023-12-15 15:55:08 UTC
Ah, I'm not using an NVIDIA GPU. That could indeed be related. Re-opening.

Are you able to test the Plasma 6 beta release?
Comment 4 Xu Zhao 2023-12-15 22:16:46 UTC
(In reply to Nate Graham from comment #3)
> Ah, I'm not using an NVIDIA GPU. That could indeed be related. Re-opening.
> 
> Are you able to test the Plasma 6 beta release?

I just tried Plasma 6. Plasma 6 does not have this issue (I tried 8 reboots or so). I guess Plasma6 has fixed this issue, so I am okay closing it if we don't plan a backward fix on 5.27.9.

However sidenote that there is pretty bad flickering issue across the plasma desktop/wayland applications/X11 applications on NVIDIA card (suspect duplicate of https://bugs.kde.org/show_bug.cgi?id=478563).
Comment 5 Nate Graham 2023-12-15 22:23:55 UTC
Yes, I'm afraid no more Plasma 5 releases are planned. Thanks a lot for testing!