SUMMARY plasmashell crashes after a panel with a system tray applet is removed (after clicking the close button in the undo notification to fully remove the panel). STEPS TO REPRODUCE 1. Remove a panel with a system tray applet 2. Click the close button in the undo notification OBSERVED RESULT Crash EXPECTED RESULT No crash SOFTWARE/OS VERSIONS Information for package plasma5-workspace: ------------------------------------------ Repository : @System Name : plasma5-workspace Version : 5.24.80git.20220512T172107~ce8b46ec-ku.113.1 Arch : x86_64 Vendor : obs://build.opensuse.org/KDE:Unstable Installed Size : 27.5 MiB Installed : Yes Status : up-to-date Source package : plasma5-workspace-5.24.80git.20220512T172107~ce8b46ec-ku.113.1.src Upstream URL : http://www.kde.org/ Summary : The KDE Plasma Workspace Components Description : This package contains the basic packages for a Plasma workspace. ADDITIONAL INFORMATION (gdb) bt #0 0x00007f162b485ca4 in SystemTray::onEnabledAppletsChanged() (this=0x55cbb6a17740) at /usr/src/debug/plasma5-workspace-5.24.80git.20220512T172107~ce8b46ec-ku.113.1.x86_64/applets/systemtray/systemtray.cpp:288 #1 0x00007f163f62b453 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffef86453e0, r=0x55cbb6a17740, this=0x55cbb18b5b10) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #2 doActivate<false>(QObject*, int, void**) (sender=0x55cbb227f6b0, signal_index=4, argv=0x7ffef86453e0) at kernel/qobject.cpp:3886 #3 0x00007f163f6247af in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x55cbb227f6b0, m=m@entry=0x7f162b4b2480 <SystemTraySettings::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffef86453e0) at kernel/qobject.cpp:3946 #4 0x00007f162b496b09 in SystemTraySettings::enabledPluginsChanged(QStringList const&, QStringList const&) (_t2=..., _t1=..., this=0x55cbb227f6b0) at /usr/src/debug/plasma5-workspace-5.24.80git.20220512T172107~ce8b46ec-ku.113.1.x86_64/build/applets/systemtray/systemtraymodel_static_autogen/EWIEGA46WW/moc_systemtraysettings.cpp:152 #5 SystemTraySettings::notifyAboutChangedEnabledPlugins(QStringList const&, QStringList const&) (enabledPluginsNew=..., enabledPluginsOld=..., this=0x55cbb227f6b0) at /usr/src/debug/plasma5-workspace-5.24.80git.20220512T172107~ce8b46ec-ku.113.1.x86_64/applets/systemtray/systemtraysettings.cpp:163 #6 SystemTraySettings::loadConfig() (this=0x55cbb227f6b0) at /usr/src/debug/plasma5-workspace-5.24.80git.20220512T172107~ce8b46ec-ku.113.1.x86_64/applets/systemtray/systemtraysettings.cpp:120 #7 0x00007f163f62b453 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffef86454c0, r=0x55cbb227f6b0, this=0x55cbb227efc0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #8 doActivate<false>(QObject*, int, void**) (sender=0x55cbb227e4f0, signal_index=3, argv=0x7ffef86454c0) at kernel/qobject.cpp:3886 #9 0x00007f16401d02c8 in KCoreConfigSkeleton::save() (this=0x55cbb227e4f0) at /usr/src/debug/kconfig-5.94.0git.20220504T093732~a0bf7b8-ku.4.1.x86_64/src/core/kcoreconfigskeleton.cpp:1245 #10 0x00007f164161cded in KDeclarative::ConfigPropertyMapPrivate::writeConfig() (this=0x55cbb43e5ae0) at /usr/src/debug/kdeclarative-5.94.0git.20220511T221457~22f6b1e-ku.4.1.x86_64/src/kdeclarative/configpropertymap.cpp:139 #11 KDeclarative::ConfigPropertyMap::~ConfigPropertyMap() (this=0x55cbb443f9e0, this=<optimized out>) at /usr/src/debug/kdeclarative-5.94.0git.20220511T221457~22f6b1e-ku.4.1.x86_64/src/kdeclarative/configpropertymap.cpp:65 #12 0x00007f164161ce19 in KDeclarative::ConfigPropertyMap::~ConfigPropertyMap() (this=0x55cbb443f9e0, this=<optimized out>) at /usr/src/debug/kdeclarative-5.94.0git.20220511T221457~22f6b1e-ku.4.1.x86_64/src/kdeclarative/configpropertymap.cpp:68 #13 0x00007f163f61e99e in QObjectPrivate::deleteChildren() (this=0x55cbb6a1c7f0) at kernel/qobject.cpp:2104 #14 0x00007f163f629664 in QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082 #15 0x00007f163883ebca in ContainmentInterface::~ContainmentInterface() (this=0x55cbb6a15e20, this=<optimized out>) at /usr/src/debug/plasma-framework-5.94.0git.20220512T145121~b214c9ad-ku.26.1.x86_64/src/scriptengines/qml/plasmoid/containmentinterface.h:38 #16 ContainmentInterface::~ContainmentInterface() (this=0x55cbb6a15e20, this=<optimized out>) at /usr/src/debug/plasma-framework-5.94.0git.20220512T145121~b214c9ad-ku.26.1.x86_64/src/scriptengines/qml/plasmoid/containmentinterface.h:38 #17 0x00007f163f61e99e in QObjectPrivate::deleteChildren() (this=0x55cbb6a37b00) at kernel/qobject.cpp:2104 #18 0x00007f163f629664 in QObject::~QObject() (this=this@entry=0x55cbb6a22150, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082 #19 0x00007f16416f1863 in Plasma::ScriptEngine::~ScriptEngine() (this=this@entry=0x55cbb6a22150, this=<optimized out>) at /usr/src/debug/plasma-framework-5.94.0git.20220512T145121~b214c9ad-ku.26.1.x86_64/src/plasma/scripting/scriptengine.cpp:48 #20 0x00007f16416f18be in Plasma::AppletScript::~AppletScript() (this=this@entry=0x55cbb6a22150, this=<optimized out>) at /usr/src/debug/plasma-framework-5.94.0git.20220512T145121~b214c9ad-ku.26.1.x86_64/src/plasma/scripting/appletscript.cpp:35 #21 0x00007f16388317fb in DeclarativeAppletScript::~DeclarativeAppletScript() (this=0x55cbb6a22150, this=<optimized out>) at /usr/src/debug/plasma-framework-5.94.0git.20220512T145121~b214c9ad-ku.26.1.x86_64/src/scriptengines/qml/plasmoid/declarativeappletscript.cpp:68 #22 DeclarativeAppletScript::~DeclarativeAppletScript() (this=0x55cbb6a22150, this=<optimized out>) at /usr/src/debug/plasma-framework-5.94.0git.20220512T145121~b214c9ad-ku.26.1.x86_64/src/scriptengines/qml/plasmoid/declarativeappletscript.cpp:68 #23 0x00007f16416c248a in Plasma::AppletPrivate::~AppletPrivate() (this=0x55cbb6a16c80, this=<optimized out>) at /usr/src/debug/plasma-framework-5.94.0git.20220512T145121~b214c9ad-ku.26.1.x86_64/src/plasma/private/applet_p.cpp:89 #24 0x00007f16416b4174 in Plasma::AppletPrivate::~AppletPrivate() (this=0x55cbb6a16c80, this=<optimized out>) at /usr/src/debug/plasma-framework-5.94.0git.20220512T145121~b214c9ad-ku.26.1.x86_64/src/plasma/private/applet_p.cpp:83 #25 Plasma::Applet::~Applet() (this=this@entry=0x55cbb6a17740, this=<optimized out>) at /usr/src/debug/plasma-framework-5.94.0git.20220512T145121~b214c9ad-ku.26.1.x86_64/src/plasma/applet.cpp:165 #26 0x00007f16416b43a0 in Plasma::Containment::~Containment() (this=this@entry=0x55cbb6a17740, this=<optimized out>) at /usr/src/debug/plasma-framework-5.94.0git.20220512T145121~b214c9ad-ku.26.1.x86_64/src/plasma/containment.cpp:83 #27 0x00007f162b47d8ec in SystemTray::~SystemTray() (this=0x55cbb6a17740, this=<optimized out>) at /usr/src/debug/plasma5-workspace-5.24.80git.20220512T172107~ce8b46ec-ku.113.1.x86_64/applets/systemtray/systemtray.cpp:38 #28 SystemTray::~SystemTray() (this=0x55cbb6a17740, this=<optimized out>) at /usr/src/debug/plasma5-workspace-5.24.80git.20220512T172107~ce8b46ec-ku.113.1.x86_64/applets/systemtray/systemtray.cpp:38 #29 0x00007f163f61e99e in QObjectPrivate::deleteChildren() (this=0x55cbb6a1a6e0) at kernel/qobject.cpp:2104 #30 0x00007f163f629664 in QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082 #31 0x00007f162b5a7699 in SystemTrayContainer::~SystemTrayContainer() (this=0x55cbb6a15960, this=<optimized out>) at /usr/src/debug/plasma5-workspace-5.24.80git.20220512T172107~ce8b46ec-ku.113.1.x86_64/applets/systemtray/container/systemtraycontainer.cpp:24 #32 0x00007f163f61e99e in QObjectPrivate::deleteChildren() (this=0x55cbb668eb70) at kernel/qobject.cpp:2104 #33 0x00007f163f629664 in QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082 #34 0x00007f16416b4479 in Plasma::Containment::~Containment() (this=0x55cbb65b1400, this=<optimized out>) at /usr/src/debug/plasma-framework-5.94.0git.20220512T145121~b214c9ad-ku.26.1.x86_64/src/plasma/containment.cpp:83 #35 0x00007f163f62102f in QObject::event(QEvent*) (this=0x55cbb65b1400, e=0x55cbb7eefcd0) at kernel/qobject.cpp:1301 #36 0x00007f1640394b0f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55cbb65b1400, e=0x55cbb7eefcd0) at kernel/qapplication.cpp:3632 #37 0x00007f163f5f4b5a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55cbb65b1400, event=0x55cbb7eefcd0) at kernel/qcoreapplication.cpp:1064 #38 0x00007f163f5f7b97 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x55cbb154aa90) at kernel/qcoreapplication.cpp:1821 #39 0x00007f163f64cc33 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=s@entry=0x55cbb16585e0) at kernel/qeventdispatcher_glib.cpp:277 #40 0x00007f163d8f9122 in g_main_dispatch (context=0x7f1634005010) at ../glib/gmain.c:3417 #41 g_main_context_dispatch (context=0x7f1634005010) at ../glib/gmain.c:4135 #42 0x00007f163d8f94b8 in g_main_context_iterate (context=context@entry=0x7f1634005010, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4211 #43 0x00007f163d8f956f in g_main_context_iteration (context=0x7f1634005010, may_block=1) at ../glib/gmain.c:4276 #44 0x00007f163f64c2b4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55cbb166a6f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #45 0x00007f163f5f355b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffef8645d70, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #46 0x00007f163f5fb820 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #47 0x00007f163fa4561c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1867 #48 0x00007f1640394a85 in QApplication::exec() () at kernel/qapplication.cpp:2824 #49 0x000055cbb05b9192 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma5-workspace-5.24.80git.20220512T172107~ce8b46ec-ku.113.1.x86_64/shell/main.cpp:240
https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1722
Git commit 6da91d053b4f142277d60db4a1a17eded9249d11 by Fushan Wen. Committed on 13/05/2022 at 07:44. Pushed by fusionfuture into branch 'master'. applets/systemtray: disconnect KConfigLoader signal when instance is about to be deleted When an applet is about to be deleted, it will save its config automatically, but in this case the system tray doesn't need to load the config again. M +3 -0 applets/systemtray/systemtray.cpp https://invent.kde.org/plasma/plasma-workspace/commit/6da91d053b4f142277d60db4a1a17eded9249d11
Git commit b7a148ec05e25a98a7e41c49191d5ffeeacaaf68 by Fushan Wen. Committed on 13/05/2022 at 07:57. Pushed by fusionfuture into branch 'Plasma/5.24'. applets/systemtray: disconnect KConfigLoader signal when instance is about to be deleted When an applet is about to be deleted, it will save its config automatically, but in this case the system tray doesn't need to load the config again. (cherry picked from commit 6da91d053b4f142277d60db4a1a17eded9249d11) M +3 -0 applets/systemtray/systemtray.cpp https://invent.kde.org/plasma/plasma-workspace/commit/b7a148ec05e25a98a7e41c49191d5ffeeacaaf68
*** Bug 451053 has been marked as a duplicate of this bug. ***
*** Bug 451114 has been marked as a duplicate of this bug. ***
*** Bug 451791 has been marked as a duplicate of this bug. ***
*** Bug 451864 has been marked as a duplicate of this bug. ***
*** Bug 454857 has been marked as a duplicate of this bug. ***