Bug 501071

Summary: Crash of plasmashell when either application preview or Application Launcher closes
Product: [Plasma] plasmashell Reporter: Jakub Narolewski <izowiuz>
Component: generic-crashAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED NOT A BUG    
Severity: crash    
Priority: NOR    
Version First Reported In: 6.3.2   
Target Milestone: 1.0   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: Video showcasing the crash

Description Jakub Narolewski 2025-03-04 20:29:33 UTC
Created attachment 179123 [details]
Video showcasing the crash

SUMMARY
As per title.

STEPS TO REPRODUCE
1. Open Application Launcher or hover over application on the task manager
2. Close Application Launcher or make application preview dialog disappear
3. In case of my setup crash occurs 100% of the time

OBSERVED RESULT
plasmashell crashes.

EXPECTED RESULT
plasmashell is not crashing :]

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20250303
KDE Plasma Version: 6.3.2
KDE Frameworks Version: 6.11.0
Qt Version: 6.8.2
Kernel Version: 6.13.5-1-default (64-bit)
Graphics Platform: Wayland
Processors: 32 × AMD Ryzen 9 7950X3D 16-Core Processor
Memory: 62.5 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 2080 Ti
Driver Version: 570.124.04

ADDITIONAL INFORMATION
Added small video to showcase the crash.
Started happening very recently.
No customization done to the Plasma, pure Breeze Dark theme.
Up to date openSUSE Tumbleweed.

plasmashell logs from terminal in moment of the crash:

***
warning: queue 0x7efe6c009800 destroyed while proxies still attached:
  wl_callback#265 still attached
  wp_linux_drm_syncobj_timeline_v1#273 still attached
  wl_buffer#275 still attached
  wp_linux_drm_syncobj_timeline_v1#267 still attached
  wl_buffer#246 still attached
  wp_linux_drm_syncobj_timeline_v1#214 still attached
  wl_buffer#193 still attached
  wl_surface#100 still attached
  wp_linux_drm_syncobj_surface_v1#117 still attached
  wp_linux_drm_syncobj_manager_v1#208 still attached
  wp_tearing_control_v1#303 still attached
Tried to add event to destroyed queue
KCrash: Attempting to start /usr/bin/plasmashell
KCrash: Application 'plasmashell' crashing... crashRecursionCounter = 2
***

gdb shows similar stuff:

***
warning: queue 0x7efdbc009760 destroyed while proxies still attached:
  wl_callback#325 still attached
  wp_linux_drm_syncobj_timeline_v1#242 still attached
  wl_buffer#235 still attached
  wp_linux_drm_syncobj_timeline_v1#228 still attached
  wl_buffer#229 still attached
  wp_linux_drm_syncobj_timeline_v1#122 still attached
  wl_buffer#112 still attached
  wl_surface#176 still attached
  wp_linux_drm_syncobj_surface_v1#120 still attached
  wp_linux_drm_syncobj_manager_v1#160 still attached
  wp_tearing_control_v1#259 still attached
Tried to add event to destroyed queue

Thread 4 "WaylandEventThr" received signal SIGABRT, Aborted.
[Switching to Thread 0x7efebb7fe6c0 (LWP 6764)]
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
Missing separate debuginfos, use: zypper install libcom_err2-debuginfo-1.47.2-1.1.x86_64
Missing separate debuginfos, use: zypper install nvidia-gl-G06-debuginfo-570.124.04-32.1.x86_64
Missing separate debuginfos, use: zypper install libnvidia-egl-gbm1-debuginfo-1.1.2-7.2.x86_64
Missing separate debuginfos, use: zypper install libnvidia-egl-x111-debuginfo-1.0.1-9.4.x86_64
***

As a side note - when I launch plasma from the shell ( via `plasmashell --replace` ) and hold mouse cursor on application to show its preview terminal gets spammed with:

***
kpipewire_logging: need a window and a context ToolTipDialog(0x555e490bf880 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint|WindowStaysOnTopHint|WindowDoesNotAcceptFocus), transientParent=0x555e4a600b90, geometry=2904,1191 296x195)
kpipewire_logging: need a window and a context ToolTipDialog(0x555e490bf880 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint|WindowStaysOnTopHint|WindowDoesNotAcceptFocus), transientParent=0x555e4a600b90, geometry=2904,1191 296x195)
kpipewire_logging: need a window and a context ToolTipDialog(0x555e490bf880 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint|WindowStaysOnTopHint|WindowDoesNotAcceptFocus), transientParent=0x555e4a600b90, geometry=2904,1191 296x195)
kpipewire_logging: need a window and a context ToolTipDialog(0x555e490bf880 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint|WindowStaysOnTopHint|WindowDoesNotAcceptFocus), transientParent=0x555e4a600b90, geometry=2904,1191 296x195)
kpipewire_logging: need a window and a context ToolTipDialog(0x555e490bf880 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint|WindowStaysOnTopHint|WindowDoesNotAcceptFocus), transientParent=0x555e4a600b90, geometry=2904,1191 296x195)
kpipewire_logging: need a window and a context ToolTipDialog(0x555e490bf880 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint|WindowStaysOnTopHint|WindowDoesNotAcceptFocus), transientParent=0x555e4a600b90, geometry=2904,1191 296x195)
kpipewire_logging: need a window and a context ToolTipDialog(0x555e490bf880 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint|WindowStaysOnTopHint|WindowDoesNotAcceptFocus), transientParent=0x555e4a600b90, geometry=2904,1191 296x195)
kpipewire_logging: need a window and a context ToolTipDialog(0x555e490bf880 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint|WindowStaysOnTopHint|WindowDoesNotAcceptFocus), transientParent=0x555e4a600b90, geometry=2904,1191 296x195)
kpipewire_logging: need a window and a context ToolTipDialog(0x555e490bf880 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint|WindowStaysOnTopHint|WindowDoesNotAcceptFocus), transientParent=0x555e4a600b90, geometry=2904,1191 296x195)
kpipewire_logging: need a window and a context ToolTipDialog(0x555e490bf880 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint|WindowStaysOnTopHint|WindowDoesNotAcceptFocus), transientParent=0x555e4a600b90, geometry=2904,1191 296x195)
kpipewire_logging: need a window and a context ToolTipDialog(0x555e490bf880 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint|WindowStaysOnTopHint|WindowDoesNotAcceptFocus), transientParent=0x555e4a600b90, geometry=2904,1191 296x195)
kpipewire_logging: need a window and a context ToolTipDialog(0x555e490bf880 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint|WindowStaysOnTopHint|WindowDoesNotAcceptFocus), transientParent=0x555e4a600b90, geometry=2904,1191 296x195)
kpipewire_logging: need a window and a context ToolTipDialog(0x555e490bf880 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint|WindowStaysOnTopHint|WindowDoesNotAcceptFocus), transientParent=0x555e4a600b90, geometry=2904,1191 296x195)
kpipewire_logging: need a window and a context ToolTipDialog(0x555e490bf880 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint|WindowStaysOnTopHint|WindowDoesNotAcceptFocus), transientParent=0x555e4a600b90, geometry=2904,1191 296x195)
kpipewire_logging: need a window and a context ToolTipDialog(0x555e490bf880 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint|WindowStaysOnTopHint|WindowDoesNotAcceptFocus), transientParent=0x555e4a600b90, geometry=2904,1191 296x195)
kpipewire_logging: need a window and a context ToolTipDialog(0x555e490bf880 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint|WindowStaysOnTopHint|WindowDoesNotAcceptFocus), transientParent=0x555e4a600b90, geometry=2904,1191 296x195)
***
Comment 1 Jakub Narolewski 2025-03-04 20:41:29 UTC
Oh. I just noticed that I had 'Vulkan' selected in Plasma Renderer widget under `Rendering Backend`
Switching to 'Automatic' ( or really anything other ) fixes this.

Honestly do not remember fiddling with this but it seems it is on me somehow : P
Comment 2 Jakub Narolewski 2025-03-04 20:46:05 UTC
Closing it as user fault. Sorry for the noise.