Bug 423524 - Plasma crashed in AppsModel::data() when trying to edit items in full screen start menu
Summary: Plasma crashed in AppsModel::data() when trying to edit items in full screen ...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Application Menu (Kicker) (show other bugs)
Version: 5.19.1
Platform: openSUSE Linux
: NOR crash
Target Milestone: 1.0
Assignee: Eike Hein
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2020-06-26 00:31 UTC by Umit N
Modified: 2022-09-15 16:31 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.26


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Umit N 2020-06-26 00:31:16 UTC
Application: plasmashell (5.19.1)

Qt Version: 5.15.0
Frameworks Version: 5.71.0
Operating System: Linux 5.7.2-1-default x86_64
Windowing system: X11
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
- What I was doing when the application crashed: Browsing full screen app menu after I installed the Graphics pattern (without Gnome progs) in YAST. I tried to view the tooltip for KDE Marble.

- Unusual behavior I noticed: Froze for a second, then the menu crashed with no other warning. The menu worked afterwards and nothing else happened.

The crash does not seem to be reproducible.

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

[KCrash Handler]
#4  0x0000000000000000 in ?? ()
#5  0x00007f56e95fbb0e in AppsModel::data (this=0x55ecc49075c0, index=..., role=<optimized out>) at /usr/src/debug/plasma5-workspace-5.19.1-1.1.x86_64/applets/kicker/plugin/appsmodel.cpp:141
#6  0x00007f57123c955f in QModelIndex::data (arole=0, this=0x7ffd43c69940) at /usr/include/qt5/QtCore/qabstractitemmodel.h:460
#7  QQmlDMAbstractItemModelData::value (role=0, this=0x55ecc9a18000) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/qmlmodels/qqmladaptormodel.cpp:414
#8  QQmlDMCachedModelData::metaCall (this=0x55ecc9a18000, call=<optimized out>, id=<optimized out>, arguments=0x7ffd43c699f0) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/qmlmodels/qqmladaptormodel.cpp:282
#9  0x00007f57146d663c in QQmlPropertyData::readPropertyWithArgs (this=<optimized out>, this=<optimized out>, args=0x7ffd43c699f0, target=0x55ecc9a18000) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/include/QtQml/5.15.0/QtQml/private/../../../../../src/qml/qml/qqmlpropertydata_p.h:367
#10 QQmlPropertyData::readPropertyWithArgs (args=0x7ffd43c699f0, target=0x55ecc9a18000, this=0x55ecc5228808) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/include/QtQml/5.15.0/QtQml/private/../../../../../src/qml/qml/qqmlpropertydata_p.h:360
#11 QQmlPropertyData::readProperty (property=0x7ffd43c699d0, target=0x55ecc9a18000, this=0x55ecc5228808) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/include/QtQml/5.15.0/QtQml/private/../../../../../src/qml/qml/qqmlpropertydata_p.h:357
#12 loadProperty (v4=0x55ecbf7037d0, object=0x55ecc9a18000, property=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:176
#13 0x00007f57146d78ca in QV4::QObjectWrapper::virtualResolveLookupGetter (object=0x7f570456c7e8, engine=0x55ecbf7037d0, lookup=0x55ecc2a913c0) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:883
#14 0x00007f56ea36b2fa in ?? ()
#15 0x0000000000000000 in ?? ()
[Inferior 1 (process 2219) detached]

Possible duplicates by query: bug 423339, bug 423275, bug 422020, bug 421204, bug 421087.

Reported using DrKonqi
Comment 1 Bug Janitor Service 2021-03-03 23:11:40 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/692
Comment 2 Bug Janitor Service 2022-09-11 21:10:45 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2104
Comment 3 David Edmundson 2022-09-15 16:04:44 UTC
Git commit 28560c5d1c2e3a22593c716b399e73cb3e27f32f by David Edmundson.
Committed on 15/09/2022 at 15:55.
Pushed by davidedmundson into branch 'master'.

[applets/kickoff] Always instantiate KService::Ptr member

Code uses m_service unconditionally in many branches, it is exposed as
public API. Given KService is a data class with an isValid method, it's
clearer to ensure that KService::Ptr always returns a valid object which
in turn can then be valid rather than having two paths for the same
goal.

This can be relevant in a situation where an entry using the "preferred"
schema references an entry that doesn't exist.

M  +7    -5    applets/kicker/plugin/appentry.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/28560c5d1c2e3a22593c716b399e73cb3e27f32f