Bug 514098

Summary: Plasmashell crashes repeatedly on reboot
Product: [Plasma] plasmashell Reporter: Kenny Jackson <dsgamecube>
Component: generic-crashAssignee: Plasma Bugs List <plasma-bugs-null>
Status: REPORTED ---    
Severity: crash CC: kdedev, nate
Priority: NOR Keywords: drkonqi, qt-crash
Version First Reported In: 6.5.4   
Target Milestone: 1.0   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Kenny Jackson 2026-01-03 04:41:06 UTC
Application: plasmashell (6.5.4)

ApplicationNotResponding [ANR]: false
Qt Version: 6.10.1
Frameworks Version: 6.21.0
Operating System: Linux 6.14.0-37-generic x86_64
Windowing System: Wayland
Distribution: KDE neon User Edition
DrKonqi: 6.5.4 [CoredumpBackend]

-- Information about the crash:
Plasma Shell (and only Plasma Shell) crashes repeatedly (every couple of seconds for a few minutes) on reboot. I can still get to a GUI, open applications with Alt+F2, and so on. In fact, I can open Konsole and run startplasma-wayland from there, and then it works perfectly without so much as a message on stdout or stderr. It's only when started by sddm that it seems to crash.

The crash can be reproduced every time.

-- Backtrace (Reduced):
#6  std::__atomic_base<QMutexPrivate*>::load (__m=std::memory_order_relaxed, this=0x3042f62374d28590) at /usr/include/c++/13/atomic:576
#7  std::atomic<QMutexPrivate*>::load (__m=std::memory_order_relaxed, this=0x3042f62374d28590) at /usr/include/c++/13/atomic:577
#8  QAtomicOps<QMutexPrivate*>::loadRelaxed<QMutexPrivate*> (_q_value=<error reading variable: Cannot access memory at address 0x3042f62374d28590>) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/thread/qatomic_cxx11.h:203
#9  QBasicAtomicPointer<QMutexPrivate>::loadRelaxed (this=0x3042f62374d28590) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/thread/qbasicatomic.h:171
#10 QBasicMutex::fastTryLock (this=0x3042f62374d28590) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/thread/qmutex.h:88
#11 QBasicMutex::lock (this=0x3042f62374d28590) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/thread/qmutex.h:44
#12 std::unique_lock<QMutex>::lock (this=<synthetic pointer>) at /usr/include/c++/13/bits/unique_lock.h:141
#13 std::unique_lock<QMutex>::unique_lock (__m=..., this=<synthetic pointer>) at /usr/include/c++/13/bits/unique_lock.h:71
#14 (anonymous namespace)::qt_unique_lock<QMutex> (mutex=...) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/thread/qlocking_p.h:67
#15 QCoreApplicationPrivate::lockThreadPostEventList (object=object@entry=0x58d3ede95ac0) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/kernel/qcoreapplication.cpp:1589
#16 0x00007ff5f0ed6752 in QCoreApplication::postEvent (receiver=0x58d3ede95ac0, event=0x7ff57cc32620, priority=0) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/kernel/qcoreapplication.cpp:1649
#17 0x00007ff5f0e9fd85 in QtPrivate::QSlotObjectBase::call (a=0x7ff5839fe578, r=<optimized out>, this=0x58d3edec4c10, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/kernel/qobjectdefs_impl.h:461
#18 doActivate<false> (sender=0x58d3ed6c8d40, signal_index=30, argv=0x7ff5839fe578) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/kernel/qobject.cpp:4257
#19 0x00007ff5f2818e1f in QQuickWindowPrivate::renderSceneGraph (this=0x58d3ed5ccb20) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+release+build76/src/quick/items/qquickwindow.cpp:694
#20 0x00007ff5f2624456 in QSGRenderThread::syncAndRender (this=<optimized out>) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+release+build76/src/quick/scenegraph/qsgthreadedrenderloop.cpp:779
#21 QSGRenderThread::run (this=0x58d3ee011f80) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+release+build76/src/quick/scenegraph/qsgthreadedrenderloop.cpp:992


Reported using DrKonqi
Comment 1 Kenny Jackson 2026-01-03 04:41:08 UTC
Created attachment 188177 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 TraceyC 2026-01-05 16:16:03 UTC
The backtrace looks to be entirely in Qt.


Thread 1 (Thread 0x7ff5839ff6c0 (LWP 22481)):
[KCrash Handler]
#6  std::__atomic_base<QMutexPrivate*>::load (__m=std::memory_order_relaxed, this=0x3042f62374d28590) at /usr/include/c++/13/atomic:576
#7  std::atomic<QMutexPrivate*>::load (__m=std::memory_order_relaxed, this=0x3042f62374d28590) at /usr/include/c++/13/atomic:577
#8  QAtomicOps<QMutexPrivate*>::loadRelaxed<QMutexPrivate*> (_q_value=<error reading variable: Cannot access memory at address 0x3042f62374d28590>) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/thread/qatomic_cxx11.h:203
#9  QBasicAtomicPointer<QMutexPrivate>::loadRelaxed (this=0x3042f62374d28590) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/thread/qbasicatomic.h:171
#10 QBasicMutex::fastTryLock (this=0x3042f62374d28590) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/thread/qmutex.h:88
#11 QBasicMutex::lock (this=0x3042f62374d28590) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/thread/qmutex.h:44
#12 std::unique_lock<QMutex>::lock (this=<synthetic pointer>) at /usr/include/c++/13/bits/unique_lock.h:141
#13 std::unique_lock<QMutex>::unique_lock (__m=..., this=<synthetic pointer>) at /usr/include/c++/13/bits/unique_lock.h:71
#14 (anonymous namespace)::qt_unique_lock<QMutex> (mutex=...) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/thread/qlocking_p.h:67
#15 QCoreApplicationPrivate::lockThreadPostEventList (object=object@entry=0x58d3ede95ac0) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/kernel/qcoreapplication.cpp:1589
#16 0x00007ff5f0ed6752 in QCoreApplication::postEvent (receiver=0x58d3ede95ac0, event=0x7ff57cc32620, priority=0) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/kernel/qcoreapplication.cpp:1649
#17 0x00007ff5f0e9fd85 in QtPrivate::QSlotObjectBase::call (a=0x7ff5839fe578, r=<optimized out>, this=0x58d3edec4c10, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/kernel/qobjectdefs_impl.h:461
#18 doActivate<false> (sender=0x58d3ed6c8d40, signal_index=30, argv=0x7ff5839fe578) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/kernel/qobject.cpp:4257
#19 0x00007ff5f2818e1f in QQuickWindowPrivate::renderSceneGraph (this=0x58d3ed5ccb20) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+release+build76/src/quick/items/qquickwindow.cpp:694
#20 0x00007ff5f2624456 in QSGRenderThread::syncAndRender (this=<optimized out>) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+release+build76/src/quick/scenegraph/qsgthreadedrenderloop.cpp:779
#21 QSGRenderThread::run (this=0x58d3ee011f80) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+release+build76/src/quick/scenegraph/qsgthreadedrenderloop.cpp:992
#22 0x00007ff5f0da6f53 in operator() (__closure=<optimized out>) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/thread/qthread_unix.cpp:437
#23 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/thread/qthread_unix.cpp:367
#24 QThreadPrivate::start (arg=0x58d3ee011f80) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+release+build144/src/corelib/thread/qthread_unix.cpp:397
#25 0x00007ff5f029caa4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#26 0x00007ff5f0329c6c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Reported using DrKonqi
Comment 3 Kenny Jackson 2026-01-05 16:20:40 UTC
Update: starting Plasma from Konsole only worked the first time. Since then, it shows the splash screen, then goes back to the desktop with no wallpaper or panels and no messages in stdout or stderr.
Comment 4 Nate Graham 2026-01-06 18:34:58 UTC
Being in qsgthreadedrenderloop makes me wonder if you've perchance changed the render loop setting at all. Have you? You can check by searching for "renderer" anywhere and opening the "Plasma Renderer" item that appear. Let us know the value of "Rendering loop" in the window that opens.
Comment 5 Kenny Jackson 2026-01-06 23:50:37 UTC
(In reply to Nate Graham from comment #4)
> Being in qsgthreadedrenderloop makes me wonder if you've perchance changed
> the render loop setting at all. Have you? You can check by searching for
> "renderer" anywhere and opening the "Plasma Renderer" item that appear. Let
> us know the value of "Rendering loop" in the window that opens.

Both drop does are on automatic and the checkbox is unchecked.