Bug 496894

Summary: Randomly crashing plasmashell
Product: [Plasma] plasmashell Reporter: Arian <mail+30y4rgtc>
Component: generic-crashAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED UPSTREAM    
Severity: crash CC: kdedev, nate
Priority: NOR Keywords: drkonqi
Version First Reported In: 6.2.4   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=493660
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New backtrace without gamemode

Description Arian 2024-12-01 14:25:02 UTC
Application: plasmashell (6.2.4)

ApplicationNotResponding [ANR]: false
Qt Version: 6.8.0
Frameworks Version: 6.8.0
Operating System: Linux 6.9.7-zen1-1-zen x86_64
Windowing System: Wayland
Distribution: EndeavourOS
DrKonqi: 6.2.4 [CoredumpBackend]

-- Information about the crash:
I am running the arch based endevaouros. Approximately two times per day during a normal workday the plasmashell is crashing or hanging up. Sometimes when i do specific stuff like copying a file, sometimes when no specific action has been taken like when i am thinking and just looking at the screen or even when I am booting up the system.
It might be hardware related. I am running the same distribution on my framework laptop with a similar but not exactly the same configuration and it doesn't crash there.

The hardware configuration for the device it is crashing on:

Asus ROG Strix x570-E Gaming
64 GB DDR4-3200 RAM
Ryzen 9 3900X
GeForce RTX 3900 
Decklink Mini Monitor
Delock RJ45 5 Gigabit Card
Asus Hyper M.2 X16 Card
Bunch of SSDs

The crash can be reproduced sometimes.

-- Backtrace (Reduced):
#5  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::get (this=<optimized out>, this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qscopedpointer.h:110
[...]
#8  QObject::deleteLater (this=0x0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:2453
[...]
#10 0x000078f62505f229 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:486
#11 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4120
#12 0x000078f625521f9b in QDBusPendingCallWatcher::finished (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/qt6-base/build/src/dbus/DBus_autogen/include/moc_qdbuspendingcall.cpp:160


Reported using DrKonqi
Comment 1 Arian 2024-12-01 14:25:03 UTC
Created attachment 176263 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 TraceyC 2024-12-09 22:17:49 UTC
Searchable backtrace

Thread 1 (Thread 0x78f61e9e1a00 (LWP 11192)):
[KCrash Handler]
#5  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::get (this=<optimized out>, this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qscopedpointer.h:110
#6  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > > (ptr=..., ptr=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qtclasshelpermacros.h:103
#7  QObject::d_func (this=0x0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.h:108
#8  QObject::deleteLater (this=0x0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:2453
#9  0x000078f5bdeaac18 in ?? () from /usr/lib/qt6/qml/org/kde/plasma/private/gamemode/libplasma-gamemode.so
#10 0x000078f62505f229 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:486
#11 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4120
#12 0x000078f625521f9b in QDBusPendingCallWatcher::finished (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/qt6-base/build/src/dbus/DBus_autogen/include/moc_qdbuspendingcall.cpp:160
#13 operator() (__closure=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/dbus/qdbuspendingcall.cpp:98
#14 operator() (__closure=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:141
#15 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, QDBusPendingCallWatcherHelper::add(QDBusPendingCallWatcher*)::<lambda()> >::call(QDBusPendingCallWatcherHelper::add(QDBusPendingCallWatcher*)::<lambda()>&, void**)::<lambda()> > (args=<optimized out>, fn=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
#16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, QDBusPendingCallWatcherHelper::add(QDBusPendingCallWatcher*)::<lambda()> >::call (f=..., arg=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:140
#17 QtPrivate::FunctorCallable<QDBusPendingCallWatcherHelper::add(QDBusPendingCallWatcher*)::<lambda()> >::call<QtPrivate::List<>, void> (f=..., arg=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:362
#18 QtPrivate::QCallableObject<QDBusPendingCallWatcherHelper::add(QDBusPendingCallWatcher*)::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:572
#19 0x000078f62505048a in QObject::event (this=0x5d4bed19f720, e=0x5d4bec824ba0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1419
#20 0x000078f626fdf31a in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5d4bed19f720, e=0x5d4bec824ba0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3294
#21 0x000078f6250055a8 in QCoreApplication::notifyInternal2 (receiver=0x5d4bed19f720, event=event@entry=0x5d4bec824ba0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1165
#22 0x000078f625006035 in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1609
#23 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5d4be8bf9130) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1965
#24 0x000078f62526f3fc in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1797
#25 postEventSourceDispatch (s=0x5d4be8cb0100) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#26 0x000078f623981559 in g_main_dispatch (context=0x78f614000f50) at ../glib/glib/gmain.c:3357
#27 0x000078f6239e4157 in g_main_context_dispatch_unlocked (context=0x78f614000f50) at ../glib/glib/gmain.c:4208
#28 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x78f614000f50, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4273
#29 0x000078f623980a55 in g_main_context_iteration (context=0x78f614000f50, may_block=1) at ../glib/glib/gmain.c:4338
#30 0x000078f62526c71d in QEventDispatcherGlib::processEvents (this=0x5d4be8c71420, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:396
#31 0x000078f625011566 in QEventLoop::processEvents (this=0x7ffccc9952e0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:100
#32 QEventLoop::exec (this=0x7ffccc9952e0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:191
#33 0x000078f625006a2f in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:74
#34 0x000078f626fdb74a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2562
#35 0x00005d4be132917f in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-6.2.4/shell/main.cpp:192
Comment 3 TraceyC 2024-12-09 22:22:29 UTC
The backtrace looks very similar to 493660
Comment 4 Nate Graham 2024-12-11 22:10:12 UTC
> #9  0x000078f5bdeaac18 in ?? () from /usr/lib/qt6/qml/org/kde/plasma/private/gamemode/libplasma-gamemode.so

It's crashing in 3rd-party code; please report to the authors. Thanks!
Comment 5 Arian 2024-12-12 09:56:35 UTC
Created attachment 176551 [details]
New backtrace without gamemode

I have removed the mentioned gamemode library but plasma still keeps crashing randomly. I have therefore attached a new backtrace.
Comment 6 TraceyC 2024-12-12 16:37:24 UTC
Thread 1 (Thread 0x74716a6aca00 (LWP 11059)):
[KCrash Handler]
#5  0x0000747164e6b423 in send_explicit_sync_points (display=0x5f550b5981e0, surface=0x5f550e3ea110, image=0x0) at ../egl-wayland/src/wayland-eglsurface.c:205
#6  wlEglSendDamageEvent (surface=surface@entry=0x5f550e3ea110, queue=0x5f550c31c430) at ../egl-wayland/src/wayland-eglsurface.c:279
#7  0x0000747164e70ba4 in wlEglSwapBuffersWithDamageHook (eglDisplay=<optimized out>, eglSurface=<optimized out>, rects=<optimized out>, n_rects=<optimized out>) at ../egl-wayland/src/wayland-eglswap.c:150
#8  0x000074715e6ab6ce in ?? () from /usr/lib/libEGL_nvidia.so.0
#9  0x000074715e64e6e0 in ?? () from /usr/lib/libEGL_nvidia.so.0
#10 0x0000747164e885fe in QtWaylandClient::QWaylandGLContext::swapBuffers (this=0x5f5513829120, surface=<optimized out>) at /usr/src/debug/qt6-wayland/qtwayland/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp:404
#11 0x0000747171741d3d in QRhiGles2::endFrame (this=0x5f550ddc72b0, swapChain=0x5f5513852370, flags=...) at /usr/src/debug/qt6-base/qtbase/src/gui/rhi/qrhigles2.cpp:2166
#12 0x00007471715e072e in QRhi::endFrame (this=0x5f550c6872a0, swapChain=0x5f5513852370, flags=...) at /usr/src/debug/qt6-base/qtbase/src/gui/rhi/qrhi.cpp:10878
#13 0x00007471725aa540 in QSGGuiThreadRenderLoop::renderWindow (this=0x5f550bd29be0, window=0x5f550f399e50) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/scenegraph/qsgrenderloop.cpp:718
#14 0x00007471714255a0 in QWindow::event (this=0x5f550f399e50, ev=0x7ffc2200ab70) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindow.cpp:2668
#15 0x0000747172510b00 in QQuickWindow::event (this=this@entry=0x5f550f399e50, event=event@entry=0x7ffc2200ab70) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:1641
#16 0x00005f54d54e8acc in PanelView::event (this=0x5f550f399e50, e=0x7ffc2200ab70) at /usr/src/debug/plasma-workspace/plasma-workspace-6.2.4/shell/panelview.cpp:1308
#17 0x0000747172cb778a in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5f550f399e50, e=0x7ffc2200ab70) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3296
#18 0x0000747170cd4ac8 in QCoreApplication::notifyInternal2 (receiver=0x5f550f399e50, event=0x7ffc2200ab70) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1168
#19 0x0000747170cd4b1d in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1626
#20 0x00007471713cbe20 in QGuiApplicationPrivate::processExposeEvent (e=0x5f5517420f70) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qguiapplication.cpp:3464
#21 0x0000747171437b44 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1114
#22 0x0000747171883a14 in userEventSourceDispatch (source=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:38
#23 0x000074716f64c559 in g_main_dispatch (context=0x747160000f50) at ../glib/glib/gmain.c:3357
#24 0x000074716f6af257 in g_main_context_dispatch_unlocked (context=0x747160000f50) at ../glib/glib/gmain.c:4208
#25 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x747160000f50, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4273
#26 0x000074716f64ba55 in g_main_context_iteration (context=0x747160000f50, may_block=1) at ../glib/glib/gmain.c:4338
#27 0x0000747170f3f2fd in QEventDispatcherGlib::processEvents (this=0x5f550b3b01e0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#28 0x0000747170cdeee6 in QEventLoop::processEvents (this=0x7ffc2200af40, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:103
#29 QEventLoop::exec (this=0x7ffc2200af40, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:194
#30 0x0000747170cd5f4f in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:74
#31 0x0000747172cb36ba in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2564
#32 0x00005f54d54c217f in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-6.2.4/shell/main.cpp:192
Comment 7 Nate Graham 2024-12-12 16:53:33 UTC
Thanks. Now it's NVIDIA though:

> #8  0x000074715e6ab6ce in ?? () from /usr/lib/libEGL_nvidia.so.0
> #9  0x000074715e64e6e0 in ?? () from /usr/lib/libEGL_nvidia.so.0

You can report this issue to the NVIDIA folks, either by sending an email to linux-bugs@nvidia.com or making a post at https://forums.developer.nvidia.com/c/gpu-graphics/linux. It would be helpful to the NVIDIA developers if you could run nvidia-bug-report.sh and attach the resulting file in your report. Thanks!