Bug 498669 - Dialer's "active call list" screen remains visible after dialer has exited
Summary: Dialer's "active call list" screen remains visible after dialer has exited
Status: REPORTED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: 6.2.4
Platform: Debian testing Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-01-14 20:48 UTC by Marco Mattiolo
Modified: 2025-02-16 17:14 UTC (History)
1 user (show)

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


Attachments
journal log with KWin debug logs enabled (56.82 KB, text/plain)
2025-02-16 17:06 UTC, Marco Mattiolo
Details
journal log with KWin debug logs enabled and triple buffering disabled (38.65 KB, text/plain)
2025-02-16 17:14 UTC, Marco Mattiolo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marco Mattiolo 2025-01-14 20:48:58 UTC
SUMMARY
Please check [1]: when an incoming call is accepted in plasma-dialer on top of the lockscreen (i.e. through the kde_lockscreen_overlay_v1 protocol [2]), at the end of the call plasma-dialer exits but the "active call list" ghost window remains on top of the shell. As shown in the video in [1], it is still possible to interact with the shell underneath.
A reboot is needed to get back to a normal system on Mobian, while this is reported not to be enough e.g. on pmOS, where the workaround is to disable "session restore" feature. Main difference is that Mobian features a login manager, while pmOS launches plasma-mobile service automatically at boot.

[1] https://invent.kde.org/plasma-mobile/plasma-dialer/-/issues/89#note_1110009
[2] https://invent.kde.org/plasma/kwin/-/merge_requests/2385

STEPS TO REPRODUCE
1. press power button to get system locked (or wait for the lockscreen timeout to expire)
2. phone call is received on the plasma-mobile system, "incoming call" screen is shown on top of lockscreen
3. accept call, then close it

OBSERVED RESULT
"active call list" screen remains on top of the screen

EXPECTED RESULT
no dialer-related screen should be shown after the call is ended

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Mobian testing on op6-enchilada (Linux 6.12-qcom)
KDE Plasma Version: 6.2.4
KDE Frameworks Version: 6.8.0
Qt Version: 6.7.2

ADDITIONAL INFORMATION
The issue seems related to the Qt6 transition in plasma-dialer, then it could very well be that the dialer's invocation of the lockscreen_overlay protocol needs to be ported. Generally, it's not clear whether the issue is on the dialer's or on kwin's side, then any hint on getting additional logs is welcome.
Comment 1 Marco Mattiolo 2025-02-16 17:06:37 UTC
Created attachment 178443 [details]
journal log with KWin debug logs enabled

I hope some log with KWin debug output can help: IMO those 2 lines

feb 16 17:56:18 mobian kwin_wayland_wrapper[1250]: kwin_scene_opengl: 0x1: fd_acc_get_query_result: a busy "0xaaaad31f4570: target=buffer, format=r8_unorm, 4096x1x1, array_size=1, last_level=0, nr_samples=0, usage=0, bind=40000, flags=0" BO stalled (0.011 ms)
feb 16 17:56:18 mobian kwin_wayland_wrapper[1250]: kwin_scene_opengl: 0x1: fd_acc_get_query_result: a busy "0xaaaad1d6f480: target=buffer, format=r8_unorm, 4096x1x1, array_size=1, last_level=0, nr_samples=0, usage=0, bind=40000, flags=0" BO stalled (0.036 ms)

show something in the system being overloaded?
Comment 2 Marco Mattiolo 2025-02-16 17:14:31 UTC
Created attachment 178444 [details]
journal log with KWin debug logs enabled and triple buffering disabled

Another log, now setting KWIN_DRM_DISABLE_TRIPLE_BUFFERING=1 before rebooting. Those
feb 16 18:07:53 mobian kwin_wayland_wrapper[1221]: kwin_scene_opengl: 0x1: fd_acc_get_query_result: a busy "0xaaaaeac74b40: target=buffer, format=r8_unorm, 4096x1x1, array_size=1, last_level=0, nr_samples=0, usage=0, bind=40000, flags=0" BO stalled (0.027 ms)
lines at the end refer to the "active call list" screen being stuck on the display: I tap on the screen at random places, sometime I get a vibration feedback (like if I'm interacting with an invisible Plasma shell under the ghost screen) and those lines are triggered in the logs.