Bug 511709

Summary: plasmashell --replace causes SIGSEGV
Product: [Plasma] plasmashell Reporter: Sam Birch <bugs.kde.org>
Component: generic-crashAssignee: Plasma Bugs List <plasma-bugs-null>
Status: REPORTED ---    
Severity: crash CC: kdedev
Priority: NOR Keywords: drkonqi
Version First Reported In: 6.4.5   
Target Milestone: 1.0   
Platform: Fedora RPMs   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=489682
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Sam Birch 2025-11-06 12:36:04 UTC
Application: plasmashell (6.4.5)

ApplicationNotResponding [ANR]: false
Qt Version: 6.9.2
Frameworks Version: 6.19.0
Operating System: Linux 6.17.4-200.fc42.x86_64 x86_64
Windowing System: Wayland
Distribution: "Fedora Linux 42 (KDE Plasma Desktop Edition)"
DrKonqi: 6.4.5 [CoredumpBackend]

-- Information about the crash:
I used Krunner to run `plasmashell --replace`. This worked, as in it replaced the currently-running plasmashell, but Dr. Konqi also showed up to tell me about a segfault in plasmashell. I couldn't get it to do it again, but maybe it only happens when the session-invoked plasmashell is replaced? I will try again after a reboot and update y'all.

The crash does not seem to be reproducible.

-- Backtrace (Reduced):
#5  std::__atomic_base<int>::fetch_sub (this=0xa91fdaae60, __i=1, __m=std::memory_order::acq_rel, this=<optimized out>, __i=<optimized out>, __m=<optimized out>) at /usr/include/c++/15/bits/atomic_base.h:639
#6  QAtomicOps<int>::deref<int> (_q_value=<error reading variable: Cannot access memory at address 0xa91fdaae60>, _q_value=<optimized out>) at /usr/include/qt6/QtCore/qatomic_cxx11.h:266
[...]
#8  Plasma::Theme::~Theme (this=this@entry=0x55a924975a58, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/plasma/theme.cpp:73
#9  0x00007f68e8008670 in PlasmaTheme::~PlasmaTheme (this=0x55a924975a40, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/declarativeimports/kirigamiplasmastyle/plasmatheme.cpp:63
#10 PlasmaTheme::~PlasmaTheme (this=0x55a924975a40, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/declarativeimports/kirigamiplasmastyle/plasmatheme.cpp:63
#11 0x00007f692135d1c2 in QObjectPrivate::deleteChildren (this=this@entry=0x55a922400860) at /usr/src/debug/qt6-qtbase-6.9.2-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:2226
#12 0x00007f69213620d4 in QObject::~QObject (this=this@entry=0x55a922400710) at /usr/src/debug/qt6-qtbase-6.9.2-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:1141
#13 0x00007f6922eb0390 in QQuickItem::~QQuickItem (this=this@entry=0x55a922400710) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/quick/items/qquickitem.cpp:2435
#14 0x00007f69243fba56 in PlasmaQuick::AppletQuickItem::~AppletQuickItem (this=this@entry=0x55a922400710, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/plasmaquick/appletquickitem.cpp:499
#15 0x00007f69243fcb72 in PlasmoidItem::~PlasmoidItem (this=0x55a922400710, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/plasmaquick/plasmoid/plasmoiditem.cpp:46
#16 QQmlPrivate::QQmlElement<PlasmoidItem>::~QQmlElement (this=0x55a922400710, this=<optimized out>) at /usr/include/qt6/QtQml/qqmlprivate.h:104
#17 QQmlPrivate::QQmlElement<PlasmoidItem>::~QQmlElement (this=0x55a922400710, this=<optimized out>) at /usr/include/qt6/QtQml/qqmlprivate.h:104
#18 0x00007f692441b20c in PlasmaQuick::SharedQmlEngine::~SharedQmlEngine (this=0x55a9223e9b00, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/plasmaquick/sharedqmlengine.cpp:177
#19 0x00007f69243f67d4 in PlasmaQuick::SharedQmlEngine::~SharedQmlEngine (this=0x55a9223e9b00, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/plasmaquick/sharedqmlengine.cpp:174
#20 operator() (__closure=<optimized out>, applet=0x55a920729dd0) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/plasmaquick/appletquickitem.cpp:670
#21 operator() (__closure=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:116


Reported using DrKonqi
Comment 1 Sam Birch 2025-11-06 12:36:07 UTC
Created attachment 186540 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 TraceyC 2025-11-06 20:27:18 UTC
Searchable backtrace


Thread 1 (Thread 0x7f691b418300 (LWP 155279)):
[KCrash Handler]
#5  std::__atomic_base<int>::fetch_sub (this=0xa91fdaae60, __i=1, __m=std::memory_order::acq_rel, this=<optimized out>, __i=<optimized out>, __m=<optimized out>) at /usr/include/c++/15/bits/atomic_base.h:639
#6  QAtomicOps<int>::deref<int> (_q_value=<error reading variable: Cannot access memory at address 0xa91fdaae60>, _q_value=<optimized out>) at /usr/include/qt6/QtCore/qatomic_cxx11.h:266
#7  QBasicAtomicInteger<int>::deref (this=0xa91fdaae60, this=<optimized out>) at /usr/include/qt6/QtCore/qbasicatomic.h:48
#8  Plasma::Theme::~Theme (this=this@entry=0x55a924975a58, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/plasma/theme.cpp:73
#9  0x00007f68e8008670 in PlasmaTheme::~PlasmaTheme (this=0x55a924975a40, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/declarativeimports/kirigamiplasmastyle/plasmatheme.cpp:63
#10 PlasmaTheme::~PlasmaTheme (this=0x55a924975a40, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/declarativeimports/kirigamiplasmastyle/plasmatheme.cpp:63
#11 0x00007f692135d1c2 in QObjectPrivate::deleteChildren (this=this@entry=0x55a922400860) at /usr/src/debug/qt6-qtbase-6.9.2-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:2226
#12 0x00007f69213620d4 in QObject::~QObject (this=this@entry=0x55a922400710) at /usr/src/debug/qt6-qtbase-6.9.2-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:1141
#13 0x00007f6922eb0390 in QQuickItem::~QQuickItem (this=this@entry=0x55a922400710) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/quick/items/qquickitem.cpp:2435
#14 0x00007f69243fba56 in PlasmaQuick::AppletQuickItem::~AppletQuickItem (this=this@entry=0x55a922400710, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/plasmaquick/appletquickitem.cpp:499
#15 0x00007f69243fcb72 in PlasmoidItem::~PlasmoidItem (this=0x55a922400710, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/plasmaquick/plasmoid/plasmoiditem.cpp:46
#16 QQmlPrivate::QQmlElement<PlasmoidItem>::~QQmlElement (this=0x55a922400710, this=<optimized out>) at /usr/include/qt6/QtQml/qqmlprivate.h:104
#17 QQmlPrivate::QQmlElement<PlasmoidItem>::~QQmlElement (this=0x55a922400710, this=<optimized out>) at /usr/include/qt6/QtQml/qqmlprivate.h:104
#18 0x00007f692441b20c in PlasmaQuick::SharedQmlEngine::~SharedQmlEngine (this=0x55a9223e9b00, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/plasmaquick/sharedqmlengine.cpp:177
#19 0x00007f69243f67d4 in PlasmaQuick::SharedQmlEngine::~SharedQmlEngine (this=0x55a9223e9b00, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/plasmaquick/sharedqmlengine.cpp:174
#20 operator() (__closure=<optimized out>, applet=0x55a920729dd0) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/plasmaquick/appletquickitem.cpp:670
#21 operator() (__closure=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:116
#22 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<long unsigned int, 0>, QtPrivate::List<Plasma::Applet*>, void, PlasmaQuick::AppletQuickItem::itemForApplet(Plasma::Applet*)::<lambda(Plasma::Applet*)> >::call(PlasmaQuick::AppletQuickItem::itemForApplet(Plasma::Applet*)::<lambda(Plasma::Applet*)>&, void**)::<lambda()> > (args=<optimized out>, fn=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:65
#23 QtPrivate::FunctorCall<std::integer_sequence<long unsigned int, 0>, QtPrivate::List<Plasma::Applet*>, void, PlasmaQuick::AppletQuickItem::itemForApplet(Plasma::Applet*)::<lambda(Plasma::Applet*)> >::call (f=<optimized out>, arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:115
#24 QtPrivate::FunctorCallable<PlasmaQuick::AppletQuickItem::itemForApplet(Plasma::Applet*)::<lambda(Plasma::Applet*)>, Plasma::Applet*>::call<QtPrivate::List<Plasma::Applet*>, void> (f=<optimized out>, arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:337
#25 QtPrivate::QCallableObject<PlasmaQuick::AppletQuickItem::itemForApplet(Plasma::Applet*)::<lambda(Plasma::Applet*)>, QtPrivate::List<Plasma::Applet*>, 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/include/qt6/QtCore/qobjectdefs_impl.h:547
#26 0x00007f6921365bba in QtPrivate::QSlotObjectBase::call (this=0x55a921c80b80, r=0x55a922400710, a=0x7ffe33e55860) at /usr/src/debug/qt6-qtbase-6.9.2-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#27 doActivate<false> (sender=0x55a920729dd0, signal_index=18, argv=argv@entry=0x7ffe33e55860) at /usr/src/debug/qt6-qtbase-6.9.2-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4157
#28 0x00007f692135c4b9 in QMetaObject::activate (sender=<optimized out>, m=<optimized out>, local_signal_index=local_signal_index@entry=15, argv=argv@entry=0x7ffe33e55860) at /usr/src/debug/qt6-qtbase-6.9.2-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4217
#29 0x00007f6924178e9a in QMetaObject::activate<void, Plasma::Applet*> (sender=<optimized out>, mo=<optimized out>, local_signal_index=15, ret=0x0) at /usr/include/qt6/QtCore/qobjectdefs.h:306
#30 Plasma::Applet::appletDeleted (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/redhat-linux-build/src/plasma/Plasma_autogen/include/moc_applet.cpp:698
#31 0x00007f692416d1e3 in Plasma::Applet::~Applet (this=0x55a920729dd0, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/plasma/applet.cpp:72
#32 0x00007f692416d2d5 in Plasma::Applet::~Applet (this=0x55a920729dd0, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/plasma/applet.cpp:85
#33 0x00007f692135d1c2 in QObjectPrivate::deleteChildren (this=this@entry=0x55a9206aa600) at /usr/src/debug/qt6-qtbase-6.9.2-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:2226
#34 0x00007f69213620d4 in QObject::~QObject (this=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.2-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:1141
#35 0x00007f692417bf85 in Plasma::Containment::~Containment (this=0x55a9206d5ec0, this=<optimized out>) at /usr/src/debug/libplasma-6.4.5-1.fc42.x86_64/src/plasma/containment.cpp:66
#36 0x000055a8eab93853 in ShellCorona::~ShellCorona (this=0x7ffe33e55e20, this=<optimized out>) at /usr/src/debug/plasma-workspace-6.4.5-2.fc42.x86_64/shell/shellcorona.cpp:366
#37 0x000055a8eab677f1 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace-6.4.5-2.fc42.x86_64/shell/main.cpp:189
Comment 3 TraceyC 2025-11-06 20:32:54 UTC
I'm not able to reproduce this on Plasma built from git-master because when I run plasmashell --replace or `plasmashell --replace` from krunner, it brings up Kate. When I ran the command from terminal, it restarted plasmashell without a crash.

I'll leave this open in case others are able to reproduce.
Comment 4 TraceyC 2025-11-19 18:05:02 UTC
The backtrace is similar but not the same as bug 489682, which was reported as fixed after 6.1