Bug 492497

Summary: plasmashell crashes in GLHelpers::createImage after PipeWireSourceItem::updateTextureDmaBuf()
Product: [Frameworks and Libraries] KPipeWire Reporter: jrt <kde>
Component: generalAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: aleixpol, carloslcastro, kde, nate, nicolas.fella, vlad.zahorodnii, xaver.hugl
Priority: NOR Keywords: drkonqi
Version First Reported In: 6.1.4   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/3085/events/da6c9414bb4e45a0bcf4a30af2658755/
Attachments: New crash information added by DrKonqi

Description jrt 2024-09-01 15:12:05 UTC
Application: plasmashell (6.1.4)

Qt Version: 6.7.2
Frameworks Version: 6.5.0
Operating System: Linux 6.10.7-arch1-1 x86_64
Windowing System: Wayland
Distribution: "Arch Linux"
DrKonqi: 6.1.4 [CoredumpBackend]

-- Information about the crash:
The crash occured directly after the login and plasma restarted. After that the behaviour seems normal.

The reporter is unsure if this crash is reproducible.

-- Backtrace (Reduced):
#5  0x00007863008b4343 in tcache_next (e=<optimized out>) at malloc.c:3626
#6  _mid_memalign (alignment=alignment@entry=64, bytes=bytes@entry=184, address=<optimized out>) at malloc.c:3627
#7  0x00007863008b5bfc in __posix_memalign (memptr=0x78624cbfefe0, alignment=64, size=184) at malloc.c:5798
#8  __posix_memalign (memptr=0x78624cbfefe0, alignment=64, size=184) at malloc.c:5782
#9  0x00007862f16f7b04 in os_malloc_aligned () at ../mesa-24.2.1/src/util/os_memory_aligned.h:58


Reported using DrKonqi
Comment 1 jrt 2024-09-01 15:12:06 UTC
Created attachment 173201 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Nicolas Fella 2024-09-03 09:09:29 UTC
#5  0x00007863008b4343 in tcache_next (e=<optimized out>) at malloc.c:3626
#6  _mid_memalign (alignment=alignment@entry=64, bytes=bytes@entry=184, address=<optimized out>) at malloc.c:3627
#7  0x00007863008b5bfc in __posix_memalign (memptr=0x78624cbfefe0, alignment=64, size=184) at malloc.c:5798
#8  __posix_memalign (memptr=0x78624cbfefe0, alignment=64, size=184) at malloc.c:5782
#9  0x00007862f16f7b04 in os_malloc_aligned () at ../mesa-24.2.1/src/util/os_memory_aligned.h:58
#10 align_calloc () at ../mesa-24.2.1/src/util/u_memory.h:68
#11 si_texture_from_handle () at ../mesa-24.2.1/src/gallium/drivers/radeonsi/si_texture.c:1807
#12 0x00007862f0e33a2a in dri2_create_image_from_winsys () at ../mesa-24.2.1/src/gallium/frontends/dri/dri2.c:1062
#13 0x00007862f0e3426a in dri2_from_dma_bufs () at ../mesa-24.2.1/src/gallium/frontends/dri/dri2.c:1729
#14 0x00007862f9ad21b1 in dri2_create_image_dma_buf () at ../mesa-24.2.1/src/egl/drivers/dri2/egl_dri2.c:2795
#15 0x00007862f9ace4c2 in dri2_create_image () at ../mesa-24.2.1/src/egl/drivers/dri2/egl_dri2.c:2095
#16 0x00007862f9abe73e in _eglCreateImageCommon () at ../mesa-24.2.1/src/egl/main/eglapi.c:1844
#17 0x00007862dbd145c6 in GLHelpers::createImage (display=0x5862b1e0ac90, dmabufAttribs=<optimized out>, format=<optimized out>, size=<optimized out>, gbmDevice=<optimized out>) at /usr/src/debug/kpipewire/kpipewire-6.1.4/src/glhelpers.cpp:168
#18 0x00007862dbd0bfde in operator() (__closure=0x5862b32f7640) at /usr/src/debug/kpipewire/kpipewire-6.1.4/src/pipewiresourceitem.cpp:365
#19 std::__invoke_impl<QSGTexture*, PipeWireSourceItem::updateTextureDmaBuf(const DmaBufAttributes&, spa_video_format)::<lambda()>&> (__f=...) at /usr/include/c++/14.2.1/bits/invoke.h:61
#20 std::__invoke_r<QSGTexture*, PipeWireSourceItem::updateTextureDmaBuf(const DmaBufAttributes&, spa_video_format)::<lambda()>&> (__fn=...) at /usr/include/c++/14.2.1/bits/invoke.h:114
#21 std::_Function_handler<QSGTexture*(), PipeWireSourceItem::updateTextureDmaBuf(const DmaBufAttributes&, spa_video_format)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=<optimized out>) at /usr/include/c++/14.2.1/bits/std_function.h:290
#22 0x00007862dbd03411 in std::function<QSGTexture* ()>::operator()() const (this=<optimized out>) at /usr/include/c++/14.2.1/bits/std_function.h:591
#23 PipeWireSourceItem::updatePaintNode (this=0x5862b61d2a00, node=0x0) at /usr/src/debug/kpipewire/kpipewire-6.1.4/src/pipewiresourceitem.cpp:261
#24 0x0000786301c5c214 in QQuickWindowPrivate::updateDirtyNode (this=0x78628c7e41c0, item=0x5862b61d2a00) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:2255
#25 0x0000786301c4facd in QQuickWindowPrivate::updateDirtyNodes (this=this@entry=0x78628c7e41c0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:1997
#26 0x0000786301c5060c in QQuickWindowPrivate::syncSceneGraph (this=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:573
#27 0x0000786301e1a283 in QSGRenderThread::sync (this=<optimized out>, inExpose=false) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:552
#28 QSGRenderThread::syncAndRender (this=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:715
#29 QSGRenderThread::run (this=0x7862e40126f0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:974
#30 0x00007863004cd237 in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:326
#31 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:262
#32 QThreadPrivate::start (arg=0x7862e40126f0) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:285
#33 0x00007863008a339d in start_thread (arg=<optimized out>) at pthread_create.c:447
#34 0x000078630092849c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
Comment 3 Nate Graham 2024-09-05 20:12:40 UTC
Do you have an AMD GPU? If so, does your system have the facility to disable it and use an integrated Intel GPU instead — or do you have some other GPU you can use instead? If so, can you temporarily do that, reboot, and see if the issue goes away?

If so, this is a bug in the AMD GPU driver.

Frankly it probably is anyway, but that would help to be sure.
Comment 4 jrt 2024-09-05 20:19:02 UTC
(In reply to Nate Graham from comment #3)
> Do you have an AMD GPU? If so, does your system have the facility to disable
> it and use an integrated Intel GPU instead — or do you have some other GPU
> you can use instead? If so, can you temporarily do that, reboot, and see if
> the issue goes away?
> 
> If so, this is a bug in the AMD GPU driver.
> 
> Frankly it probably is anyway, but that would help to be sure.

Yes I have an AMD GPU. There is no other GPU in the system.
It also doesn't matter because even with the same config and nothing changed the issues didn't appear again. I just used the bug reporting tool after it did pop-up.
So as long as nobody else reported something similar, I think we can close the issue.
Comment 5 Nate Graham 2024-09-16 13:34:00 UTC
Thanks. Even if you can't reproduce it, it may be a real issue, so we won't close it yet. I'll let the KWin folks take over from here.
Comment 6 Nate Graham 2024-09-30 19:19:17 UTC
*** Bug 493852 has been marked as a duplicate of this bug. ***
Comment 7 Nate Graham 2025-12-09 20:04:56 UTC
Thank you for the bug report, and I'm sorry we weren't able to figure it out yet. A lot has changed since it was reported; can I ask you to see if this is still an issue with Plasma 6.5.3 or later? Thanks a lot!
Comment 8 jrt 2025-12-10 06:23:20 UTC
(In reply to Nate Graham from comment #7)
> Thank you for the bug report, and I'm sorry we weren't able to figure it out
> yet. A lot has changed since it was reported; can I ask you to see if this
> is still an issue with Plasma 6.5.3 or later? Thanks a lot!

No worries. I'm on 6.5.4, and I don't remember seeing this issue in the 6.5.3 cycle as well.
Comment 9 Nate Graham 2025-12-10 15:59:05 UTC
Great, thanks!