Bug 493572 - Plasmashell randomly exits with wayland protocol error ("xdg_surface#157: error -1: invalid window geometry size (0x0)" after unlocking with multiple screens
Summary: Plasmashell randomly exits with wayland protocol error ("xdg_surface#157: err...
Status: REPORTED
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (show other bugs)
Version: 6.1.5
Platform: Other Linux
: VHI crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: multiscreen
: 493036 493374 (view as bug list)
Depends on:
Blocks:
 
Reported: 2024-09-24 09:29 UTC by Robert David
Modified: 2024-11-14 21:42 UTC (History)
9 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robert David 2024-09-24 09:29:00 UTC
***
If you're not sure this is actually a bug, instead post about it at https://discuss.kde.org

If you're reporting a crash, attach a backtrace with debug symbols; see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports

Please remove this comment after reading and before submitting - thanks!
***

SUMMARY

Plasmashell crash with following error:

qt.qpa.wayland: Creating a fake screen in order for Qt not to crash                                                
kf.plasma.quick: Exposed with no visual parent. Window positioning broken.                                         
kf.plasma.quick: Exposed with no visual parent. Window positioning broken.                                                                                                                                                             
kf.plasma.quick: Exposed with no visual parent. Window positioning broken.                                         
kf.plasma.quick: Exposed with no visual parent. Window positioning broken.                                                                                                                                                             
xdg_surface#157: error -1: invalid window geometry size (0x0)                                                      
qt.qpa.wayland: Could not create EGL surface (EGL error 0x3000)                                                     
qt.qpa.wayland: Could not create EGL surface (EGL error 0x3000)

This crash is not a core dump. Otherwise I would collect and debug it.
It is always connected with external screen connected to the laptop. Not all of them. In this case it is a 4K screen and 150% fractional scaling. Other ultrawide screen connected the same through usb-c, without scaling is always ok.

STEPS TO REPRODUCE
It is not 100% reproducible. But it happens when the external screen goes standby and screen is locked.
When I unlock the screen the panel is gone. 

OBSERVED RESULT
The panel disappear and I need to manually start plasmashell again.

EXPECTED RESULT


SOFTWARE/OS VERSIONS
Operating System: Void 
KDE Plasma Version: 6.1.5
KDE Frameworks Version: 6.6.0
Qt Version: 6.7.2
Kernel Version: 6.6.52_1 (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i7-8665U CPU @ 1.90GHz
Memory: 15.4 GiB of RAM
Graphics Processor: Mesa Intel® UHD Graphics 620

ADDITIONAL INFORMATION
It is not a new regression, I'm observing this from the Plasma 6 introduction (it may be present even before, but not in that frequent manner).
Comment 1 Nate Graham 2024-09-24 15:30:30 UTC
*** Bug 493374 has been marked as a duplicate of this bug. ***
Comment 2 Nate Graham 2024-09-24 15:31:12 UTC
So far only see with AMD GPUs. See related NVIDIA bug 490813.
Comment 3 Nate Graham 2024-09-24 15:33:12 UTC
And also Bug 491844, which also has the same error message with an AMD GPU.
Comment 4 Robert David 2024-09-25 09:33:39 UTC
I observe similar issue on both of my systems. The second is older Lenovo T460 and when connected with HDMI it has a similar outcome as this bug. I need to clarify the error is the same, but probably is. None of these systems has a dedicated gpu. Both are wayland and Plasma 6.1.x.. I think I have also tested X11 on the older system, observing these random exits also.

I will try to run the latest Neon on the older system to see if it is not a Void specific issue to sort that out. There may be something that a non-systemd system provides differently than the Plasma is expecting.

And sorry for my initial description, that I forgot to erase the heading text. I'll be more careful next time.
Comment 5 Bug Janitor Service 2024-10-03 10:21:06 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/libplasma/-/merge_requests/1205
Comment 6 Nate Graham 2024-10-11 20:12:09 UTC
*** Bug 493036 has been marked as a duplicate of this bug. ***
Comment 7 David Edmundson 2024-10-18 13:57:05 UTC
Git commit ee773fa669f91b34115a123c89055857bb52f04c by David Edmundson.
Committed on 18/10/2024 at 13:55.
Pushed by davidedmundson into branch 'master'.

appletpopup: Guard against null sizes

M  +4    -1    src/plasmaquick/appletpopup.cpp
M  +3    -0    src/plasmaquick/dialog.cpp

https://invent.kde.org/plasma/libplasma/-/commit/ee773fa669f91b34115a123c89055857bb52f04c
Comment 8 Xavier FORESTIER 2024-11-02 09:51:45 UTC
Still have the issue, it's very simple to reproduce now : power down / up my screen crash plasmashell :
~ $ plasmashell
KPackageStructure of KPluginMetaData(pluginId:"org.kde.graphsplasmoid", fileName: "/usr/share/plasma/plasmoids/org.kde.graphsplasmoid/metadata.json") does not match requested format "Plasma/Applet"
KPackageStructure of KPluginMetaData(pluginId:"org.kde.plasma.kweather_1x4", fileName: "/usr/share/plasma/plasmoids/org.kde.plasma.kweather_1x4/metadata.json") does not match requested format "Plasma/Applet"
KPackageStructure of KPluginMetaData(pluginId:"org.kde.plasma.kclock_1x2", fileName: "/usr/share/plasma/plasmoids/org.kde.plasma.kclock_1x2/metadata.json") does not match requested format "Plasma/Applet"
kf.plasma.quick: Applet preload policy set to 1
file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:178:25: QML FolderViewDropArea (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "minimumWidth":
file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:201:9
Toolbox not loading, toolbox package is either invalid or disabled.
org.kde.plasma.kicker: Entry is not valid "org.kde.kontact.desktop" 0x562fd54ac370
org.kde.plasma.kicker: Entry is not valid "org.kde.discover.desktop" 0x562fd54ac370
org.kde.plasma.kicker: Entry is not valid "org.kde.kontact.desktop" 0x562fd54ac370
org.kde.plasma.kicker: Entry is not valid "org.kde.discover.desktop" 0x562fd54ac370
file:///usr/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/main.qml:50:9: QML KSortFilterProxyModel: Binding loop detected for property "sourceModel"
file:///usr/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/main.qml:50:9: QML KSortFilterProxyModel: Binding loop detected for property "sourceModel"
qt.dbus.integration: Could not connect "org.cups.cupsd.Notifier" to PrinterFinishingsChanged(QString, QString, QString, uint, QString, bool) :
error getting max keyboard brightness via dbus QDBusError("org.freedesktop.DBus.Error.UnknownObject", "No such object path '/org/kde/Solid/PowerManagement/Actions/KeyboardBrightnessControl'")
QFont::setPointSizeF: Point size <= 0 (0.000000), must be greater than 0
org.kde.pulseaudio: No object for name "alsa_output.pci-0000_0d_00.6.iec958-stereo.monitor"
kameleon supported false
kameleon enabled true
kde.plasmashell: requesting unexisting screen available rect -1
kde.plasmashell: requesting unexisting screen available rect -1
kde.plasmashell: requesting unexisting screen available rect -1
kde.plasmashell: requesting unexisting screen available rect -1
qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
kf.plasma.quick: Exposed with no visual parent. Window positioning broken.
qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
kf.plasma.quick: Exposed with no visual parent. Window positioning broken.
kf.plasma.quick: Exposed with no visual parent. Window positioning broken.
kf.plasma.quick: Exposed with no visual parent. Window positioning broken.
org.kde.pulseaudio: No object for name "alsa_output.pci-0000_0d_00.1.hdmi-stereo"
org.kde.pulseaudio: No object for name "alsa_output.pci-0000_0d_00.6.iec958-stereo.monitor"
trying to show an empty dialog
xdg_surface#113: error -1: invalid window geometry size (0x0)
The Wayland connection experienced a fatal error: Erreur de protocole
Comment 9 Haakon Nilsen 2024-11-05 08:19:36 UTC
Can confirm this on Plasma 6.2.2 and Qt 6.8.0. My laptop is connected to an external monitor with HDMI, and the laptop lid is closed and its monitor disabled. When the external monitor is switched off (typically when the laptop sleeps) and comes back on, the plasmashell panel is still there but renders as a black/grey bar with nothing visible. No mouse clicks on it will trigger anything, but I can still open the launcher and the clock/calendar using keyboard shortcuts. The logs described in this issue are there, such as "kf.plasma.quick: Exposed with no visual parent. Window positioning broken."

When I open the laptop lid so that the laptop display turns on, the plasmashell panel "wakes up" and renders correctly, and the problem is solved until next time.