Bug 447936 - X11: turning the monitor off/on, causes the panel to disappear
Summary: X11: turning the monitor off/on, causes the panel to disappear
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Unclassified
Component: general (show other bugs)
Version: master
Platform: Other Linux
: VHI normal
Target Milestone: 1.0
Assignee: David Edmundson
URL:
Keywords: regression
: 446078 447728 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-01-04 14:18 UTC by Ahmad Samir
Modified: 2022-01-21 22:41 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.24


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ahmad Samir 2022-01-04 14:18:33 UTC
This is was a recent git master snapshot of plasma; note that with this setup I only have one monitor.

Here is the relevant part of the log:

Jan 04 15:15:54 localhost systemd[15687]: Started sleep.
Jan 04 15:29:55 localhost plasmashell[15829]: org.kde.plasma.notifications: Notification to send to backend contains invalid XML:  "Invalid XML name." line 1 col 33
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper: RRNotify_OutputProperty (ignored)
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Timestamp:  30945254
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Output:  69
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Property:  EDIDleteA
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         State (newValue, Deleted):  1
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper: RRNotify_OutputProperty (ignored)
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Timestamp:  30945254
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Output:  69
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Property:  EDID
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         State (newValue, Deleted):  1
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper: RRNotify_OutputChange
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Timestamp:  24129740
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Output:  69
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         CRTC:  62
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Mode:  71
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Rotation:  "Rotate_0"
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Connection:  "Disconnected"
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Subpixel Order:  0
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper: RRScreenChangeNotify
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Timestamp:  24129740
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Config_timestamp:  30945447
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Window: 12582917
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Root: 1485
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Rotation:  "Rotate_0"
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Size ID: 65535
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Size:  3840 2160
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         SizeMM:  508 285
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper: RRNotify_OutputChange
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Timestamp:  24129740
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Output:  69
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         CRTC:  62
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Mode:  71
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Rotation:  "Rotate_0"
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Connection:  "Disconnected"
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Subpixel Order:  0
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xrandr: XRandROutput 69 update 
                                                                  m_connected: 0 
                                                                  m_crtc XRandRCrtc(0x55c542069e60) 
                                                                  CRTC: 62 
                                                                  MODE: 71 
                                                                  Connection: 1 
                                                                  Primary: true
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xrandr: Output 69 : connected = false , enabled = true
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xrandr: XRandROutput 69 update 
                                                                  m_connected: 1 
                                                                  m_crtc XRandRCrtc(0x55c542069e60) 
                                                                  CRTC: 62 
                                                                  MODE: 71 
                                                                  Connection: 1 
                                                                  Primary: true
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xrandr: Output 69 : connected = false , enabled = true
Jan 04 16:08:45 localhost plasmashell[15829]: requesting unexisting screen -1
Jan 04 16:08:45 localhost plasmashell[15829]: requesting unexisting screen -1
Jan 04 16:08:45 localhost plasmashell[15829]: requesting unexisting screen -1
Jan 04 16:08:45 localhost plasmashell[15829]: requesting unexisting screen -1
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper: RRNotify_OutputChange
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Timestamp:  24129740
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Output:  69
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         CRTC:  62
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Mode:  71
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Rotation:  "Rotate_0"
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Connection:  "Connected"
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Subpixel Order:  0
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper: RRScreenChangeNotify
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Timestamp:  24129740
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Config_timestamp:  30945515
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Window: 12582917
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Root: 1485
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Rotation:  "Rotate_0"
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Size ID: 0
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Size:  3840 2160
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         SizeMM:  508 285
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper: RRNotify_OutputChange
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Timestamp:  24129740
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Output:  69
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         CRTC:  62
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Mode:  71
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Rotation:  "Rotate_0"
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Connection:  "Connected"
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xcb.helper:         Subpixel Order:  0
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xrandr: XRandROutput 69 update 
                                                                  m_connected: 1 
                                                                  m_crtc XRandRCrtc(0x55c542069e60) 
                                                                  CRTC: 62 
                                                                  MODE: 71 
                                                                  Connection: 0 
                                                                  Primary: true
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xrandr: Connected output 69 to CRTC 62
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xrandr: Output 69 : connected = true , enabled = true
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xrandr: XRandROutput 69 update 
                                                                  m_connected: 0 
                                                                  m_crtc XRandRCrtc(0x55c542069e60) 
                                                                  CRTC: 62 
                                                                  MODE: 71 
                                                                  Connection: 0 
                                                                  Primary: true
Jan 04 16:08:45 localhost kscreen_backend_launcher[15828]: kscreen.xrandr: Output 69 : connected = true , enabled = true
Jan 04 16:08:45 localhost plasmashell[15829]: requesting unexisting screen 0
Jan 04 16:08:45 localhost plasmashell[15829]: kde.plasmashell: could not find primary screen ":0.0"
Jan 04 16:08:45 localhost plasmashell[15829]: requesting unexisting screen 0
Jan 04 16:08:45 localhost plasmashell[15829]: kde.plasmashell: could not find primary screen ":0.0"
Jan 04 16:08:45 localhost plasmashell[15829]: requesting unexisting screen 0
Jan 04 16:08:45 localhost plasmashell[15829]: kde.plasmashell: could not find primary screen ":0.0"
Jan 04 16:08:45 localhost plasmashell[15829]: requesting unexisting screen 0
Jan 04 16:08:45 localhost plasmashell[15829]: kde.plasmashell: could not find primary screen ":0.0"
Jan 04 16:08:45 localhost plasmashell[15829]: requesting unexisting screen 0
<... repeats many times>
Jan 04 16:08:45 localhost kwin_x11[15808]: QMetaProperty::read: Unable to handle unregistered datatype 'KWin::SessionState' for property 'KWin::EffectsHandlerImplX11::sessionState'
Jan 04 16:08:45 localhost plasmashell[15829]: requesting unexisting screen 0
Jan 04 16:08:45 localhost plasmashell[15829]: kde.plasmashell: could not find primary screen ":0.0"
Jan 04 16:08:45 localhost plasmashell[15829]: requesting unexisting screen 0

Jan 04 16:08:46 localhost kscreen_backend_launcher[15828]: kscreen.xrandr: Emitting configChanged()
Comment 1 Ahmad Samir 2022-01-06 15:42:11 UTC
I forgot to say that I have to restart plasmashell to get the panel back.
Comment 2 Marco Martin 2022-01-07 13:35:41 UTC
I'm trying to reproduce it with master but without success so far.

how is the setup?
is it a desktop machine? (ie not laptop) hdmi connection? is the only connection the video card has?
what monitor/video card is it?
Comment 3 Marco Martin 2022-01-07 14:28:44 UTC
is the desktop actually "working"? ie is it drawing/refreshing and does the right mouse button menu work?

the closest i got it to reproduce is plasma crashing but the compositor still painting the last known state of the desktop, so it"appears" only the panel is gone, but plasma isn't running anymore
Comment 4 Ahmad Samir 2022-01-07 14:41:45 UTC
Desktop machine
DisplayPort connection
Single monitor
nvidia GTX770, nouveau kernel module and modesetting driver
Monitor is a 4K Samsung

The rest of the session is OK, and the plasmashell process is running in the background but no panel; you mean right click on the desktop? (because right clicking in any app is OK).
Comment 5 Ahmad Samir 2022-01-07 14:42:56 UTC
I'll test with a new user account, could be something broken in my current user account (given that no one else is seeing this issue :)).
Comment 6 Marco Martin 2022-01-07 14:55:34 UTC
ok, managed to perfectly reproduce, nvm
Comment 7 Ahmad Samir 2022-01-07 15:06:28 UTC
Tested with a new user account, the issue seems to happen only if I use `xset dpms force off` to turn the monitor off (I have a global shortcut that runs that command).
Comment 8 Bug Janitor Service 2022-01-07 15:48:22 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1339
Comment 9 Marco Martin 2022-01-10 09:22:58 UTC
Git commit 9c04d5623687a833ed3b906451ce205b8723cedd by Marco Martin.
Committed on 10/01/2022 at 09:22.
Pushed by mart into branch 'master'.

Delay setPrimaryOutputName on X11 nativeeventfilter

if we do immediately setPrimaryOutputName, the name is still :0.0
because the app didn't have time to react yet (since here we are in the event filter,
we are just before that by definition) so the output name can still be wrong.

when we go from no outputs to one, at this point the name of the one QScreen
instane is still wrong :0.0 which will be renamed right after.

M  +4    -1    shell/primaryoutputwatcher.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/9c04d5623687a833ed3b906451ce205b8723cedd
Comment 10 Nate Graham 2022-01-12 01:47:30 UTC
*** Bug 447728 has been marked as a duplicate of this bug. ***
Comment 11 Nate Graham 2022-01-12 17:41:36 UTC
*** Bug 446078 has been marked as a duplicate of this bug. ***
Comment 12 Michael D 2022-01-21 22:40:25 UTC
I just encountered what seems to be this bug but the desktop wallpaper changes to the one that would display on a secondary display. So I think the panel doesn't show because it thinks my primary laptop display is a secondary display instead, on which no panel is configured.
Comment 13 Michael D 2022-01-21 22:41:02 UTC
Oh whoops, I meant to say that this only happens for me on *wayland*, not X11.