| Summary: | A protocol error "xdg_surface must not have a buffer at creation" occurs with a null buffer attached to the surface | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Frank Praznik <frank.praznik> |
| Component: | wayland-generic | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | nate, xaver.hugl |
| Priority: | NOR | ||
| Version First Reported In: | 6.4.1 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/plasma/kwin/-/commit/225e73606c4bfcf0385d5c8664d2d086c930195a | Version Fixed/Implemented In: | 6.4.3 |
| Sentry Crash Report: | |||
| Attachments: | Full WAYLAND_DEBUG=1 output | ||
|
Description
Frank Praznik
2025-06-30 21:34:31 UTC
Thank you for the bug report! However Plasma 6.1.1 is no longer eligible for support or maintenance from KDE; supported versions are 5.27. (LTS), and 6.3 (non-LTS) or newer. Please upgrade to a supported version as soon as your distribution makes it available to you. Plasma is a fast-moving project, and bugs in one version are often fixed in the next one. If you need support for Plasma 6.1.1, please contact your distribution, who bears the responsibility of providing support for older releases that are no longer supported by KDE. If you can reproduce the issue after upgrading to a supported version, feel free to re-open this bug report. I'm fairly certain this is caused by a race condition now, because if I add a sleep of just 1 millisecond in between attaching/committing the null buffer to the wl_surface and (re)creating the xdg_surface, it runs correctly. Can confirm. A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/7873 Git commit 7772926af7f74e29c14f7b97418745111278dd83 by Xaver Hugl, on behalf of Vlad Zahorodnii. Committed on 04/07/2025 at 15:43. Pushed by zamundaaa into branch 'master'. wayland: Remove buffer checks in xdg_surface and layer_surface factory requests Due to transactions getting delayed sometimes, the current surface state may have a buffer. It doesn't necessarily mean that it's a protocol error. Whether the client has actually committed an invalid state will be determined later when the client commits the surface after creating the surface role. M +0 -5 src/wayland/layershell_v1.cpp M +0 -5 src/wayland/xdgshell.cpp https://invent.kde.org/plasma/kwin/-/commit/7772926af7f74e29c14f7b97418745111278dd83 Git commit 225e73606c4bfcf0385d5c8664d2d086c930195a by Xaver Hugl, on behalf of Xaver Hugl. Committed on 04/07/2025 at 16:21. Pushed by zamundaaa into branch 'Plasma/6.4'. wayland: Remove buffer checks in xdg_surface and layer_surface factory requests Due to transactions getting delayed sometimes, the current surface state may have a buffer. It doesn't necessarily mean that it's a protocol error. Whether the client has actually committed an invalid state will be determined later when the client commits the surface after creating the surface role. (cherry picked from commit 7772926af7f74e29c14f7b97418745111278dd83) Co-authored-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org> M +0 -5 src/wayland/layershell_v1.cpp M +0 -5 src/wayland/xdgshell.cpp https://invent.kde.org/plasma/kwin/-/commit/225e73606c4bfcf0385d5c8664d2d086c930195a |