Bug 494619 - External Display Hard Lockup
Summary: External Display Hard Lockup
Status: RESOLVED DOWNSTREAM
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (other bugs)
Version First Reported In: 6.0.5
Platform: NixOS Linux
: NOR major
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-10-12 20:54 UTC by Alex Yao
Modified: 2024-10-17 05:43 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Yao 2024-10-12 20:54:44 UTC
SUMMARY
I have plasma6 enabled with Wayland on NixOS 24.05.20241007.1bfbbbe. I am not totally sure it is specifically kwin, but it is definitely related to the plasma 6 set of products. 

The below steps causes a full hard display lockup that requires a hard reboot (press and hold power button). I've observed that the processes continue running in the background (e.g. audio from video continues playing) even while the display, mouse, and keyboard (not even caps/num lock work) are completely frozen. Sysrq commands also do not function in this state. 

I have reproduced this on two different laptop models (LG Gram 16Z90S and HP ProBook 455 G9) both on NixOS.

STEPS TO REPRODUCE
0. Use wayland. This does not occur in x11.
1. Attach external display to laptop. I am using an HDMI cable.
2. Disable all other displays in kde using "Display Configuration"
3. Unplug HDMI cable from laptop.
4. Plug HDMI cable back in.
5. Attempt to drag an existing window or open a new window and drag it. Specifically dragging the window is what causes the hard lockup.

OBSERVED RESULT
Hard lockup

EXPECTED RESULT
No hard lockup

SOFTWARE/OS VERSIONS
perating System: NixOS 24.05
KDE Plasma Version: 6.0.5
KDE Frameworks Version: 6.2.0
Qt Version: 6.7.2
Kernel Version: 6.10.13 (64-bit)
Graphics Platform: X11
Processors: 22 × Intel® Core™ Ultra 7 155H
Memory: 30.8 GiB of RAM
Graphics Processor: Mesa Intel® Arc

ADDITIONAL INFORMATION

Nix config below:
services.xserver.enable = false;
services.displayManager.sddm.enable = true;
services.desktopManager.plasma6.enable = true;
services.displayManager.defaultSession = "plasma";
services.displayManager.sddm.wayland.enable = true;
Comment 1 TraceyC 2024-10-14 22:16:38 UTC
I'm not able to reproduce this on git-master

KDE Plasma Version: 6.2.80
KDE Frameworks Version: 6.7.0
Qt Version: 6.7.3
Kernel Version: 6.10.13-304.current (64-bit)
Graphics Platform: Wayland

I also can't reproduce on Plasma 6.1.5
Operating System: Solus 4.5
KDE Plasma Version: 6.1.5
KDE Frameworks Version: 6.6.0
Qt Version: 6.7.3
Kernel Version: 6.10.13-304.current (64-bit)
Graphics Platform: Wayland

Can you try updating your system to Plasma 6.1.5 or later and see if the problem persists? Thanks.
Comment 2 Alex Yao 2024-10-16 02:22:36 UTC
I upgraded to the nix unstable branch and still see this issue. Different physical machine, same issue though. I'll see if I can replicate this issue in a VM.

Operating System: NixOS 24.11
KDE Plasma Version: 6.2.0
KDE Frameworks Version: 6.7.0
Qt Version: 6.8.0
Kernel Version: 6.10.14 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 5825U with Radeon Graphics
Memory: 62.1 GiB of RAM
Graphics Processor: AMD Radeon Graphics
Comment 3 Alex Yao 2024-10-16 04:22:08 UTC
I tried this on Solus as mentioned and also cannot reproduce this. I'll raise this issue in the nixpkgs repo since it seems to be directly related to the nix package.
Comment 4 TraceyC 2024-10-16 20:26:41 UTC
Thanks for the feedback.
Comment 5 Alex Yao 2024-10-17 05:32:19 UTC
Discovered the actual cause of the bug here. I was using the kzones plugin. After turning it off, I no longer experienced this behavior.
Comment 6 Alex Yao 2024-10-17 05:43:41 UTC
Since a kwin plugin is causing this issue. Is this enough to say this is an issue with KDE since plugins shouldn't be able to react in this way? I was able to see the same issue occur on both nixos 6.2.0 and solus linux on 6.1.5. This was the only plugin that was installed.