Bug 414920 - Plasma crashes in RunnerModel::matchesChanged() while searching
Summary: Plasma crashes in RunnerModel::matchesChanged() while searching
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (show other bugs)
Version: 5.17.4
Platform: unspecified Linux
: VHI crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
: 404796 404845 404871 405861 410232 413170 413400 414085 415233 415433 416933 417975 418059 418969 419154 420705 425068 430909 433397 433705 436397 437802 438669 440850 443825 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-12-07 11:25 UTC by Alexandr
Modified: 2022-09-20 16:33 UTC (History)
32 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.26
Sentry Crash Report:


Attachments
New crash information added by DrKonqi (85.53 KB, text/plain)
2019-12-07 11:25 UTC, Alexandr
Details
long freeze while switching desktops (78.78 KB, image/png)
2019-12-09 19:34 UTC, roger herz-fischler
Details
simple search in kwrite (84.10 KB, image/png)
2019-12-09 19:36 UTC, roger herz-fischler
Details
double peak just opening open office (118.31 KB, image/png)
2019-12-09 19:37 UTC, roger herz-fischler
Details
New crash information added by DrKonqi (33.53 KB, patch)
2020-10-15 07:04 UTC, aleprezio2
Details
New crash information added by DrKonqi (8.16 KB, text/plain)
2021-09-15 17:27 UTC, redlefbraamhaar
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandr 2019-12-07 11:25:40 UTC
Application: plasmashell (5.17.4)

Qt Version: 5.13.2
Frameworks Version: 5.64.0
Operating System: Linux 5.0.0-37-generic x86_64
Distribution: KDE neon User Edition 5.17

-- Information about the crash:
- What I was doing when the application crashed:
1) I minimized the VmWare Workstation Pro 15.5 virtual machine from full screen mode
2) Opened the widget "Application Launch Menu"
3) Started typing “muon” (But only “mu” was entered)
After that, the environment freezes.
To restore performance, I deployed and rolled back the VM.
The second time the search works.

- Unusual behavior I noticed:
You cannot enter anything else into the search or use the application launcher menu or taskbar in any way.
It helped me move the mouse to the upper left corner to view open windows.

- Custom settings of the application:
Locale ru-RU_UTF-8
Modern application launcher menu
Time: show seconds
Taskbar (with icons and window names)
Calculator witget on panel

Touchscreen connected and not used on this test

The crash can be reproduced sometimes.

-- Backtrace (Reduced):
#7  0x00007fe5bfbb3af0 in QQmlPropertyCache::callJSFactoryMethod (args=0x7ffcf656ab90, object=0x562cc13f1900, this=0x7fe58c008bf0) at ../../include/QtQml/5.13.2/QtQml/private/../../../../../src/qml/qml/qqmlpropertycache_p.h:875
#8  QV4::QObjectWrapper::create (engine=<optimized out>, engine@entry=0x562cbe04b2b0, object=object@entry=0x562cc13f1900) at jsruntime/qv4qobjectwrapper.cpp:691
#9  0x00007fe5bfbb5e49 in QV4::QObjectWrapper::wrap_slowPath (engine=0x562cbe04b2b0, object=0x562cc13f1900) at jsruntime/qv4qobjectwrapper.cpp:623
#10 0x00007fe5bfb941cb in QV4::QObjectWrapper::wrap (engine=engine@entry=0x562cbe04b2b0, object=<optimized out>) at ../../include/QtQml/5.13.2/QtQml/private/../../../../../src/qml/jsruntime/qv4qobjectwrapper_p.h:224
#11 0x00007fe5bfc3204c in QV4::ExecutionEngine::fromVariant (this=this@entry=0x562cbe04b2b0, variant=...) at jsruntime/qv4engine.cpp:1524


The reporter indicates this bug may be a duplicate of or related to bug 413170.

Possible duplicates by query: bug 413170, bug 371268, bug 361513, bug 357590, bug 356719.

Reported using DrKonqi
Comment 1 Alexandr 2019-12-07 11:25:41 UTC
Created attachment 124356 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Marco Martin 2019-12-09 17:13:56 UTC
pasting inline

Thread 1 (Thread 0x7fe5c240e800 (LWP 2022)):
[KCrash Handler]
#6  0x0000000000000025 in ?? ()
#7  0x00007fe5bfbb3af0 in QQmlPropertyCache::callJSFactoryMethod (args=0x7ffcf656ab90, object=0x562cc13f1900, this=0x7fe58c008bf0) at ../../include/QtQml/5.13.2/QtQml/private/../../../../../src/qml/qml/qqmlpropertycache_p.h:875
#8  QV4::QObjectWrapper::create (engine=<optimized out>, engine@entry=0x562cbe04b2b0, object=object@entry=0x562cc13f1900) at jsruntime/qv4qobjectwrapper.cpp:691
#9  0x00007fe5bfbb5e49 in QV4::QObjectWrapper::wrap_slowPath (engine=0x562cbe04b2b0, object=0x562cc13f1900) at jsruntime/qv4qobjectwrapper.cpp:623
#10 0x00007fe5bfb941cb in QV4::QObjectWrapper::wrap (engine=engine@entry=0x562cbe04b2b0, object=<optimized out>) at ../../include/QtQml/5.13.2/QtQml/private/../../../../../src/qml/jsruntime/qv4qobjectwrapper_p.h:224
#11 0x00007fe5bfc3204c in QV4::ExecutionEngine::fromVariant (this=this@entry=0x562cbe04b2b0, variant=...) at jsruntime/qv4engine.cpp:1524
#12 0x00007fe5bfbb6199 in loadProperty (v4=0x562cbe04b2b0, object=0x562cc159e530, property=...) at jsruntime/qv4qobjectwrapper.cpp:207
#13 0x00007fe5bfbd3d4e in QV4::Moth::VME::interpret (frame=0x7ffcf656aef0, engine=0x562cbe04b2b0, code=0x7fe5923fa670 "nL") at jsruntime/qv4vme_moth.cpp:707
#14 0x00007fe5bfbd8cc6 in QV4::Moth::VME::exec (frame=frame@entry=0x7ffcf656aef0, engine=engine@entry=0x562cbe04b2b0) at jsruntime/qv4vme_moth.cpp:511
#15 0x00007fe5bfb681ec in QV4::Function::call (this=this@entry=0x562cc155cf50, thisObject=thisObject@entry=0x7fe59fbc14e8, argv=argv@entry=0x7fe59fbc1500, argc=<optimized out>, context=<optimized out>) at jsruntime/qv4function.cpp:69
#16 0x00007fe5bfcdb447 in QQmlJavaScriptExpression::evaluate (this=this@entry=0x562cc153d7d0, callData=callData@entry=0x7fe59fbc14d0, isUndefined=isUndefined@entry=0x0) at qml/qqmljavascriptexpression.cpp:211
#17 0x00007fe5bfc80fb9 in QQmlBoundSignalExpression::evaluate (this=this@entry=0x562cc153d7d0, a=a@entry=0x0) at qml/qqmlboundsignal.cpp:225
#18 0x00007fe5bfc8233b in QQmlBoundSignal_callback (e=0x562cc1545040, a=0x0) at qml/qqmlboundsignal.cpp:358
#19 0x00007fe5bfcbbc42 in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=a@entry=0x0) at qml/qqmlnotifier.cpp:104
#20 0x00007fe5bfc62f99 in QQmlData::signalEmitted (object=0x562cbfefdaa0, index=<optimized out>, a=0x0) at qml/qqmlengine.cpp:887
#21 0x00007fe5bc44f0f7 in QMetaObject::activate (sender=sender@entry=0x562cbfefdaa0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3678
#22 0x00007fe5bc44ff97 in QMetaObject::activate (sender=sender@entry=0x562cbfefdaa0, m=m@entry=0x7fe57563e7c0 <RunnerModel::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3660
#23 0x00007fe57541b670 in RunnerModel::countChanged (this=this@entry=0x562cbfefdaa0) at ./obj-x86_64-linux-gnu/applets/kicker/kickerplugin_autogen/7RBZBFH7CH/moc_runnermodel.cpp:310
#24 0x00007fe57540b48f in RunnerModel::matchesChanged (this=0x562cbfefdaa0, matches=...) at ./applets/kicker/plugin/runnermodel.cpp:244
#25 0x00007fe57541f119 in RunnerModel::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at ./obj-x86_64-linux-gnu/applets/kicker/kickerplugin_autogen/7RBZBFH7CH/moc_runnermodel.cpp:153
#26 0x00007fe5bc44f8d5 in QMetaObject::activate (sender=sender@entry=0x562cbe6e02c0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=<optimized out>, argv@entry=0x7ffcf656ced0) at kernel/qobject.cpp:3809
#27 0x00007fe5bc44ff97 in QMetaObject::activate (sender=sender@entry=0x562cbe6e02c0, m=m@entry=0x7fe574aea8a0 <Plasma::RunnerManager::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffcf656ced0) at kernel/qobject.cpp:3660
#28 0x00007fe5748db232 in Plasma::RunnerManager::matchesChanged (this=this@entry=0x562cbe6e02c0, _t1=...) at ./obj-x86_64-linux-gnu/src/KF5Runner_autogen/include/moc_runnermanager.cpp:196
#29 0x00007fe5748df433 in Plasma::RunnerManagerPrivate::jobDone (job=..., this=0x562cc10ed4e0) at ./src/runnermanager.cpp:354
#30 Plasma::RunnerManager::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at ./obj-x86_64-linux-gnu/src/KF5Runner_autogen/include/moc_runnermanager.cpp:128
#31 0x00007fe5bc450432 in QObject::event (this=0x562cbe6e02c0, e=<optimized out>) at kernel/qobject.cpp:1260
#32 0x00007fe5bdd89eac in QApplicationPrivate::notify_helper (this=this@entry=0x562cbddddf80, receiver=receiver@entry=0x562cbe6e02c0, e=e@entry=0x562cc1551b60) at kernel/qapplication.cpp:3703
Comment 3 roger herz-fischler 2019-12-09 19:34:06 UTC
Created attachment 124406 [details]
long freeze while switching desktops
Comment 4 roger herz-fischler 2019-12-09 19:36:39 UTC
Created attachment 124407 [details]
simple search in kwrite

note how there is little cpu usage, but that the total usage is 100%
Comment 5 roger herz-fischler 2019-12-09 19:37:16 UTC
Created attachment 124408 [details]
double peak just opening open office
Comment 6 roger herz-fischler 2019-12-09 19:42:58 UTC
I have just attached three snapshots, but I have  other snapshots showing freezing for different operations over a few months period.

That it is the newest version of plasma that is at fault is virtually (no pun intended) assured by the fact that since I reinstalled Mageia version 6.1 I have not experienced these problems.

At first I thought the problem was with the chipset, but the problems persisted even though I had the chipset replaced.
Comment 7 David Edmundson 2020-08-07 12:40:57 UTC
*** Bug 425068 has been marked as a duplicate of this bug. ***
Comment 8 aleprezio2 2020-10-15 07:04:19 UTC
Created attachment 132379 [details]
New crash information added by DrKonqi

plasmashell (5.18.5) using Qt 5.13.2

- What I was doing when the application crashed:

I was searching "vlc" in  the app launcher, then I canceld the search term and, when hovering over the apps in the launcher plasma freezed & crashed.

- Unusual behavior I noticed:

Just a little freeze before the crash, I think that's expectable.

-- Backtrace (Reduced):
#5  0x00007f21004d4b3b in QQmlData::createPropertyCache(QJSEngine*, QObject*) () from /lib64/libQt5Qml.so.5
#6  0x00007f21004174ab in QV4::QObjectWrapper::create(QV4::ExecutionEngine*, QObject*) () from /lib64/libQt5Qml.so.5
#7  0x00007f21004193d3 in QV4::QObjectWrapper::wrap_slowPath(QV4::ExecutionEngine*, QObject*) () from /lib64/libQt5Qml.so.5
#8  0x00007f21004a04dc in QV4::ExecutionEngine::fromVariant(QVariant const&) () from /lib64/libQt5Qml.so.5
#9  0x00007f2100419a87 in loadProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData const&) () from /lib64/libQt5Qml.so.5
Comment 9 Nate Graham 2021-02-22 21:10:20 UTC
*** Bug 419154 has been marked as a duplicate of this bug. ***
Comment 10 Nate Graham 2021-02-22 21:11:23 UTC
*** Bug 433397 has been marked as a duplicate of this bug. ***
Comment 11 Nate Graham 2021-02-22 21:12:39 UTC

*** This bug has been marked as a duplicate of bug 419154 ***
Comment 12 Nate Graham 2021-02-22 21:14:39 UTC
*** Bug 413170 has been marked as a duplicate of this bug. ***
Comment 13 Nate Graham 2021-02-22 21:15:13 UTC
*** Bug 415433 has been marked as a duplicate of this bug. ***
Comment 14 Nate Graham 2021-02-22 21:15:21 UTC
*** Bug 416933 has been marked as a duplicate of this bug. ***
Comment 15 Nate Graham 2021-02-22 21:15:30 UTC
*** Bug 420705 has been marked as a duplicate of this bug. ***
Comment 16 Nate Graham 2021-02-22 21:16:14 UTC
*** Bug 419154 has been marked as a duplicate of this bug. ***
Comment 17 Nate Graham 2021-02-22 21:17:07 UTC
*** Bug 404796 has been marked as a duplicate of this bug. ***
Comment 18 Nate Graham 2021-02-22 21:17:31 UTC
*** Bug 404845 has been marked as a duplicate of this bug. ***
Comment 19 Nate Graham 2021-02-22 21:17:57 UTC
*** Bug 404871 has been marked as a duplicate of this bug. ***
Comment 20 Nate Graham 2021-02-22 21:18:13 UTC
*** Bug 410232 has been marked as a duplicate of this bug. ***
Comment 21 Nate Graham 2021-02-22 21:18:28 UTC
*** Bug 413400 has been marked as a duplicate of this bug. ***
Comment 22 Nate Graham 2021-02-22 21:18:45 UTC
*** Bug 414085 has been marked as a duplicate of this bug. ***
Comment 23 Nate Graham 2021-02-22 21:19:02 UTC
*** Bug 415233 has been marked as a duplicate of this bug. ***
Comment 24 Nate Graham 2021-02-22 21:19:58 UTC
*** Bug 417975 has been marked as a duplicate of this bug. ***
Comment 25 Nate Graham 2021-02-22 21:20:08 UTC
*** Bug 418969 has been marked as a duplicate of this bug. ***
Comment 26 Nate Graham 2021-02-22 21:20:29 UTC
*** Bug 405861 has been marked as a duplicate of this bug. ***
Comment 27 Nate Graham 2021-02-22 21:21:28 UTC
*** Bug 430909 has been marked as a duplicate of this bug. ***
Comment 28 Nate Graham 2021-02-22 21:23:12 UTC
No duplicate bug reports from Plasma 5.19 or later. Very likely already fixed.

5.18 is still experiencing this and is an LTS version, but I'm not optimistic about the possibility of finding what fixed the crash and backporting it. :(
Comment 29 Ivan 2021-02-23 05:02:26 UTC
I guess, people disabled this functionality or eve deleted kde and this is the reason why you don't have any reports anymore 😅
Comment 30 Mikel Johnson 2021-02-23 09:01:52 UTC
> No duplicate bug reports from Plasma 5.19 or later. Very likely already fixed.
430909?
Comment 31 Nate Graham 2021-02-23 14:15:36 UTC
Darn, missed that one. Thanks. Removing tag and raising priority.
Comment 32 Nate Graham 2021-03-02 19:21:18 UTC
*** Bug 433705 has been marked as a duplicate of this bug. ***
Comment 33 Nate Graham 2021-03-08 23:08:13 UTC
*** Bug 418059 has been marked as a duplicate of this bug. ***
Comment 34 Nate Graham 2021-04-30 17:45:59 UTC
*** Bug 436397 has been marked as a duplicate of this bug. ***
Comment 35 Nate Graham 2021-06-08 21:04:03 UTC
*** Bug 437802 has been marked as a duplicate of this bug. ***
Comment 36 Nate Graham 2021-06-15 21:50:11 UTC
*** Bug 438669 has been marked as a duplicate of this bug. ***
Comment 37 Nate Graham 2021-08-11 14:56:48 UTC
*** Bug 440850 has been marked as a duplicate of this bug. ***
Comment 38 redlefbraamhaar 2021-09-15 17:27:34 UTC
Created attachment 141563 [details]
New crash information added by DrKonqi

plasmashell (5.22.5) using Qt 5.15.2

- What I was doing when the application crashed:

Typing something in the search bar of the start menu

-- Backtrace (Reduced):
#6  QQmlData::wasDeleted(QObject const*) (object=0x7fd74c078520) at ../../include/QtQml/5.15.2/QtQml/private/../../../../../../src/qml/qml/qqmldata_p.h:342
#7  QQmlData::wasDeleted(QObject const*) (object=0x7fd74c078520) at ../../include/QtQml/5.15.2/QtQml/private/../../../../../../src/qml/qml/qqmldata_p.h:332
#8  QV4::QObjectWrapper::wrap(QV4::ExecutionEngine*, QObject*) (object=0x7fd74c078520, engine=0x55cff001a1b0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.3.x86_64/src/qml/jsruntime/qv4qobjectwrapper_p.h:213
#9  QV4::ExecutionEngine::fromVariant(QVariant const&) (this=0x55cff001a1b0, variant=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.3.x86_64/src/qml/jsruntime/qv4engine.cpp:1710
#10 0x00007fd760e71c92 in loadProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData const&) (v4=0x55cff001a1b0, object=0x55cff3b51400, property=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.3.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:205
Comment 39 Nate Graham 2021-10-17 22:17:05 UTC
*** Bug 443825 has been marked as a duplicate of this bug. ***
Comment 40 Arjen Hiemstra 2022-09-20 13:06:42 UTC
Git commit 1477ee66f64929a04ea096b5f1e9d73b2a4bb380 by Arjen Hiemstra.
Committed on 20/09/2022 at 12:54.
Pushed by ahiemstra into branch 'master'.

kickerplugin: Only emit countChanged() once when processing matches

Currently, we can emit countChanged() multiple times which potentially
leads to problems, especially when a view is also processing row
changes.

M  +14   -4    applets/kicker/plugin/runnermodel.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/1477ee66f64929a04ea096b5f1e9d73b2a4bb380
Comment 41 Arjen Hiemstra 2022-09-20 13:27:53 UTC
Git commit 287809fe0a51c8dc862469d060f1e23a367b010e by Arjen Hiemstra.
Committed on 20/09/2022 at 13:27.
Pushed by ahiemstra into branch 'Plasma/5.26'.

kickerplugin: Only emit countChanged() once when processing matches

Currently, we can emit countChanged() multiple times which potentially
leads to problems, especially when a view is also processing row
changes.

M  +14   -4    applets/kicker/plugin/runnermodel.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/287809fe0a51c8dc862469d060f1e23a367b010e
Comment 42 Nate Graham 2022-09-20 16:33:01 UTC
We think that patch may fix it, but it's hard to tell since no one could consistently reproduce the issue. I'm going to mark this as resolved now, but if anyone gets a new crash in RunnerModel::matchesChanged() while searching while using Plasma 5.26 or later, please do feel free to re-open it! But only if your crash has that line in the backtrace please. Thanks!