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.

Reply via email to