Summary: | Plasma crashes when opening Kickoff during or immediately after uninstalling an app present in the favorites list | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Patrick Silva <bugseforuns> |
Component: | generic-crash | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | nate |
Priority: | NOR | Keywords: | drkonqi, qt6 |
Version: | 5.93.0 | ||
Target Milestone: | 1.0 | ||
Platform: | unspecified | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=471891 | ||
Latest Commit: | https://invent.kde.org/plasma/plasma-workspace/-/commit/b5ce9cb4db74a54fbed4e10f4fe7cf656b899b9d | Version Fixed In: | 6.0.1 |
Description
Patrick Silva
2024-02-26 12:08:21 UTC
I can even reproduce the issue by trying to open Kickoff while the app hasn't even finished installing. The Backtrace shows we're in sycoca code, which is what I expected based on the description: Thread 1 (Thread 0x765f004479c0 (LWP 956)): [KCrash Handler] #5 0x0000765f07143c7c in std::__uniq_ptr_impl<KSycocaEntryPrivate, std::default_delete<KSycocaEntryPrivate> >::_M_ptr (this=<optimized out>, this=<optimized out>) at /usr/include/c++/13.2.1/bits/unique_ptr.h:199 #6 std::unique_ptr<KSycocaEntryPrivate, std::default_delete<KSycocaEntryPrivate> >::get (this=<optimized out>, this=<optimized out>) at /usr/include/c++/13.2.1/bits/unique_ptr.h:470 #7 qGetPtrHelper<std::unique_ptr<KSycocaEntryPrivate, std::default_delete<KSycocaEntryPrivate> > const> (ptr=<optimized out>, ptr=<optimized out>) at /usr/include/qt6/QtCore/qtclasshelpermacros.h:79 #8 KSycocaEntry::d_func (this=<optimized out>) at /usr/src/debug/kservice/kservice-5.249.0/src/sycoca/ksycocaentry.h:120 #9 KSycocaEntry::name (this=0x0) at /usr/src/debug/kservice/kservice-5.249.0/src/sycoca/ksycocaentry.cpp:92 #10 0x0000765ed978b0b4 in AppEntry::nameFromService (service=..., nameFormat=AppEntry::NameOnly) at /usr/src/debug/plasma-workspace/plasma-workspace-5.93.0/applets/kicker/plugin/appentry.cpp:344 #11 0x0000765ed9786f2a in AppEntry::init (this=0x5fa156fcd1c0, nameFormat=AppEntry::NameOnly) at /usr/src/debug/plasma-workspace/plasma-workspace-5.93.0/applets/kicker/plugin/appentry.cpp:174 #12 0x0000765ed978710d in AppEntry::AppEntry(AbstractModel*, QString const&)::{lambda()#1}::operator()() const [clone .lto_priv.0] () at /usr/src/debug/plasma-workspace/plasma-workspace-5.93.0/applets/kicker/plugin/appentry.cpp:158 A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/3982 Git commit 65e560391c6145cc8efe61387768289abd81f1b0 by Marco Martin. Committed on 04/03/2024 at 11:10. Pushed by mart into branch 'master'. Make sure AppItem is up to date with sycoca when checking isValid() when an application contained in favorite is uninstalled, the favoritemodel KSycoca databaseChanged connection gets executed before the AppItem own connection, so at that point is still isValid() while is not true. force its update instead before checking isValid() M +5 -0 applets/kicker/plugin/abstractentry.cpp M +2 -0 applets/kicker/plugin/abstractentry.h M +28 -19 applets/kicker/plugin/appentry.cpp M +2 -0 applets/kicker/plugin/appentry.h M +2 -0 applets/kicker/plugin/kastatsfavoritesmodel.cpp https://invent.kde.org/plasma/plasma-workspace/-/commit/65e560391c6145cc8efe61387768289abd81f1b0 Git commit b5ce9cb4db74a54fbed4e10f4fe7cf656b899b9d by Marco Martin. Committed on 04/03/2024 at 11:11. Pushed by mart into branch 'Plasma/6.0'. Make sure AppItem is up to date with sycoca when checking isValid() when an application contained in favorite is uninstalled, the favoritemodel KSycoca databaseChanged connection gets executed before the AppItem own connection, so at that point is still isValid() while is not true. force its update instead before checking isValid() M +5 -0 applets/kicker/plugin/abstractentry.cpp M +2 -0 applets/kicker/plugin/abstractentry.h M +28 -19 applets/kicker/plugin/appentry.cpp M +2 -0 applets/kicker/plugin/appentry.h M +2 -0 applets/kicker/plugin/kastatsfavoritesmodel.cpp https://invent.kde.org/plasma/plasma-workspace/-/commit/b5ce9cb4db74a54fbed4e10f4fe7cf656b899b9d |