Bug 495471 - On X11, Plasma crashes in Plasma::WindowThumbnail::xcbWindowToTextureEGL() when window thumbnail preview is enabled
Summary: On X11, Plasma crashes in Plasma::WindowThumbnail::xcbWindowToTextureEGL() wh...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Task Manager and Icons-Only Task Manager widgets (other bugs)
Version First Reported In: 6.1.5
Platform: Kubuntu Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: X11-only
Depends on:
Blocks:
 
Reported: 2024-10-28 10:13 UTC by Tsakumagos
Modified: 2025-02-25 23:43 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.3.0
Sentry Crash Report:


Attachments
journalctl --user --unit=plasma-plasmashell (10.99 KB, text/x-log)
2024-10-28 10:13 UTC, Tsakumagos
Details
GDB Backtrace (48.65 KB, text/plain)
2024-10-28 12:13 UTC, Tsakumagos
Details
Another Crashreport (87.45 KB, text/plain)
2024-10-28 14:13 UTC, Tsakumagos
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tsakumagos 2024-10-28 10:13:43 UTC
Created attachment 175300 [details]
journalctl --user --unit=plasma-plasmashell

SUMMARY
The Task Bar crashes periodically without any special interactions. It restarts quickly and works for some time.

TIME                          PID  UID  GID SIG     COREFILE EXE                                             SIZE
Mon 2024-10-28 10:11:02 CET 21546 1000 1000 SIGSEGV none     /usr/bin/plasmashell                               -
Mon 2024-10-28 10:10:59 CET 21007 1000 1000 SIGSEGV none     /usr/bin/plasmashell                               -
Mon 2024-10-28 10:08:51 CET 20846 1000 1000 SIGSEGV none     /usr/bin/plasmashell                               -
Mon 2024-10-28 10:08:44 CET 20706 1000 1000 SIGSEGV none     /usr/lib/x86_64-linux-gnu/libexec/kf6/kioworker    -
Mon 2024-10-28 10:08:44 CET 20641 1000 1000 SIGSEGV none     /usr/bin/plasmashell                               -
Mon 2024-10-28 10:08:40 CET 19253 1000 1000 SIGSEGV none     /usr/bin/plasmashell                               -
Mon 2024-10-28 10:01:38 CET 19092 1000 1000 SIGSEGV none     /usr/bin/plasmashell                               -
Mon 2024-10-28 10:01:34 CET 18746 1000 1000 SIGSEGV none     /usr/bin/plasmashell                               -
Mon 2024-10-28 10:00:34 CET 18375 1000 1000 SIGSEGV none     /usr/bin/plasmashell                               -
Mon 2024-10-28 09:59:24 CET 18212 1000 1000 SIGSEGV none     /usr/lib/x86_64-linux-gnu/libexec/kf6/kioworker    -
Mon 2024-10-28 09:59:24 CET 18148 1000 1000 SIGSEGV none     /usr/bin/plasmashell                               -
Mon 2024-10-28 09:59:18 CET 17115 1000 1000 SIGSEGV none     /usr/bin/plasmashell                               -
Mon 2024-10-28 09:51:24 CET 16582 1000 1000 SIGSEGV none     /usr/bin/plasmashell                               -
Mon 2024-10-28 09:48:40 CET 16428 1000 1000 SIGSEGV none     /usr/bin/plasmashell                               -
Mon 2024-10-28 09:48:37 CET 15513 1000 1000 SIGSEGV none     /usr/bin/plasmashell                               -
Mon 2024-10-28 09:44:14 CET 14672 1000 1000 SIGSEGV none     /usr/bin/plasmashell                               -
Mon 2024-10-28 09:38:25 CET 11637 1000 1000 SIGSEGV none     /usr/bin/plasmashell                               -


STEPS TO REPRODUCE
1. Login
2. Work
3. Crash

OBSERVED RESULT
#0  0x00007287c79af81c in Plasma::WindowThumbnail::xcbWindowToTextureEGL (this=0x5c1b1bb0c6d0, textureProvider=0x7286bc1d5e80) at /usr/src/libplasma-6.1.5-0ubuntu1/src/declarativeimports/core/windowthumbnail.cpp:471
#1  Plasma::WindowThumbnail::windowToTexture (this=<optimized out>, textureProvider=<optimized out>) at /usr/src/libplasma-6.1.5-0ubuntu1/src/declarativeimports/core/windowthumbnail.cpp:556
#2  Plasma::WindowThumbnail::updatePaintNode (this=<optimized out>, oldNode=<optimized out>, updatePaintNodeData=<optimized out>) at /usr/src/libplasma-6.1.5-0ubuntu1/src/declarativeimports/core/windowthumbnail.cpp:332
#3  0x00007287e5490724 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) () from /lib/x86_64-linux-gnu/libQt6Quick.so.6
#4  0x00007287e5490cdc in QQuickWindowPrivate::updateDirtyNodes() () from /lib/x86_64-linux-gnu/libQt6Quick.so.6
#5  0x00007287e5484619 in QQuickWindowPrivate::syncSceneGraph() () from /lib/x86_64-linux-gnu/libQt6Quick.so.6
#6  0x00007287e5619c57 in ?? () from /lib/x86_64-linux-gnu/libQt6Quick.so.6
#7  0x00007287e3eb5834 in operator() (__closure=<optimized out>) at /usr/src/qt6-base-6.6.2+dfsg-12/src/corelib/thread/qthread_unix.cpp:324
#8  (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at /usr/src/qt6-base-6.6.2+dfsg-12/src/corelib/thread/qthread_unix.cpp:260
#9  QThreadPrivate::start (arg=0x5c1b200f85b0) at /usr/src/qt6-base-6.6.2+dfsg-12/src/corelib/thread/qthread_unix.cpp:283
#10 0x00007287e34a1e2e in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#11 0x00007287e3533a4c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Operating System: Kubuntu 24.10
KDE Plasma Version: 6.1.5
KDE Frameworks Version: 6.6.0
Qt Version: 6.6.2
Kernel Version: 6.11.0-9-generic (64-bit)
Graphics Platform: X11
Processors: 16 × AMD Ryzen 7 5825U with Radeon Graphics
Memory: 62.2 GiB of RAM
Graphics Processor: AMD Radeon Graphics


ADDITIONAL INFORMATION
Comment 1 Tsakumagos 2024-10-28 12:13:37 UTC
Created attachment 175304 [details]
GDB Backtrace
Comment 2 Nate Graham 2024-10-28 13:58:43 UTC
Does it also happen in the Wayland session, or only on X11?
Comment 3 Tsakumagos 2024-10-28 14:13:04 UTC
Created attachment 175309 [details]
Another Crashreport
Comment 4 Tsakumagos 2024-10-28 14:14:59 UTC
(In reply to Nate Graham from comment #2)
> Does it also happen in the Wayland session, or only on X11?

Wayland is a mess for my workload. Java SWT GTK3 Apps crash like hell.
But the thumbnails in the task bar work.
Comment 5 Nate Graham 2024-10-28 14:19:55 UTC
Thanks for the info.
Comment 6 David Redondo 2024-10-30 08:05:13 UTC
m_image = ((eglCreateImageKHR_func)(m_eglCreateImageKHR))(eglGetCurrentDisplay(),
                                                                      EGL_NO_CONTEXT,
                                                                      EGL_NATIVE_PIXMAP_KHR,
                                                                      (EGLClientBuffer)(uintptr_t)m_pixmap,
                                                                      attribs);

I dont know this code at all, but m_eglCreateImageKHR is checked  before

            auto geometryCookie = xcb_get_geometry_unchecked(c, m_pixmap); what if that fails?
Comment 7 TraceyC 2025-02-24 17:58:26 UTC
Adding the x11-only keyword