Bug 491952

Summary: Occasional crashes in KWin::WindowThumbnailItem::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) with an assertion in epoxy
Product: [Plasma] kwin Reporter: Bernhard Rosenkränzer <bero>
Component: generic-crashAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED LATER    
Severity: crash CC: nate
Priority: NOR    
Version First Reported In: 6.1.4   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Bernhard Rosenkränzer 2024-08-20 20:16:28 UTC
SUMMARY
I see an occasional crash in KWin; so far I haven't found a way to reproduce it reliably, it seems to happen most often while using Alt+Tab to switch between konsole and chromium.

STEPS TO REPRODUCE
1. Use Alt+Tab to switch between konsole and chromium a number of times, seems to happen at random. Probably can also happen with other applications; so far I've never observed it unless chromium was running, but that may just be random

OBSERVED RESULT
                Stack trace of thread 87579:
                #0  0x00007ff20009ea1c __pthread_kill_implementation (libc.so.6 + 0x93a1c)
                #1  0x00007ff20004a412 raise (libc.so.6 + 0x3f412)
                #2  0x00007ff203d4e132 _ZN6KCrash19defaultCrashHandlerEi (libKF6Crash.so.6 + 0x8132)
                #3  0x00007ff20004a4c0 __restore_rt (libc.so.6 + 0x3f4c0)
                #4  0x00007ff20009ea1c __pthread_kill_implementation (libc.so.6 + 0x93a1c)
                #5  0x00007ff20004a412 raise (libc.so.6 + 0x3f412)
                #6  0x00007ff2000334b0 abort (libc.so.6 + 0x284b0)
                #7  0x00007ff2000333d8 __assert_fail_base.cold (libc.so.6 + 0x283d8)
                #8  0x00007ff200042de2 __assert_fail (libc.so.6 + 0x37de2)
                #9  0x00007ff203d35433 epoxy_get_core_proc_address (libepoxy.so.0 + 0x12c433)
                #10 0x00007ff203d284d5 epoxy_glWaitSync_global_rewrite_ptr (libepoxy.so.0 + 0x11f4d5)
                #11 0x00007ff2039067db _ZN4KWin19WindowThumbnailItem15updatePaintNodeEP7QSGNodePN10QQuickItem19UpdatePaintNodeDataE (libkwin.so.6 + 0x5067db)
                #12 0x00007ff202ff4dfa _ZN19QQuickWindowPrivate15updateDirtyNodeEP10QQuickItem (libQt6Quick.so.6 + 0x3f4dfa)
                #13 0x00007ff202ff3497 _ZN19QQuickWindowPrivate16updateDirtyNodesEv (libQt6Quick.so.6 + 0x3f3497)
                #14 0x00007ff202ff313e _ZN19QQuickWindowPrivate14syncSceneGraphEv (libQt6Quick.so.6 + 0x3f313e)
                #15 0x00007ff2031da95c _ZN15QSGRenderThread3runEv (libQt6Quick.so.6 + 0x5da95c)
                #16 0x00007ff200b2192e _ZN14QThreadPrivate5startEPv (libQt6Core.so.6 + 0x52192e)
                #17 0x00007ff20009ccd1 start_thread (libc.so.6 + 0x91cd1)
                #18 0x00007ff20011b588 __clone3 (libc.so.6 + 0x110588)


EXPECTED RESULT
Doesn't crash

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: OpenMandriva Cooker, kernel 6.10.6, glibc 2.40
KDE Plasma Version: 6.1.4
KDE Frameworks Version: 6.5.0
Qt Version: 6.7.2

ADDITIONAL INFORMATION
Mesa 24.2.0 (also observed earlier with 24.1.5), AMD GPU (radeonsi, polaris12)
epoxy 1.5.10
running on xorg (not (x)wayland)
Comment 1 Bernhard Rosenkränzer 2024-08-21 18:30:42 UTC
FWIW this only happens with

[QtQuickRenderSettings]
SceneGraphBackend=vulkan

in ~/.config/kdeglobals
Comment 2 Nate Graham 2024-08-28 20:46:42 UTC
The Vulkan backend is experimental, so I'm afraid you're in "there be dragons" territory.