https://bugs.kde.org/show_bug.cgi?id=522547
Bug ID: 522547
Summary: Qt/KF6 client (LibreOffice) killed by Wayland protocol
error "tried to set blur region on destroyed surface"
(ext_background_effect_v1) when a short-lived tooltip
closes while typing
Classification: Plasma
Product: kwin
Version First 6.7.2
Reported In:
Platform: Arch Linux
OS: Linux
Status: REPORTED
Severity: critical
Priority: NOR
Component: wayland-generic
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
While typing in LibreOffice Writer (kf6 VCL plugin), the whole application is
disconnected by KWin with a fatal Wayland protocol error:
ext_background_effect_surface_v1#76: error 0: "tried to set blur region on
destroyed surface"
The trigger is Writer's word-completion tooltip ("Show as tip"): a small popup
surface that is created and destroyed at typing speed. The Qt/KDE integration
applies blur-behind to these tooltips via ext_background_effect_v1. There is a
race: the popup surface is destroyed, but a set_blur_region request for it is
still sent afterwards, so KWin raises the (per-spec) surface_destroyed error,
which kills the client's Wayland connection. The application dies instantly
with no coredump.
WAYLAND_DEBUG excerpt from the moment of the crash (full redacted log
attached):
-> wl_compositor#4.create_region(new id wl_region#65)
-> wl_region#65.add(9, 5, 73, 1) [rounded-corner region of a
tooltip]
...
-> ext_background_effect_surface_v1#76.set_blur_region(wl_region#65)
-> wl_region#65.destroy()
-> zwp_text_input_v2#24.set_surrounding_text("[REDACTED]", 146, 146)
wl_display#1.error(ext_background_effect_surface_v1#76, 0,
"tried to set blur region on destroyed surface")
journalctl shows the compositor-side counterpart at the same instant:
kwin_wayland_wrapper: error in client communication (pid 118966)
While the error is allowed by the protocol spec, the client-side blur
integration (kwindowsystem / plasma-integration) should not send
set_blur_region for an already-destroyed surface — and/or the compositor
could treat the object as inert instead of killing the whole connection,
since ordinary applications die from a purely cosmetic effect.
STEPS TO REPRODUCE
1. Plasma Wayland session with the Blur effect enabled.
2. Open LibreOffice Writer (Qt6/kf6 VCL plugin, the default under Plasma).
3. Make sure word completion tooltips are enabled:
Tools > AutoCorrect Options > Word Completion > "Show as tip".
4. Type continuously so that completion tooltips appear and disappear rapidly
(long words that trigger suggestions work best).
OBSERVED RESULT
After some minutes of typing, LibreOffice is disconnected and dies with the
protocol error above. No coredump (clean fatal-error exit), so this looks
like random data-loss crashes to users.
EXPECTED RESULT
No protocol error; blur requests for destroyed surfaces are either not sent
or ignored.
SOFTWARE/OS VERSIONS
Linux distro: Garuda Linux (Arch-based), kernel 7.1.2-3-cachyos
KDE Plasma: 6.7.2 (kwin 6.7.2)
KDE Frameworks: kwindowsystem 6.27.0
Qt: 6.11.1 (qt6-wayland 6.11.1)
LibreOffice: 26.2.4 (libreoffice-fresh, kf6 VCL plugin)
ADDITIONAL INFORMATION
- Reproduced with the stock Blur effect as well: the crash happens
identically with KWin's native Blur enabled and no third-party effects
(it was originally observed with the third-party "Better Blur DX" effect
providing the blur global, but that effect is not required).
- The error string is raised by kwin core (libkwin.so 6.7.2), which
implements the ext_background_effect_v1 global.
- Attached: lo-blur-crash-tail-redacted.log (last 400 lines of
WAYLAND_DEBUG=1 output; document text redacted from
zwp_text_input_v2.set_surrounding_text calls).
--
You are receiving this mail because:
You are watching all bug changes.