https://bugs.kde.org/show_bug.cgi?id=387190
Bug ID: 387190 Summary: plasmoidviewer doesn't work with kicker (kickoff is fine) [segfaults] Product: plasmashell Version: 5.11.3 Platform: Other OS: Linux Status: UNCONFIRMED Severity: normal Priority: NOR Component: Application Menu (Kicker) Assignee: h...@kde.org Reporter: zrenf...@gmail.com CC: plasma-b...@kde.org Target Milestone: 1.0 Obviously, it works fine in plasmashell, but plasmoidviewer doesn't. ~ $ plasmoidviewer -a org.kde.plasma.kicker QML debugging is enabled. Only use this in a safe environment. qml: View QML loaded Toolbox not loading, toolbox package is either invalid or disabled. qml: New Containment: ContainmentInterface(0x17df6e0) [KASTATSFAVS] 0x1aae100 0x0 "no client ID yet" initForClient "org.kde.plasma.kicker.favorites.instance-2" [KASTATSFAVS] 0x1aae100 0x1abd520 "org.kde.plasma.kicker.favorites.instance-2" Loading the ordering () [KASTATSFAVS] 0x1aae100 0x1abd520 "org.kde.plasma.kicker.favorites.instance-2" Query is Query { Select: LinkedResources, Type: (":any"), Agent: ("org.kde.plasma.favorites.applications", "org.kde.plasma.favorites.contacts", "org.kde.plasma.favorites.documents"), Activity: (":current", ":global"), Url: ("*"), Order: HighScore, Limit: 0 } KActivities: Database connection: "kactivities_db_resources_139821113190592_readonly" query_only: QVariant(qlonglong, 1) journal_mode: QVariant(QString, "wal") wal_autocheckpoint: QVariant(qlonglong, 100) synchronous: QVariant(qlonglong, 0) [KASTATSFAVS] 0x1aae100 0x0 "no client ID yet" Activity just got changed to "e266b17a-e588-48f4-a505-f092f59ad171" Segmentation fault (core dumped) Confirmed in IRC: <Zren> Does "plasmoidviewer -a org.kde.plasma.kicker" segfault for anyone else? <fvogt> Yup. <Zren> Hmmm, ty. <Zren> Looks like kickerdash fails too (same project so makes sense), but kickoff works. <fvogt> It's applets/kicker/plugin/kastatsfavoritesmodel.cpp <fvogt> , d(nullptr) // we have no client id yet <fvogt> But in a slot then: auto clientId = d->m_clientId; <fvogt> Oh, the code is actually undefined behaviour <fvogt> auto clientId = d->m_clientId; initForClient(clientId); <fvogt> initForClient then does delete d; before using m_clientId <fvogt> A guaranteed use-after-free... https://github.com/KDE/plasma-desktop/blob/master/applets/kicker/plugin/kastatsfavoritesmodel.cpp#L458 -- You are receiving this mail because: You are watching all bug changes.