Bug 502874 - krunner crashes in KProtocolInfoFactory::findProtocol()
Summary: krunner crashes in KProtocolInfoFactory::findProtocol()
Status: REPORTED
Alias: None
Product: frameworks-kio
Classification: Frameworks and Libraries
Component: Places (other bugs)
Version First Reported In: 6.12.0
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: KIO Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-04-16 10:19 UTC by Cherkah
Modified: 2025-10-04 13:29 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
krunner_dump (22.82 KB, text/plain)
2025-04-16 10:19 UTC, Cherkah
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Cherkah 2025-04-16 10:19:22 UTC
Created attachment 180311 [details]
krunner_dump

SUMMARY
I found a crash log for Krunner.
I don't know why because I don't use the app. I've had three crashes since the beginning of the week. They appear in my logs when I log in. See the attached file.

STEPS TO REPRODUCE
1.  at session start


OBSERVED RESULT
crash log

EXPECTED RESULT


SOFTWARE/OS VERSIONS
Operating System: EndeavourOS 
KDE Plasma Version: 6.3.4
KDE Frameworks Version: 6.12.0
Qt Version: 6.9.0
Kernel Version: 6.14.2-arch1-1 (64-bit)
Graphics Platform: Wayland
Memory: 31.3 Gio of RAM
Graphics Processor: NVIDIA GeForce GTX 1650


ADDITIONAL INFORMATION
Interesting fact: When I searched for the Krunner version in the terminal to enter it for this report, I got:
krunner --version
krunner 6.3.4
QThreadStorage: entry 8 destroyed before end of thread 0x5e8d74076d40
QThreadStorage: entry 4 destroyed before end of thread 0x5e8d74076d40
QThreadStorage: entry 3 destroyed before end of thread 0x5e8d74076d40
Comment 1 Nate Graham 2025-04-16 15:51:59 UTC
Here are the relevant parts:

#8  QMutexLocker<QMutex>::QMutexLocker (this=<optimized out>, mutex=<optimized out>, this=<optimized out>, mutex=<optimized out>) at /usr/include/qt6/QtCore/qmutex.h:223
No locals.
#9  KProtocolInfoFactory::findProtocol (this=0x0, protocol=..., updateCacheIfNotfound=updateCacheIfNotfound@entry=true) at /usr/src/debug/kio/kio-6.12.0/src/core/kprotocolinfofactory.cpp:63
        locker = <optimized out>
        filled = <optimized out>
        info = <optimized out>
#10 0x0000786bb434bc26 in KProtocolInfo::protocolClass (_protocol=...) at /usr/src/debug/kio/kio-6.12.0/src/core/kprotocolinfo.cpp:252
        prot = <optimized out>
#11 0x0000786bacf5f3fa in KFilePlacesItem::setBookmark (this=0x786b80037fa0, bookmark=...) at /usr/src/debug/kio/kio-6.12.0/src/filewidgets/kfileplacesitem.cpp:193
        protocol = {d = {d = 0x786b80049fe0, ptr = 0x786b80049ff0 u"file", size = 4}, static _empty = 0 u'\000'}
#12 0x0000786bacf68f46 in KFilePlacesModelPrivate::reloadBookmarks (this=<optimized out>) at /usr/src/debug/kio/kio-6.12.0/src/filewidgets/kfileplacesmodel.cpp:798
        shouldEmit = 254
        currentItems = {<QListSpecialMethods<KFilePlacesItem*>> = {<QListSpecialMethodsBase<KFilePlacesItem*>> = {<No data fields>}, <No data fields>}, d = {d = 0x786b80093c20, ptr = 0x786b80093c30, size = 18}}
        it_i = {i = 0x786b8004e080}
        it_c = {i = 0x786b80093c30}
        end_i = {i = 0x786b8004e0e0}
        end_c = {i = 0x786b80093cc0}


Perhaps it's crashing on bad Places data?
Comment 2 pietz 2025-10-01 15:30:37 UTC
Same here with Plasma 6.4.5:

$ krunner --version
krunner 6.4.5
QThreadStorage: entry 8 destroyed before end of thread 0x5c786c154ae0
QThreadStorage: entry 4 destroyed before end of thread 0x5c786c154ae0
QThreadStorage: entry 3 destroyed before end of thread 0x5c786c154ae0

But a few seconds before it worked. After one "calculating job" in krunner it disappeared (as normal) but denied coming back when I hit the shortcut again.
Comment 3 Kai Uwe Broulik 2025-10-04 13:29:15 UTC
Wonder why KProtocolInfoFactory would be null. It’s a Q_GLOBAL_STATIC