Bug 514098 - Plasmashell crashes repeatedly on reboot
Summary: Plasmashell crashes repeatedly on reboot
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (other bugs)
Version First Reported In: 6.5.4
Platform: Neon Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi, qt-crash
: 516138 516436 (view as bug list)
Depends on:
Blocks:
 
Reported: 2026-01-03 04:41 UTC by Kenny Jackson
Modified: 2026-05-18 15:34 UTC (History)
3 users (show)

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


Attachments
New crash information added by DrKonqi (94.97 KB, text/plain)
2026-01-03 04:41 UTC, Kenny Jackson
Details

Note You need to log in before you can comment on or make changes to this bug.
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.
Comment 6 David Edmundson 2026-02-23 15:23:43 UTC
*** Bug 516138 has been marked as a duplicate of this bug. ***
Comment 7 TraceyC 2026-02-23 16:55:23 UTC
*** Bug 516436 has been marked as a duplicate of this bug. ***
Comment 8 Bug Janitor Service 2026-02-26 15:36:50 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kirigami/-/merge_requests/2048
Comment 9 David Redondo 2026-02-27 08:31:03 UTC
Git commit a6278dbe7969823c174f872494310b818107b87f by David Redondo.
Committed on 27/02/2026 at 08:18.
Pushed by davidre into branch 'master'.

Workaround crash due to QTBUG-144544

QQuickItemGrabResult has unsafe thread handling resulting in crashes
when we delete it before the result is ready. Workaround by keeping
the instances alive until they're ready.
SENTRY: PLASMA-WORKSPACE-21BB

M  +2    -1    src/imagecolors.cpp

https://invent.kde.org/frameworks/kirigami/-/commit/a6278dbe7969823c174f872494310b818107b87f
Comment 10 Nicolas Fella 2026-03-02 15:26:29 UTC
Git commit 6cdf4a7380304db6bb78cd57ad7bd3ebd5cc7a32 by Nicolas Fella, on behalf of David Redondo.
Committed on 02/03/2026 at 15:26.
Pushed by nicolasfella into branch 'Frameworks/6.23'.

Workaround crash due to QTBUG-144544

QQuickItemGrabResult has unsafe thread handling resulting in crashes
when we delete it before the result is ready. Workaround by keeping
the instances alive until they're ready.
SENTRY: PLASMA-WORKSPACE-21BB

(cherry picked from commit a6278dbe7969823c174f872494310b818107b87f)

M  +2    -1    src/imagecolors.cpp

https://invent.kde.org/frameworks/kirigami/-/commit/6cdf4a7380304db6bb78cd57ad7bd3ebd5cc7a32
Comment 11 Kenny Jackson 2026-03-10 04:29:11 UTC
After three consecutive reboots with zero total errors, I'm pretty confident that the issue is indeed fixed. Great work and thanks to everyone who helped!