Bug 390894 - KRunner SIGSEV while typing
Summary: KRunner SIGSEV while typing
Status: RESOLVED UNMAINTAINED
Alias: None
Product: krunner
Classification: Plasma
Component: general (show other bugs)
Version: 5.11.5
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Kai Uwe Broulik
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-02-22 09:32 UTC by Clemens Eisserer
Modified: 2020-10-13 21:15 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Clemens Eisserer 2018-02-22 09:32:09 UTC
https://bugzilla.redhat.com/show_bug.cgi?id=1547909

Thread 1 (Thread 0x7f34fffff700 (LWP 24472)):
#0  __GI_raise (sig=sig@entry=11) at ../sysdeps/unix/sysv/linux/raise.c:51
        set = {__val = {0, 5568977996435677184, 139865475803720, 139867602828227, 1, 139867518599894, 206158430240, 139865609984400, 139865609984192, 5568977996435677184, 1256, 0, 0, 0, 0, 0}}
        pid = <optimized out>
        tid = <optimized out>
#1  0x00007f3576c841df in KCrash::defaultCrashHandler (sig=11) at /usr/src/debug/kf5-kcrash-5.42.0-1.fc27.x86_64/src/kcrash.cpp:432
        argv = {0x0 <repeats 29 times>}
        i = <optimized out>
        platformName = {d = 0x0}
        about = <optimized out>
        sigtxt = "\000\000\000\000\000\000\000\000\000"
        pidtxt = '\000' <repeats 19 times>
        startupId = {d = 0x0}
        crashRecursionCounter = 2
#2  <signal handler called>
No locals.
#3  tcache_get (tc_idx=<optimized out>) at malloc.c:2943
        e = 0xffffffff
#4  __GI___libc_malloc (bytes=24) at malloc.c:3044
        ar_ptr = <optimized out>
        victim = <optimized out>
        hook = <optimized out>
#5  0x00007f35728d554c in QListData::detach (this=0x7f34ffffe110, alloc=1) at tools/qlist.cpp:120
        x = 0x7f3572ad52e0 <QListData::shared_null>
        t = <optimized out>
#6  0x00007f35729ba745 in QList<unsigned char*>::detach_helper (alloc=<optimized out>, this=0x7f34ffffe110) at ../../include/QtCore/../../src/corelib/tools/qlist.h:786
        x = <optimized out>
#7  QList<unsigned char*>::reserve (alloc=<optimized out>, this=0x7f34ffffe110) at ../../include/QtCore/../../src/corelib/tools/qlist.h:572
No locals.
#8  QHash<unsigned char*, QPair<int, unsigned long> >::keys (this=this@entry=0x7f34f800a728) at ../../include/QtCore/../../src/corelib/tools/qhash.h:655
        res = {<QListSpecialMethods<unsigned char*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f3572ad52e0 <QListData::shared_null>}, d = 0x7f3572ad52e0 <QListData::shared_null>}}
        i = <optimized out>
#9  0x00007f35729ba092 in QFSFileEnginePrivate::unmapAll (this=this@entry=0x7f34f800a6b0) at io/qfsfileengine.cpp:467
        keys = {<QListSpecialMethods<unsigned char*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f3572ad52e0 <QListData::shared_null>}, d = 0x7f3572ad52e0 <QListData::shared_null>}}
#10 0x00007f35729ba140 in QFSFileEngine::~QFSFileEngine (this=0x7f34f8005030, __in_chrg=<optimized out>) at io/qfsfileengine.cpp:180
        d = 0x7f34f800a6b0
#11 0x00007f35729ba189 in QFSFileEngine::~QFSFileEngine (this=0x7f34f8005030, __in_chrg=<optimized out>) at io/qfsfileengine.cpp:181
No locals.
#12 0x00007f3572975a80 in QFileDevicePrivate::~QFileDevicePrivate (this=0x7f34f80070d0, __in_chrg=<optimized out>) at io/qfiledevice.cpp:65
No locals.
Comment 1 Kai Uwe Broulik 2018-02-22 09:37:30 UTC
Crahsed in/caused by WindowedWidgetsRunner:

WindowedWidgetsRunner → Plasma::PluginLoader::listAppletMetaData → KPackage::PackageLoader::loadPackageStructure → KPluginLoader::forEachPlugin → KPluginMetaData::KPluginMetaData → QPluginLoader::QPluginLoader → QPluginLoader::setFileName → ... QFile cleanup stuff → boom.

Do we have a concurrency issue here?

#24 std::_Function_handler<void(const QString&), KPluginLoader::findPlugins(const QString&, std::function<bool(const KPluginMetaData&)>)::<lambda(const QString&)> >::_M_invoke(const std::_Any_data &, const QString &) (__functor=..., __args#0=...) at /usr/include/c++/7/bits/std_function.h:316
No locals.
#25 0x00007f357359422f in std::function<void (QString const&)>::operator()(QString const&) const (__args#0=..., this=0x7f34ffffe580) at /usr/include/c++/7/bits/std_function.h:706
No locals.
#26 KPluginLoader::forEachPlugin(QString const&, std::function<void (QString const&)>) (directory=..., callback=...) at /usr/src/debug/kf5-kcoreaddons-5.42.0-1.fc27.x86_64/src/lib/plugin/kpluginloader.cpp:257
        it = {d = {d = 0x7f34f8006760}}
        _container_ = {c = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f34f800ccc0}, d = 0x7f34f800ccc0}}, <No data fields>}, i = {i = 0x7f34f800ccd0}, e = {i = 0x7f34f800ccd8}, control = 1}
        dirsToCheck = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f34f800ccc0}, d = 0x7f34f800ccc0}}, <No data fields>}
#27 0x00007f3573594534 in KPluginLoader::findPlugins(QString const&, std::function<bool (KPluginMetaData const&)>) (directory=..., filter=...) at /usr/src/debug/kf5-kcoreaddons-5.42.0-1.fc27.x86_64/src/lib/plugin/kpluginloader.cpp:266
        ret = {d = 0x7f34f8002df0}
#28 0x00007f35754573a9 in KPackage::PackageLoader::loadPackageStructure (this=this@entry=0x5597474dc7e0, packageFormat=...) at /usr/src/debug/kf5-kpackage-5.42.0-1.fc27.x86_64/src/kpackage/packageloader.cpp:343
        plugins = {d = 0x7f34f8002df0}
        iter = {c = {d = 0x7f34ffffe750}, i = 0x46783e000}
        _ixfile = @0x7f34ffffe638: {static null = {<No data fields>}, d = 0x7f34f8003e00}
        indexFile = {<QIODevice> = {<QObject> = {_vptr.QObject = 0x7f356e137900 <vtable for KCompressionDevice+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7f3572b94340 <qt_meta_stringdata_QObject>, data = 0x7f3572b94220 <qt_meta_data_QObject>, static_metacall = 0x7f3572a68d90 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x7f34f8003a00}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7f3572b96fe0 <qt_meta_stringdata_Qt>, data = 0x7f3572b94460 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7f3572e7d280 <QObject::staticMetaObject>, stringdata = 0x7f3572b7f5a0 <qt_meta_stringdata_QIODevice>, data = 0x7f3572b7f4a0 <qt_meta_data_QIODevice>, static_metacall = 0x7f357297bb60 <QIODevice::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, d = 0x7f34f80065a0}
        _container_ = {c = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f34f8005250}, d = 0x7f34f8005250}}, <No data fields>}, i = {i = 0x7f34f8005260}, e = {i = 0x7f34f8005270}, control = 1}
        structure = 0x0
        libraryPaths = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f34f8005250}, d = 0x7f34f8005250}}, <No data fields>}
        subDirectory = {static null = {<No data fields>}, d = 0x7f3575463f40 <KPackage::PackageLoader::loadPackageStructure(QString const&)::{lambda()#3}::operator()() const::qstring_literal>}
        pluginFileName = {static null = {<No data fields>}, d = 0x7f3572ad3460 <QArrayData::shared_null>}
        error = {static null = {<No data fields>}, d = 0x7f34ffffe740}
#29 0x00007f3575459726 in KPackage::PackageLoader::listPackages (this=this@entry=0x5597474dc7e0, packageFormat=..., packageRoot=...) at /usr/src/debug/kf5-kpackage-5.42.0-1.fc27.x86_64/src/kpackage/packageloader.cpp:200
        structure = 0x0
        useRuntimeCache = true
        cacheKey = {static null = {<No data fields>}, d = 0x7f34f8005790}
        lst = {<QListSpecialMethods<KPluginMetaData>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f3572ad52e0 <QListData::shared_null>}, d = 0x7f3572ad52e0 <QListData::shared_null>}}
        actualRoot = {static null = {<No data fields>}, d = 0x7f3572ad3460 <QArrayData::shared_null>}
        uniqueIds = {q_hash = {{d = 0x7f34ffffe880, e = 0x7f34ffffe880}}}
        paths = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x4d48fbfb6783e000}, d = 0x4d48fbfb6783e000}}, <No data fields>}
#30 0x00007f3575459807 in KPackage::PackageLoader::findPackages(QString const&, QString const&, std::function<bool (KPluginMetaData const&)>) (this=this@entry=0x5597474dc7e0, packageFormat=..., packageRoot=..., filter=...) at /usr/src/debug/kf5-kpackage-5.42.0-1.fc27.x86_64/src/kpackage/packageloader.cpp:286
        _container_ = {c = {<QListSpecialMethods<KPluginMetaData>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f34f8005790}, d = 0x7f34f8005790}}, i = {i = 0x7f34ffffe9e0}, e = {i = 0x10}, control = -5600}
        lst = {<QListSpecialMethods<KPluginMetaData>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f3572ad52e0 <QListData::shared_null>}, d = 0x7f3572ad52e0 <QListData::shared_null>}}
#31 0x00007f35765082bc in Plasma::PluginLoader::listAppletMetaData (this=0x559747b51140, category=..., parentApp=...) at /usr/src/debug/kf5-plasma-5.42.0-1.fc27.x86_64/src/plasma/pluginloader.cpp:521
        filter = {<std::_Maybe_unary_or_binary_function<bool, KPluginMetaData const&>> = {<std::unary_function<KPluginMetaData const&, bool>> = {<No data fields>}, <No data fields>}, <std::_Function_base> = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7f34f8006510, _M_const_object = 0x7f34f8006510, _M_function_pointer = 0x7f34f8006510, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7f34f8006510, this adjustment 6}, _M_pod_data = "\020e\000\370\064\177\000\000\006\000\000\000\000\000\000"}, _M_manager = 0x7f3576502700 <std::_Function_base::_Base_manager<Plasma::PluginLoader::listAppletMetaData(const QString&, const QString&)::<lambda(const KPluginMetaData&)> >::_M_manager(std::_Any_data &, const std::_Any_data &, enum std::_Manager_operation)>}, _M_invoker = 0x7f35765010f0 <std::_Function_handler<bool(const KPluginMetaData&), Plasma::PluginLoader::listAppletMetaData(const QString&, const QString&)::<lambda(const KPluginMetaData&)> >::_M_invoke(const std::_Any_data &, const KPluginMetaData &)>}
        list = {<QListSpecialMethods<KPluginMetaData>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f3572ad52e0 <QListData::shared_null>}, d = 0x7f3572ad52e0 <QListData::shared_null>}}
#32 0x00007f3518133df0 in WindowedWidgetsRunner::match (this=0x559747a31cd0, context=...) at /usr/src/debug/plasma-workspace-5.11.5-3.fc27.x86_64/runners/windowedwidgets/windowedwidgetsrunner.cpp:63
Comment 2 Alexander Lohnau 2020-10-13 21:15:17 UTC
Just as in the mentioned bug report said, the specific version is unmaintained.