Bug 442970

Summary: Opening a large zip file with kickoff hangs plasmashell and floods systemd journal
Product: [Plasma] plasmashell Reporter: julianalcorn333
Component: Application Launcher (Kickoff) widgetAssignee: David Edmundson <kde>
Status: RESOLVED FIXED    
Severity: normal CC: bharadwaj.raju777, jodr666, kdelibs-bugs-null, mikel5764, nate, noahadvs, plasma-bugs-null, qydwhotmail
Priority: NOR    
Version First Reported In: 5.24.3   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 5.24.4
Sentry Crash Report:

Description julianalcorn333 2021-09-26 08:37:18 UTC
SUMMARY
Opening a archive file with Kickoff will hang plasmashell, and flood the systemd journal for about a minute before opening the file with the default application.

STEPS TO REPRODUCE
1. Create a large (about 1G) archive file (tested with zip and tar.gz)
2. Search for the file in Kickoff
3. Click the file or press enter while it is highlighted

OBSERVED RESULT
Plasmashell freezes for a while with high cpu and ram usage, and the journal also sees high cpu usage. Eventually, plasmashell unfreezes, and the file opens in the archive manager.

EXPECTED RESULT
The file opens in the archive manager as if clicked on in the file explorer

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch Linux 5.14.7-arch1-1
KDE Plasma Version: 5.22.5
KDE Frameworks Version: 5.86.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
The first time I encountered the bug, plasmashell crashed, though I could not reproduce this.

The journal is flooded with thousands of lines like the ones below.

Sep 26 18:20:04 stonefish plasmashell[682]: kf.config.core: "KConfigIni: In file /home/julian/p/large.zip, line 2852783: " "Invalid escape sequence \"\\\u009A\"."
Sep 26 18:20:04 stonefish plasmashell[682]: kf.config.core: "KConfigIni: In file /home/julian/p/large.zip, line 2852783: " "Invalid escape sequence \"\\\u008A\"."
Sep 26 18:20:04 stonefish plasmashell[682]: kf.config.core: "KConfigIni: In file /home/julian/p/large.zip, line 2852783: " "Invalid escape sequence \"\\\u009C\"."
Sep 26 18:20:04 stonefish plasmashell[682]: kf.config.core: "KConfigIni: In file /home/julian/p/large.zip, line 2852784: " Invalid entry (missing '=')
Sep 26 18:20:04 stonefish plasmashell[682]: kf.config.core: "KConfigIni: In file /home/julian/p/large.zip, line 2852785: " Invalid entry (missing '=')
Sep 26 18:20:04 stonefish plasmashell[682]: kf.config.core: "KConfigIni: In file /home/julian/p/large.zip, line 2852787: " Invalid entry (missing ']')
Comment 1 Bharadwaj Raju 2021-09-26 09:09:05 UTC
Can confirm.

Interestingly, doing the same thing from KRunner works fine, no hang.

From the logs it looks like Plasma is trying to interpret the zip file as a config file (???)
Comment 2 Tony 2021-12-21 05:28:49 UTC
Can confirm. 
The freeze happens with all KDE launchers while opening compresed files, it varies a bit depending on the launcher. With one rar files do freeze with another it does not, also any file ~50MB will do it, with smaller files you may not notice it.

You get a bunch of these entries in the journal when it happens.

kf.config.core: "KConfigIni: ......" "Invalid escape sequence
kf.config.core: "KConfigIni: ......"" Invalid entry
Comment 3 Fushan Wen 2022-03-18 01:58:44 UTC
(gdb) bt
#0  QtPrivate::RefCount::deref() (this=0x555580de50d0) at /usr/include/qt5/QtCore/qrefcount.h:68
#1  QByteArray::~QByteArray() (this=0x555580de5320, this=<optimized out>) at /usr/include/qt5/QtCore/qbytearray.h:495
#2  QHashNode<KConfigIniBackend::BufferFragment, QByteArray>::~QHashNode() (this=0x555580de5300, this=<optimized out>)
    at /usr/include/qt5/QtCore/qhash.h:147
#3  QHash<KConfigIniBackend::BufferFragment, QByteArray>::deleteNode2(QHashData::Node*) (node=0x555580de5300)
    at /usr/include/qt5/QtCore/qhash.h:595
#4  0x00007ffff5a9ea0c in QHashData::free_helper(void (*)(QHashData::Node*))
    (this=0x7fffe429c3d0, node_delete=0x7ffff671f690 <QHash<KConfigIniBackend::BufferFragment, QByteArray>::deleteNode2(QHashData::Node*)>) at tools/qhash.cpp:572
#5  0x00007ffff6726c51 in QHash<KConfigIniBackend::BufferFragment, QByteArray>::freeData(QHashData*)
    (x=<optimized out>, this=0x7fffffff8578) at /usr/include/qt5/QtCore/qhash.h:617
#6  QHash<KConfigIniBackend::BufferFragment, QByteArray>::~QHash() (this=0x7fffffff8578, this=<optimized out>)
    at /usr/include/qt5/QtCore/qhash.h:250
#7  QHash<KConfigIniBackend::BufferFragment, QByteArray>::~QHash() (this=0x7fffffff8578, this=<optimized out>)
    at /usr/include/qt5/QtCore/qhash.h:250
#8  KConfigIniBackend::parseConfig(QByteArray const&, KEntryMap&, QFlags<KConfigBackend::ParseOption>, bool)
    (this=<optimized out>, currentLocale=..., entryMap=..., options=..., merging=false)
    at /usr/src/debug/kconfig-5.93.0git.20220313T204602~7206ba3f-ku.2.1.x86_64/src/core/kconfigini.cpp:295
#9  0x00007ffff6711ae5 in KConfigIniBackend::parseConfig(QByteArray const&, KEntryMap&, QFlags<KConfigBackend::ParseOption>)
    (options=..., entryMap=..., currentLocale=..., this=<optimized out>)
    at /usr/src/debug/kconfig-5.93.0git.20220313T204602~7206ba3f-ku.2.1.x86_64/src/core/kconfigini.cpp:64
#10 KConfigPrivate::parseConfigFiles() (this=<optimized out>)
    at /usr/src/debug/kconfig-5.93.0git.20220313T204602~7206ba3f-ku.2.1.x86_64/src/core/kconfig.cpp:794
#11 KConfig::reparseConfiguration() (this=<optimized out>)
    at /usr/src/debug/kconfig-5.93.0git.20220313T204602~7206ba3f-ku.2.1.x86_64/src/core/kconfig.cpp:685
#12 0x00007ffff67296a6 in KDesktopFile::KDesktopFile(QString const&)
    (this=this@entry=0x7fffffff8790, fileName=..., this=<optimized out>, fileName=<optimized out>)
    at /usr/src/debug/kconfig-5.93.0git.20220313T204602~7206ba3f-ku.2.1.x86_64/src/core/kdesktopfile.cpp:56
#13 0x00007ffff748fe4c in KService::KService(QString const&)
--Type <RET> for more, q to quit, c to continue without paging--c
    (this=0x55555874e920, _fullpath=..., this=<optimized out>, _fullpath=<optimized out>) at /usr/src/debug/kservice-5.93.0git.20220313T104704~79b66d0-ku.1.1.x86_64/src/services/kservice.cpp:374
#14 0x00007ffff74973b8 in KServiceFactory::findServiceByStorageId(QString const&) (this=0x5555560a51a0, _storageId=...) at /usr/src/debug/kservice-5.93.0git.20220313T104704~79b66d0-ku.1.1.x86_64/src/services/kservicefactory.cpp:179
#15 0x00007ffff748d397 in KService::serviceByStorageId(QString const&) (_storageId=...) at /usr/src/debug/kservice-5.93.0git.20220313T104704~79b66d0-ku.1.1.x86_64/src/services/kservice.cpp:629
#16 0x00007fff6befc03a in RunnerMatchesModel::trigger(int, QString const&, QVariant const&) (this=0x5555578cb8d0, row=<optimized out>, actionId=..., argument=...) at /usr/src/debug/plasma5-workspace-5.24.80git.20220316T175347~ecc938a66-ku.59.1.x86_64/applets/kicker/plugin/runnermatchesmodel.cpp:171
#17 0x00007fff6becdd92 in RunnerMatchesModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_c=<optimized out>, _id=<optimized out>, _a=0x7fffffff8ab0, _o=0x5555578cb8d0) at /usr/src/debug/plasma5-workspace-5.24.80git.20220316T175347~ecc938a66-ku.59.1.x86_64/build/applets/kicker/kickerplugin_autogen/7RBZBFH7CH/moc_runnermatchesmodel.cpp:80
#18 RunnerMatchesModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_a=0x7fffffff8ab0, _id=0, _c=QMetaObject::InvokeMetaMethod, _o=0x5555578cb8d0) at /usr/src/debug/plasma5-workspace-5.24.80git.20220316T175347~ecc938a66-ku.59.1.x86_64/build/applets/kicker/kickerplugin_autogen/7RBZBFH7CH/moc_runnermatchesmodel.cpp:74
#19 RunnerMatchesModel::qt_metacall(QMetaObject::Call, int, void**) (this=0x5555578cb8d0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffffff8ab0) at /usr/src/debug/plasma5-workspace-5.24.80git.20220316T175347~ecc938a66-ku.59.1.x86_64/build/applets/kicker/kickerplugin_autogen/7RBZBFH7CH/moc_runnermatchesmodel.cpp:130
#20 0x00007ffff728d1cd in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const (this=this@entry=0x7fffffff8d40, type=type@entry=QMetaObject::InvokeMetaMethod, index=<optimized out>, index@entry=65, argv=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/qml/qqmlobjectorgadget.cpp:51
#21 0x00007ffff716c1f0 in CallMethod (callType=<optimized out>, callArgs=0x29, engine=<optimized out>, argTypes=<optimized out>, argCount=<optimized out>, returnType=<optimized out>, index=<optimized out>, object=...) at /usr/include/qt5/QtCore/qvarlengtharray.h:189
#22 CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) (object=..., data=<optimized out>, engine=engine@entry=0x55555591cc20, callArgs=callArgs@entry=0x7fffbc1ab6c0, callType=callType@entry=QMetaObject::InvokeMetaMethod) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:1569
#23 0x00007ffff716dfdb in CallOverloaded (callType=<optimized out>, propertyCache=<optimized out>, callArgs=<optimized out>, engine=<optimized out>, data=<optimized out>, object=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:1645
#24 QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:2133
#25 0x00007ffff718ac43 in QV4::FunctionObject::call(QV4::Value const*, QV4::Value const*, int) const (argc=<optimized out>, argv=<optimized out>, thisObject=<optimized out>, this=<optimized out>) at ../../include/QtQml/5.15.2/QtQml/private/../../../../../../src/qml/jsruntime/qv4functionobject_p.h:202
#26 QV4::Moth::VME::interpret(QV4::CppStackFrame*, QV4::ExecutionEngine*, char const*) (frame=0x7fffffff9000, engine=0x55555591cc20, code=0x7fffbc1ab660 "`fV\267\377\177") at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:754
#27 0x00007ffff718d917 in QV4::Moth::VME::exec(QV4::CppStackFrame*, QV4::ExecutionEngine*) (frame=frame@entry=0x7fffffff9000, engine=engine@entry=0x55555591cc20) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:463
#28 0x00007ffff7120d3e in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) (this=this@entry=0x55555815ba70, thisObject=<optimized out>, argv=argv@entry=0x7fffbc1ab618, argc=<optimized out>, context=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/jsruntime/qv4function.cpp:69
#29 0x00007ffff72a7b45 in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) (this=this@entry=0x55555b81d2f0, callData=callData@entry=0x7fffbc1ab5e8, isUndefined=isUndefined@entry=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/qml/qqmljavascriptexpression.cpp:212
#30 0x00007ffff72598ab in QQmlBoundSignalExpression::evaluate(void**) (this=<optimized out>, a=<optimized out>) at ../../include/QtQml/5.15.2/QtQml/private/../../../../../../src/qml/jsruntime/qv4jscall_p.h:95
#31 0x00007ffff725aa98 in QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) (e=0x55555bac2730, a=0x7fffffffac40) at ../../include/QtQml/5.15.2/QtQml/private/../../../../../../src/qml/qml/qqmlboundsignalexpressionpointer_p.h:69
#32 0x00007ffff728cc75 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) (endpoint=<optimized out>, a=0x7fffffffac40) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/qml/qqmlnotifier.cpp:104
#33 0x00007ffff5c7f068 in doActivate<false>(QObject*, int, void**) (sender=0x55555884fa90, signal_index=11, argv=0x7fffffffac40) at kernel/qobject.cpp:3778
#34 0x00007ffff5c789cf in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x55555884fa90, m=m@entry=0x7ffff058d500 <QQuickAction::staticMetaObject>, local_signal_index=local_signal_index@entry=8, argv=argv@entry=0x7fffffffac40) at kernel/qobject.cpp:3946
#35 0x00007ffff0491862 in QQuickAction::triggered(QObject*) (this=this@entry=0x55555884fa90, _t1=<optimized out>, _t1@entry=0x0) at .moc/moc_qquickaction_p.cpp:363
#36 0x00007ffff0493ef2 in QQuickActionPrivate::trigger(QObject*, bool) (this=0x5555587681c0, source=0x0, doToggle=<optimized out>) at /usr/src/debug/libqt5-qtquickcontrols2-5.15.2+kde10-ku.1.1.x86_64/src/quicktemplates2/qquickaction.cpp:558
#37 0x00007ffff0493fae in QQuickAction::trigger(QObject*) (this=<optimized out>, source=<optimized out>) at /usr/src/debug/libqt5-qtquickcontrols2-5.15.2+kde10-ku.1.1.x86_64/src/quicktemplates2/qquickaction.cpp:539
#38 0x00007ffff049a20b in QQuickAction::qt_metacall(QMetaObject::Call, int, void**) (this=0x55555884fa90, _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0x7fffffffae70) at .moc/moc_qquickaction_p.cpp:283
#39 0x00007ffff728d1cd in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const (this=this@entry=0x7fffffffb0b0, type=type@entry=QMetaObject::InvokeMetaMethod, index=<optimized out>, argv=argv@entry=0x7fffffffae70) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/qml/qqmlobjectorgadget.cpp:51
#40 0x00007ffff716ad4e in CallMethod (callType=QMetaObject::InvokeMetaMethod, callArgs=0x7fffbc1ab5a0, engine=0x55555591cc20, argTypes=0x0, argCount=0, returnType=43, index=<optimized out>, object=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:1319
#41 CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) (object=..., data=..., engine=engine@entry=0x55555591cc20, callArgs=callArgs@entry=0x7fffbc1ab5a0, callType=callType@entry=QMetaObject::InvokeMetaMethod) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:1573
#42 0x00007ffff716dfdb in CallOverloaded (callType=<optimized out>, propertyCache=<optimized out>, callArgs=<optimized out>, engine=<optimized out>, data=<optimized out>, object=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:1645
#43 QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:2133
#44 0x00007ffff718ac43 in QV4::FunctionObject::call(QV4::Value const*, QV4::Value const*, int) const (argc=<optimized out>, argv=<optimized out>, thisObject=<optimized out>, this=<optimized out>) at ../../include/QtQml/5.15.2/QtQml/private/../../../../../../src/qml/jsruntime/qv4functionobject_p.h:202
#45 QV4::Moth::VME::interpret(QV4::CppStackFrame*, QV4::ExecutionEngine*, char const*) (frame=0x7fffffffb370, engine=0x55555591cc20, code=0x7fffbc1ab558 " X\364h\377\177") at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:754
#46 0x00007ffff718d917 in QV4::Moth::VME::exec(QV4::CppStackFrame*, QV4::ExecutionEngine*) (frame=frame@entry=0x7fffffffb370, engine=engine@entry=0x55555591cc20) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:463
#47 0x00007ffff7120d3e in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) (this=this@entry=0x55555815c100, thisObject=<optimized out>, argv=argv@entry=0x7fffbc1ab508, argc=<optimized out>, context=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/jsruntime/qv4function.cpp:69
#48 0x00007ffff72a7b45 in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) (this=this@entry=0x55555ae6c8c0, callData=callData@entry=0x7fffbc1ab4d8, isUndefined=isUndefined@entry=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/qml/qqmljavascriptexpression.cpp:212
#49 0x00007ffff72598ab in QQmlBoundSignalExpression::evaluate(void**) (this=<optimized out>, a=<optimized out>) at ../../include/QtQml/5.15.2/QtQml/private/../../../../../../src/qml/jsruntime/qv4jscall_p.h:95
#50 0x00007ffff725aa98 in QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) (e=0x5555578ab450, a=0x7fffffffcfb0) at ../../include/QtQml/5.15.2/QtQml/private/../../../../../../src/qml/qml/qqmlboundsignalexpressionpointer_p.h:69
#51 0x00007ffff728cc75 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) (endpoint=<optimized out>, a=0x7fffffffcfb0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/qml/qml/qqmlnotifier.cpp:104
#52 0x00007ffff5c7f068 in doActivate<false>(QObject*, int, void**) (sender=0x55555af36d40, signal_index=46, argv=0x7fffffffcfb0) at kernel/qobject.cpp:3778
#53 0x00007ffff5c789cf in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x55555af36d40, m=m@entry=0x7ffff7a61780 <QQuickMouseArea::staticMetaObject>, local_signal_index=local_signal_index@entry=16, argv=argv@entry=0x7fffffffcfb0) at kernel/qobject.cpp:3946
#54 0x00007ffff77dcce2 in QQuickMouseArea::clicked(QQuickMouseEvent*) (this=this@entry=0x55555af36d40, _t1=<optimized out>, _t1@entry=0x55555b717748) at .moc/moc_qquickmousearea_p.cpp:672
#55 0x00007ffff77de577 in QQuickMouseArea::setPressed(Qt::MouseButton, bool, Qt::MouseEventSource) (this=this@entry=0x55555af36d40, button=<optimized out>, p=p@entry=false, source=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/quick/items/qquickmousearea.cpp:1245
#56 0x00007ffff77df6a1 in QQuickMouseArea::mouseReleaseEvent(QMouseEvent*) (this=0x55555af36d40, event=0x7fffffffd450) at /usr/include/qt5/QtGui/qevent.h:132
#57 0x00007ffff7772be8 in QQuickItem::event(QEvent*) (this=0x55555af36d40, ev=0x7fffffffd450) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/quick/items/qquickitem.cpp:8221
#58 0x00007ffff69e8a7f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55555af36d40, e=0x7fffffffd450) at kernel/qapplication.cpp:3632
#59 0x00007ffff5c48e3a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55555af36d40, event=0x7fffffffd450) at kernel/qcoreapplication.cpp:1064
#60 0x00007ffff7790ac5 in QQuickWindowPrivate::deliverMouseEvent(QQuickPointerMouseEvent*) (this=this@entry=0x555555b15160, pointerEvent=0x55555af06b30) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/quick/items/qquickwindow.cpp:2019
#61 0x00007ffff77922bb in QQuickWindowPrivate::deliverPointerEvent(QQuickPointerEvent*) (this=0x555555b15160, event=0x55555af06b30) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.1.1.x86_64/src/quick/items/qquickwindow.cpp:2611
#62 0x00007ffff60b1645 in QWindow::event(QEvent*) (this=0x555557601560, ev=<optimized out>) at kernel/qwindow.cpp:2438
#63 0x00007ffff69e8a7f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x555557601560, e=0x7fffffffd450) at kernel/qapplication.cpp:3632
#64 0x00007ffff5c48e3a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555557601560, event=0x7fffffffd450) at kernel/qcoreapplication.cpp:1064
#65 0x00007ffff60a5627 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (e=0x7fffe4049740) at kernel/qguiapplication.cpp:2282
#66 0x00007ffff607b85c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#67 0x00007ffff10afe0a in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=source@entry=0x5555556fde00) at qxcbeventdispatcher.cpp:105
#68 0x00007ffff3f91e22 in g_main_dispatch (context=0x7fffec005010) at ../glib/gmain.c:3381
#69 g_main_context_dispatch (context=0x7fffec005010) at ../glib/gmain.c:4099
#70 0x00007ffff3f921b8 in g_main_context_iterate (context=context@entry=0x7fffec005010, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4175
#71 0x00007ffff3f9226f in g_main_context_iteration (context=0x7fffec005010, may_block=1) at ../glib/gmain.c:4240
#72 0x00007ffff5ca0384 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x555555709510, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#73 0x00007ffff5c4783b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffd780, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#74 0x00007ffff5c4fb10 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#75 0x00007ffff609925c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1867
#76 0x00007ffff69e89f5 in QApplication::exec() () at kernel/qapplication.cpp:2824
#77 0x000055555557b14b in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma5-workspace-5.24.80git.20220316T175347~ecc938a66-ku.59.1.x86_64/shell/main.cpp:243
Comment 4 Bug Janitor Service 2022-03-18 03:17:52 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1574
Comment 5 Fushan Wen 2022-03-18 11:00:58 UTC
Git commit f984425b657abb723c0334dc9115b8c12a10059e by Fushan Wen.
Committed on 18/03/2022 at 10:58.
Pushed by fusionfuture into branch 'master'.

applets/kicker: Skip creating KService for non-desktop files or folders

When creating a new KService, it will try to read the file as a desktop
file, but if the file is a large non-desktop file, it will hang for a
long time.

Verify the file is a desktop file, and if not, skip creating KService
and run the match directly.
FIXED-IN: 5.24.4

M  +23   -19   applets/kicker/plugin/runnermatchesmodel.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/f984425b657abb723c0334dc9115b8c12a10059e
Comment 6 Fushan Wen 2022-03-18 11:02:06 UTC
Git commit f1e9fd1f832b129ebefc09802cf09af8f0714429 by Fushan Wen.
Committed on 18/03/2022 at 11:02.
Pushed by fusionfuture into branch 'Plasma/5.24'.

applets/kicker: Skip creating KService for non-desktop files or folders

When creating a new KService, it will try to read the file as a desktop
file, but if the file is a large non-desktop file, it will hang for a
long time.

Verify the file is a desktop file, and if not, skip creating KService
and run the match directly.
FIXED-IN: 5.24.4


(cherry picked from commit f984425b657abb723c0334dc9115b8c12a10059e)

M  +23   -19   applets/kicker/plugin/runnermatchesmodel.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/f1e9fd1f832b129ebefc09802cf09af8f0714429
Comment 7 Bug Janitor Service 2022-05-17 11:39:26 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1612