Bug 451864

Summary: Plasma 5.24.3 crashes whenever changing the Desktop Layout most of the time
Product: [Plasma] plasmashell Reporter: The Feren OS Dev <ferenosdev>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kde, nate
Priority: NOR Keywords: drkonqi
Version: 5.24.3   
Target Milestone: 1.0   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description The Feren OS Dev 2022-03-24 20:07:12 UTC
Application: plasmashell (5.24.3)
 (Compiled from sources)
Qt Version: 5.15.3
Frameworks Version: 5.92.0
Operating System: Linux 5.13.0-37-generic x86_64
Windowing System: X11
Distribution: Feren OS
DrKonqi: 5.24.3 [CoredumpBackend]

-- Information about the crash:
- What I was doing when the application crashed:
Changing the Desktop Layout. It doesn't happen all the time, but most of the time the Desktop Layout is changed. A similar crash occurs with panelspacer.cpp, but a single line addition from another KDE Developer fixed panelspacer.cpp's crash-causing, now leaving systemtray.cpp, and rarely shell instead, to be the one causing the crashes instead.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault

[New LWP 77439]
[New LWP 77560]
[New LWP 77562]
[New LWP 77443]
[New LWP 77444]
[New LWP 77449]
[New LWP 77482]
[New LWP 77460]
[New LWP 77561]
[New LWP 77442]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/bin/plasmashell'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f9c930b403b in raise () from /lib/x86_64-linux-gnu/libc.so.6
[Current thread is 1 (Thread 0x7f9c8f2cf9c0 (LWP 77439))]
__preamble__
[Current thread is 1 (Thread 0x7f9c8f2cf9c0 (LWP 77439))]

Thread 10 (Thread 0x7f9c8e25a700 (LWP 77442)):
#0  0x00007f9c931839cf in poll () at /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f9c958b6c1a in  () at /lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f9c958b890a in xcb_wait_for_event () at /lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f9c8e9761a8 in  () at /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f9c93513623 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f9c92ea7609 in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007f9c93190163 in clone () at /lib/x86_64-linux-gnu/libc.so.6

Thread 9 (Thread 0x7f9c6927f700 (LWP 77561)):
#0  0x00007f9c92eae7b1 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f9c93519618 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f9c93516b21 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f9c93513623 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f9c92ea7609 in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007f9c93190163 in clone () at /lib/x86_64-linux-gnu/libc.so.6

Thread 8 (Thread 0x7f9c6bf08700 (LWP 77460)):
#0  0x00007f9c931839cf in poll () at /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f9c91a1836e in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9c91a184a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9c93754642 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f9c936f887b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f9c93512442 in QThread::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f9c950d343a in  () at /lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007f9c93513623 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f9c92ea7609 in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0
#9  0x00007f9c93190163 in clone () at /lib/x86_64-linux-gnu/libc.so.6

Thread 7 (Thread 0x7f9c62ffd700 (LWP 77482)):
#0  0x00007f9c931839cf in poll () at /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f9c91a1836e in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9c91a184a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9c9375465b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f9c936f887b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f9c93512442 in QThread::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f9c608e707c in KCupsConnection::run() () at /lib/x86_64-linux-gnu/libkcupslib.so
#7  0x00007f9c93513623 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f9c92ea7609 in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0
#9  0x00007f9c93190163 in clone () at /lib/x86_64-linux-gnu/libc.so.6

Thread 6 (Thread 0x7f9c86474700 (LWP 77449)):
#0  0x00007f9c931839cf in poll () at /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f9c91a1836e in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9c91a184a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9c93754642 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f9c936f887b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f9c93512442 in QThread::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f9c94d38b39 in  () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007f9c93513623 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f9c92ea7609 in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0
#9  0x00007f9c93190163 in clone () at /lib/x86_64-linux-gnu/libc.so.6

Thread 5 (Thread 0x7f9c8c823700 (LWP 77444)):
#0  0x00007f9c92eae376 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f9c8663a5eb in  () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#2  0x00007f9c8663a1eb in  () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#3  0x00007f9c92ea7609 in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007f9c93190163 in clone () at /lib/x86_64-linux-gnu/libc.so.6

Thread 4 (Thread 0x7f9c8d5ef700 (LWP 77443)):
#0  0x00007f9c931839cf in poll () at /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f9c91a1836e in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9c91a184a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9c93754642 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f9c936f887b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f9c93512442 in QThread::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f9c9408ef4b in  () at /lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007f9c93513623 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f9c92ea7609 in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0
#9  0x00007f9c93190163 in clone () at /lib/x86_64-linux-gnu/libc.so.6

Thread 3 (Thread 0x7f9c637fe700 (LWP 77562)):
#0  0x00007f9c92eae7b1 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f9c93519618 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f9c93516b21 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f9c93513623 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f9c92ea7609 in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007f9c93190163 in clone () at /lib/x86_64-linux-gnu/libc.so.6

Thread 2 (Thread 0x7f9c68a7e700 (LWP 77560)):
#0  0x00007f9c92eae7b1 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f9c93519618 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f9c93516b21 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f9c93513623 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f9c92ea7609 in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007f9c93190163 in clone () at /lib/x86_64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7f9c8f2cf9c0 (LWP 77439)):
[KCrash Handler]
#3  0x00007f9c84667017 in SystemTray::onEnabledAppletsChanged() (this=0x557c853e6130) at /tmp/git-sources/plasma-workspace/applets/systemtray/systemtray.cpp:293
#4  0x00007f9c8466be91 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (SystemTray::*)()>::call(void (SystemTray::*)(), SystemTray*, void**) (f=(void (SystemTray::*)(SystemTray * const)) 0x7f9c84666f86 <SystemTray::onEnabledAppletsChanged()>, o=0x557c853e6130, arg=0x7ffc6484cf10) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152
#5  0x00007f9c8466b83f in QtPrivate::FunctionPointer<void (SystemTray::*)()>::call<QtPrivate::List<>, void>(void (SystemTray::*)(), SystemTray*, void**) (f=(void (SystemTray::*)(SystemTray * const)) 0x7f9c84666f86 <SystemTray::onEnabledAppletsChanged()>, o=0x557c853e6130, arg=0x7ffc6484cf10) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185
#6  0x00007f9c8466af3d in QtPrivate::QSlotObject<void (SystemTray::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x557c8546dc90, r=0x557c853e6130, a=0x7ffc6484cf10, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:418
#7  0x00007f9c93730dfe in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f9c8466e708 in SystemTraySettings::enabledPluginsChanged(QStringList const&, QStringList const&) (this=0x557c8544ff20, _t1=..., _t2=...) at /tmp/git-sources/plasma-workspace/build/applets/systemtray/systemtraymodel_static_autogen/EWIEGA46WW/moc_systemtraysettings.cpp:152
#9  0x00007f9c8469227c in SystemTraySettings::notifyAboutChangedEnabledPlugins(QStringList const&, QStringList const&) (this=0x557c8544ff20, enabledPluginsOld=..., enabledPluginsNew=...) at /tmp/git-sources/plasma-workspace/applets/systemtray/systemtraysettings.cpp:163
#10 0x00007f9c84691fa2 in SystemTraySettings::loadConfig() (this=0x557c8544ff20) at /tmp/git-sources/plasma-workspace/applets/systemtray/systemtraysettings.cpp:120
#11 0x00007f9c84691603 in SystemTraySettings::<lambda()>::operator()(void) const (__closure=0x557c8546e650) at /tmp/git-sources/plasma-workspace/applets/systemtray/systemtraysettings.cpp:25
#12 0x00007f9c846924bc in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, SystemTraySettings::SystemTraySettings(KConfigLoader*, QObject*)::<lambda()> >::call(SystemTraySettings::<lambda()> &, void **) (f=..., arg=0x7ffc6484d170) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:146
#13 0x00007f9c8469248e in QtPrivate::Functor<SystemTraySettings::SystemTraySettings(KConfigLoader*, QObject*)::<lambda()>, 0>::call<QtPrivate::List<>, void>(SystemTraySettings::<lambda()> &, void *, void **) (f=..., arg=0x7ffc6484d170) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:256
#14 0x00007f9c8469245c in QtPrivate::QFunctorSlotObject<SystemTraySettings::SystemTraySettings(KConfigLoader*, QObject*)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x557c8546e640, r=0x557c8544ff20, a=0x7ffc6484d170, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:443
#15 0x00007f9c93730dfe in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007f9c9415ff7e in KCoreConfigSkeleton::save() () at /lib/x86_64-linux-gnu/libKF5ConfigCore.so.5
#17 0x00007f9c95743f68 in  () at /lib/x86_64-linux-gnu/libKF5Declarative.so.5
#18 0x00007f9c9574400d in KDeclarative::ConfigPropertyMap::~ConfigPropertyMap() () at /lib/x86_64-linux-gnu/libKF5Declarative.so.5
#19 0x00007f9c9574402d in KDeclarative::ConfigPropertyMap::~ConfigPropertyMap() () at /lib/x86_64-linux-gnu/libKF5Declarative.so.5
#20 0x00007f9c9372437e in QObjectPrivate::deleteChildren() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007f9c9372ee26 in QObject::~QObject() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007f9c951e37ca in QQuickItem::~QQuickItem() () at /lib/x86_64-linux-gnu/libQt5Quick.so.5
#23 0x00007f9c95b1f1f9 in PlasmaQuick::AppletQuickItem::~AppletQuickItem() () at /lib/x86_64-linux-gnu/libKF5PlasmaQuick.so.5
#24 0x00007f9c851bc807 in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/plasma/scriptengines/plasma_appletscript_declarative.so
#25 0x00007f9c9372437e in QObjectPrivate::deleteChildren() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007f9c9372ee26 in QObject::~QObject() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007f9c851a3ad8 in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/plasma/scriptengines/plasma_appletscript_declarative.so
#28 0x00007f9c9580e398 in  () at /lib/x86_64-linux-gnu/libKF5Plasma.so.5
#29 0x00007f9c9580e59d in  () at /lib/x86_64-linux-gnu/libKF5Plasma.so.5
#30 0x00007f9c957f63ae in Plasma::Applet::~Applet() () at /lib/x86_64-linux-gnu/libKF5Plasma.so.5
#31 0x00007f9c84665530 in SystemTray::~SystemTray() (this=0x557c853e6130, __in_chrg=<optimized out>) at /tmp/git-sources/plasma-workspace/applets/systemtray/systemtray.cpp:41
#32 0x00007f9c84665550 in SystemTray::~SystemTray() (this=0x557c853e6130, __in_chrg=<optimized out>) at /tmp/git-sources/plasma-workspace/applets/systemtray/systemtray.cpp:43
#33 0x00007f9c9372437e in QObjectPrivate::deleteChildren() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00007f9c9372ee26 in QObject::~QObject() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00007f9c847128fc in SystemTrayContainer::~SystemTrayContainer() (this=0x557c8542ef40, __in_chrg=<optimized out>) at /tmp/git-sources/plasma-workspace/applets/systemtray/container/systemtraycontainer.cpp:21
#36 0x00007f9c8471291c in SystemTrayContainer::~SystemTrayContainer() (this=0x557c8542ef40, __in_chrg=<optimized out>) at /tmp/git-sources/plasma-workspace/applets/systemtray/container/systemtraycontainer.cpp:26
#37 0x00007f9c9372437e in QObjectPrivate::deleteChildren() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#38 0x00007f9c9372ee26 in QObject::~QObject() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#39 0x00007f9c957fc5cd in Plasma::Containment::~Containment() () at /lib/x86_64-linux-gnu/libKF5Plasma.so.5
#40 0x00007f9c937276f3 in QObject::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#41 0x00007f9c94417dc3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#42 0x00007f9c94420bd8 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#43 0x00007f9c936f9d7a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#44 0x00007f9c936fc681 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#45 0x00007f9c93754fe7 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#46 0x00007f9c91a1817d in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007f9c91a18400 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007f9c91a184a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#49 0x00007f9c93754642 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#50 0x00007f9c936f887b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#51 0x00007f9c93700a24 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#52 0x0000557c83be6b69 in main(int, char**) (argc=1, argv=0x7ffc6484df88) at /tmp/git-sources/plasma-workspace/shell/main.cpp:238

Possible duplicates by query: bug 451791, bug 451777, bug 451732, bug 451605, bug 451581.

Reported using DrKonqi
Comment 1 The Feren OS Dev 2022-03-24 20:12:08 UTC
Extra note: Aside the ones compiled from source, KDE neon User Edition packages are used.
Comment 2 The Feren OS Dev 2022-03-24 20:14:08 UTC
Additionally, the diff for the panelspacer.cpp crash fix:

diff --git a/applets/panelspacer/plugin/panelspacer.cpp b/applets/panelspacer/plugin/panelspacer.cpp
index 0753815f40..66c56781db 100644
--- a/applets/panelspacer/plugin/panelspacer.cpp
+++ b/applets/panelspacer/plugin/panelspacer.cpp
@@ -123,6 +123,7 @@ PlasmaQuick::AppletQuickItem *PanelSpacer::twinSpacer() const
 
 PlasmaQuick::AppletQuickItem *PanelSpacer::containmentGraphicObject() const
 {
+    if (!containment()) return nullptr;
     return containment()->property("_plasma_graphicObject").value<PlasmaQuick::AppletQuickItem *>();
 }
Comment 3 Nate Graham 2022-03-26 16:42:31 UTC
Looks containment-related; same backtrace as Bug 451053 which is also containment-related.

*** This bug has been marked as a duplicate of bug 451053 ***
Comment 4 Nate Graham 2023-01-17 22:06:27 UTC

*** This bug has been marked as a duplicate of bug 453726 ***