Bug 450358

Summary: Changing configuration of multi-monitors crashes plasma in Wayland.
Product: [Plasma] kwin Reporter: Gurpreet Singh <gurpreet88.sandhu>
Component: wayland-genericAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: 5.24.1   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Crash log
Kwin Wayland GDB
coredump-bt

Description Gurpreet Singh 2022-02-16 03:32:43 UTC
Created attachment 146795 [details]
Crash log

Changing configuration of multi-monitors crashes plasma in Wayland.


STEPS TO REPRODUCE
1.  Using Wayland session
2. Try to change configuration of multi-monitor setup either from keyboard shortcut or from 'Display Configuration'.

OBSERVED RESULT
Cursor blinked for couple seconds on both displays and then blank screen but Krunner is still accessible and plasma cane manually started. Restarting the plasma manually does not switch on or off the display.

EXPECTED RESULT
Changing the configuration; for e.g successfully extending current active monitor or turning off any monitor(internal or external).

SOFTWARE/OS VERSIONS
Endeavour OS
Kernel:- 5.16.9(Zen)
(available in About System)
KDE Plasma Version: 5.24.1
KDE Frameworks Version: 5.91
Qt Version: 5.15.2

ADDITIONAL INFORMATION
My laptop only have Type C ports for video outputs.
I have attached an Journalctl log of crash, hope it is helpful.
Comment 1 Vlad Zahorodnii 2022-02-16 07:25:55 UTC
Can you get the backtrace of the crash?

  coredumpctl list kwin_wayland

and put pid of the relevant crash in coredumpctl gdb <pid>, then type "bt"
Comment 2 Gurpreet Singh 2022-02-16 08:22:24 UTC
Created attachment 146802 [details]
Kwin Wayland GDB

GDB crash log for kwin_wayland
Comment 3 Gurpreet Singh 2022-02-16 08:24:56 UTC
(In reply to Vlad Zahorodnii from comment #1)
> Can you get the backtrace of the crash?
> 
>   coredumpctl list kwin_wayland
> 
> and put pid of the relevant crash in coredumpctl gdb <pid>, then type "bt"

Hi, I Don't know how to do that on Arch and KDE debug guide says it may not be possible(on Arch) but I tried to follow the kwin debug guide and attached a GDB crash log not sure if this is what you want, I'm very novice in debugging KDE.
Comment 4 Vlad Zahorodnii 2022-02-16 09:05:47 UTC
(In reply to Gurpreet Singh from comment #3)
> (In reply to Vlad Zahorodnii from comment #1)
> > Can you get the backtrace of the crash?
> > 
> >   coredumpctl list kwin_wayland
> > 
> > and put pid of the relevant crash in coredumpctl gdb <pid>, then type "bt"
> 
> Hi, I Don't know how to do that on Arch and KDE debug guide says it may not
> be possible(on Arch) but I tried to follow the kwin debug guide and attached
> a GDB crash log not sure if this is what you want, I'm very novice in
> debugging KDE.

can you install debuginfod, reboot your computer and try again? https://archlinux.org/news/debug-packages-and-debuginfod/
Comment 5 Gurpreet Singh 2022-02-16 09:47:29 UTC
Created attachment 146805 [details]
coredump-bt
Comment 6 Gurpreet Singh 2022-02-16 09:48:31 UTC
(In reply to Vlad Zahorodnii from comment #4)
> (In reply to Gurpreet Singh from comment #3)
> > (In reply to Vlad Zahorodnii from comment #1)
> > > Can you get the backtrace of the crash?
> > > 
> > >   coredumpctl list kwin_wayland
> > > 
> > > and put pid of the relevant crash in coredumpctl gdb <pid>, then type "bt"
> > 
> > Hi, I Don't know how to do that on Arch and KDE debug guide says it may not
> > be possible(on Arch) but I tried to follow the kwin debug guide and attached
> > a GDB crash log not sure if this is what you want, I'm very novice in
> > debugging KDE.
> 
> can you install debuginfod, reboot your computer and try again?
> https://archlinux.org/news/debug-packages-and-debuginfod/

I have attached the coredumpctl gdb bt of PID(kwin_wayland)
Comment 7 Zamundaaa 2022-02-18 19:40:07 UTC
Git commit e9db27d05d7b76c8a4fc12a6f5c059680917052f by Xaver Hugl.
Committed on 18/02/2022 at 17:13.
Pushed by zamundaaa into branch 'master'.

backends/drm: ignore enabled state of outputs for the lifetime of layers

A buffer is needed for atomic tests before the output is actually enabled
Related: bug 450501

M  +2    -2    src/backends/drm/egl_gbm_backend.cpp

https://invent.kde.org/plasma/kwin/commit/e9db27d05d7b76c8a4fc12a6f5c059680917052f
Comment 8 Zamundaaa 2022-02-18 19:51:27 UTC
Git commit 29bc1173c70b2a31753c791aa60fb33ee320440a by Xaver Hugl.
Committed on 18/02/2022 at 19:50.
Pushed by zamundaaa into branch 'Plasma/5.24'.

backends/drm: ignore enabled state of outputs for the lifetime of surfaces

A buffer is needed for atomic tests before the output is actually enabled
Related: bug 450501
(cherry picked from commit e9db27d05d7b76c8a4fc12a6f5c059680917052f)

M  +8    -7    src/backends/drm/egl_gbm_backend.cpp
M  +2    -2    src/backends/drm/egl_gbm_backend.h

https://invent.kde.org/plasma/kwin/commit/29bc1173c70b2a31753c791aa60fb33ee320440a
Comment 9 Gurpreet Singh 2022-02-23 00:45:02 UTC
Fixed in 5.24.2, Thank you.