Created attachment 153649 [details] Results shown by krunner when the crash happens SUMMARY When searching in krunner, baloorunner crashes. STEPS TO REPRODUCE When searching for the term "heroic" this happens most of the time, but not always. This also happens for other search terms, but way less often. I've attached a screenshot of krunners search results in case this is relevant. COREDUMPCTL BACKTRACE #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007f4ff24a16b3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #2 0x00007f4ff2451958 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 #3 0x00007f4ff2f3c868 in KCrash::defaultCrashHandler (sig=6) at /usr/src/debug/kcrash-5.99.0/src/kcrash.cpp:633 #4 <signal handler called> #5 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #6 0x00007f4ff24a16b3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #7 0x00007f4ff2451958 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 #8 <signal handler called> #9 0x00007f4ff25140bf in __GI___poll (fds=0x7f4fe80053e0, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #10 0x00007f4ff16c41df in g_main_context_poll (priority=<optimized out>, n_fds=3, fds=0x7f4fe80053e0, timeout=<optimized out>, context=0x7f4fe8001cf0) at ../glib/glib/gmain.c:4543 #11 g_main_context_iterate.constprop.0 (context=0x7f4fe8001cf0, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4233 #12 0x00007f4ff166c132 in g_main_context_iteration (context=0x7f4fe8001cf0, may_block=1) at ../glib/glib/gmain.c:4303 #13 0x00007f4ff2cd7c4c in QEventDispatcherGlib::processEvents (this=0x7f4fe8000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #14 0x00007f4ff2c8573c in QEventLoop::exec (this=0x7f4fed9eead0, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #15 0x00007f4ff2ae721f in QThread::exec (this=this@entry=0x7f4ff3f69560 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #16 0x00007f4ff3f0dcba in QDBusConnectionManager::run (this=0x7f4ff3f69560 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /usr/src/debug/qt5-base/qtbase/src/dbus/qdbusconnection.cpp:179 #17 0x00007f4ff2ae42ea in QThreadPrivate::start (arg=0x7f4ff3f69560 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:330 #18 0x00007f4ff249f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442 #19 0x00007f4ff2521a60 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 5.26.3 KDE Frameworks Version: 5.99.0 Qt Version: 5.15.7 Kernel Version: 6.0.7-arch1-1 (64-bit) Graphics Platform: X11/Wayland (happens on both)
BACKTRACE I unfortunately didn't find a way to get useful output in lines 4 & 5, even though debuginfod is installed and working. Breakpoint 2 at 0x7ffff62a5f80: file /usr/src/debug/gcc/libstdc++-v3/libsupc++/eh_throw.cc, line 80. Breakpoint 3 at 0x7ffff62a5fd0: file /usr/src/debug/gcc/libstdc++-v3/libsupc++/eh_throw.cc, line 103. Continuing. [New Thread 0x7ffff16b76c0 (LWP 6997)] [New Thread 0x7ffff0eb66c0 (LWP 6998)] Thread 1 "baloorunner" received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0; #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007ffff60a16b3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #2 0x00007ffff6051958 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007ffff603b53d in __GI_abort () at abort.c:79 #4 0x00007ffff5455624 in ?? () from /usr/lib/liblmdb.so #5 0x00007ffff544c5d9 in ?? () from /usr/lib/liblmdb.so #6 0x00007ffff544ae63 in mdb_cursor_get () from /usr/lib/liblmdb.so #7 0x00007ffff72cd08e in Baloo::PostingDB::iter<Baloo::PostingDB::prefixIter(const QByteArray&)::<lambda(const QByteArray&)> > (this=0x7fffffffd110, validate=..., prefix=...) at /usr/src/debug/baloo-5.99.0/src/engine/postingdb.cpp:226 #8 Baloo::PostingDB::prefixIter (this=this@entry=0x7fffffffd100, prefix=...) at /usr/src/debug/baloo-5.99.0/src/engine/postingdb.cpp:246 #9 0x00007ffff72d032b in Baloo::Transaction::postingIterator (this=this@entry=0x7fffffffd590, query=...) at /usr/src/debug/baloo-5.99.0/src/engine/transaction.cpp:311 #10 0x00007ffff7f8c1ab in Baloo::SearchStore::constructQuery(Baloo::Transaction*, Baloo::Term const&) [clone .isra.0] (tr=tr@entry=0x7fffffffd590, term=..., this=<optimized out>) at /usr/src/debug/baloo-5.99.0/src/lib/searchstore.cpp:323 #11 0x00007ffff7f8b16b in Baloo::SearchStore::constructQuery(Baloo::Transaction*, Baloo::Term const&) [clone .isra.0] (tr=tr@entry=0x7fffffffd590, term=..., this=<optimized out>) at /usr/src/debug/baloo-5.99.0/src/lib/searchstore.cpp:191 #12 0x00007ffff7f8bffc in Baloo::SearchStore::constructQuery(Baloo::Transaction*, Baloo::Term const&) [clone .isra.0] (tr=tr@entry=0x7fffffffd590, term=..., this=<optimized out>) at /usr/src/debug/baloo-5.99.0/src/lib/searchstore.cpp:300 #13 0x00007ffff7f8b16b in Baloo::SearchStore::constructQuery(Baloo::Transaction*, Baloo::Term const&) [clone .isra.0] (tr=tr@entry=0x7fffffffd590, term=..., this=<optimized out>) at /usr/src/debug/baloo-5.99.0/src/lib/searchstore.cpp:191 #14 0x00007ffff7f7f5c3 in Baloo::SearchStore::exec (sortResults=true, limit=10, offset=0, term=..., this=<synthetic pointer>) at /usr/src/debug/baloo-5.99.0/src/lib/searchstore.cpp:116 #15 Baloo::Query::exec (this=this@entry=0x7fffffffd690) at /usr/src/debug/baloo-5.99.0/src/lib/query.cpp:196 #16 0x000055555555b132 in SearchRunner::matchInternal (searchTerm=..., type=..., category=..., foundUrls=..., this=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.3/runners/baloo/baloosearchrunner.cpp:107 #17 0x000055555555db8c in SearchRunner::Match (searchTerm=..., this=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.3/runners/baloo/baloosearchrunner.cpp:87 #18 Krunner1Adaptor::Match (query=..., this=0x7fffffffd7c0) at /usr/src/debug/plasma-workspace/build/runners/baloo/krunner1adaptor.cpp:45 #19 Krunner1Adaptor::qt_static_metacall (_o=_o@entry=0x555555bc51a0, _id=_id@entry=1, _a=_a@entry=0x7fffffffd920, _c=<optimized out>) at /usr/src/debug/plasma-workspace/build/runners/baloo/krunner1adaptor.moc:106 #20 0x000055555555f531 in Krunner1Adaptor::qt_static_metacall (_a=0x7fffffffd920, _id=1, _c=QMetaObject::InvokeMetaMethod, _o=0x555555bc51a0) at /usr/src/debug/plasma-workspace/build/runners/baloo/krunner1adaptor.moc:100 #21 Krunner1Adaptor::qt_metacall (this=0x555555bc51a0, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffffffd920) at /usr/src/debug/plasma-workspace/build/runners/baloo/krunner1adaptor.moc:144 #22 0x00007ffff7b5e45f in QDBusConnectionPrivate::deliverCall(QObject*, int, QDBusMessage const&, QVector<int> const&, int) [clone .constprop.0] (this=<optimized out>, object=<optimized out>, msg=..., metaTypes=..., slotIdx=<optimized out>) at /usr/src/debug/qt5-base/qtbase/src/dbus/qdbusintegrator.cpp:1001 #23 0x00007ffff7b24bc4 in QDBusConnectionPrivate::activateCall (this=this@entry=0x7fffec001c00, object=0x555555bc51a0, flags=flags@entry=273, msg=...) at /usr/src/debug/qt5-base/qtbase/src/dbus/qdbusintegrator.cpp:911 #24 0x00007ffff7b25719 in QDBusConnectionPrivate::activateCall (msg=..., flags=273, object=<optimized out>, this=0x7fffec001c00) at /usr/src/debug/qt5-base/qtbase/src/dbus/qdbusintegrator.cpp:853 #25 QDBusConnectionPrivate::activateObject (this=0x7fffec001c00, node=..., msg=..., pathStartPos=<optimized out>) at /usr/src/debug/qt5-base/qtbase/src/dbus/qdbusintegrator.cpp:1503 #26 0x00007ffff7b2575c in QDBusActivateObjectEvent::placeMetaCall (this=0x7fffec01d340) at /usr/src/debug/qt5-base/qtbase/src/dbus/qdbusintegrator.cpp:1623 #27 0x00007ffff68b0be0 in QObject::event (this=0x7fffffffe000, e=0x7fffec01d340) at kernel/qobject.cpp:1347 #28 0x00007ffff7578b1c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x7fffffffe000, e=0x7fffec01d340) at kernel/qapplication.cpp:3637 #29 0x00007ffff688cf98 in QCoreApplication::notifyInternal2 (receiver=0x7fffffffe000, event=0x7fffec01d340) at kernel/qcoreapplication.cpp:1064 #30 0x00007ffff688daa3 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55555559a850) at kernel/qcoreapplication.cpp:1821 #31 0x00007ffff68d3e68 in postEventSourceDispatch (s=0x5555556d04c0) at kernel/qeventdispatcher_glib.cpp:277 #32 0x00007ffff511687b in g_main_dispatch (context=0x7fffec005010) at ../glib/glib/gmain.c:3444 #33 g_main_context_dispatch (context=0x7fffec005010) at ../glib/glib/gmain.c:4162 #34 0x00007ffff516d279 in g_main_context_iterate.constprop.0 (context=0x7fffec005010, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4238 #35 0x00007ffff5115132 in g_main_context_iteration (context=0x7fffec005010, may_block=1) at ../glib/glib/gmain.c:4303 #36 0x00007ffff68d7c4c in QEventDispatcherGlib::processEvents (this=0x5555556d36f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #37 0x00007ffff688573c in QEventLoop::exec (this=0x7fffffffdf70, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #38 0x00007ffff6890269 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #39 0x00007ffff6d3a112 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1870 #40 0x00007ffff7576f2a in QApplication::exec () at kernel/qapplication.cpp:2829 #41 0x000055555555821b in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.3/runners/baloo/baloosearchrunner.cpp:40
I noticed that baloo complains about a corrupted database when I run it from the terminal. I was able to fix this and the crash by cleaning baloos cache and restarting indexing with: balooctl purge balooctl enable I'm leaving this bug open because I think baloo shouldn't crash when the database gets corrupted. It probably should inform the user about it or purge and re-index automatically.