Bug 353851

Summary: baloo crashes on trying to use it, also krunner crashes unless almost all search modules deactivated
Product: [Unmaintained] Baloo Reporter: Martin Steigerwald <Martin>
Component: GeneralAssignee: Vishesh Handa <me>
Status: RESOLVED WORKSFORME    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Debian unstable   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: kdesrc-buildrc configuration

Description Martin Steigerwald 2015-10-13 08:39:46 UTC
Application: baloo_file (5.16.0)
 (Compiled from sources)
Qt Version: 5.4.2
Operating System: Linux 4.3.0-rc4-tp520-btrfstrim+ x86_64
Distribution: Debian GNU/Linux unstable (sid)

-- Information about the crash:
What I was doing when the application crashed:

- apt-get dist-upgrade which brought in lots of 5.15 kf5 packages
- after relogging this happened, but it may be related to updating the compiled KF5 I use on top of distro packages…

- recompiled kf5 frameworks with kdesrc-build
- still crashes

- tried to go with distro kf5 frameworks, but some devel packages are missing to build KDEPIM on top of these.
- thus reinstalled all of compiled kf5 frameworks again
- also build krunner
- still crashes

So currently I have self-compiled kf5 frameworks on top of distro packages, with self-compiled stuff preferred and used.

And then I did:

- rm .config/baloorc .config/baloofilerc
- rm -r .local/share/baloo (appeared almost empty)
- balooctl stop
- balooctl start
- balooctl status

Unusual behavior I noticed:
- krunner crashes after typing about 3-4 chars, thats were I started to notice there is an issue
  - I worked around this by deactivating all search modules except applications, command line, desktop sessions
- kickoff menu crashes after typing about 3-4 chars, still unsolved
- my other desktop session (I have a private one and a work one) works as usual with this setup, no crashes in krunner, plasmashell or baloo.

The crash can be reproduced every time.

-- Backtrace:
Application: Baloo File Indexing Daemon (baloo_file), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
__lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
[Current thread is 1 (Thread 0x7f96efe92940 (LWP 4094))]

Thread 2 (Thread 0x7f95a4291700 (LWP 4095)):
[KCrash Handler]
#6  0x00007f96edab9107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#7  0x00007f96edaba4e8 in __GI_abort () at abort.c:89
#8  0x00007f96ee962c28 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f96ee95dd6e in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f96ef04ed52 in Baloo::DocumentTimeDB::put(unsigned long long, Baloo::DocumentTimeDB::TimeInfo const&) (this=0x7f95a42909c0, docId=6440754431918128, info=...) at /home/kde/sources/baloo/src/engine/documenttimedb.cpp:61
#11 0x00007f96ef0644c2 in Baloo::WriteTransaction::addDocument(Baloo::Document const&) (this=0x7f959c003190, doc=...) at /home/kde/sources/baloo/src/engine/writetransaction.cpp:80
#12 0x00007f96ef05f551 in Baloo::Transaction::addDocument(Baloo::Document const&) (this=0x7f95a4290a60, doc=...) at /home/kde/sources/baloo/src/engine/transaction.cpp:235
#13 0x000000000043fd00 in Baloo::FirstRunIndexer::run() (this=0xdd2720) at /home/kde/sources/baloo/src/file/firstrunindexer.cpp:76
#14 0x00007f96ee971e13 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007f96ee97525e in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007f96eccb40a4 in start_thread (arg=0x7f95a4291700) at pthread_create.c:309
#17 0x00007f96edb6a06d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f96efe92940 (LWP 4094)):
#0  0x00007f96eccba7fc in __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1  0x00007f96eccb64b9 in _L_lock_918 () at /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007f96eccb62e0 in __GI___pthread_mutex_lock (mutex=0x7f96f0026040) at ../nptl/pthread_mutex_lock.c:79
#3  0x00007f96ee6c2842 in  () at /usr/lib/x86_64-linux-gnu/liblmdb.so.0
#4  0x00007f96ee6c3cc4 in mdb_txn_begin () at /usr/lib/x86_64-linux-gnu/liblmdb.so.0
#5  0x00007f96ef05e8e6 in Baloo::Transaction::Transaction(Baloo::Database const&, Baloo::Transaction::TransactionType) (this=0x7ffe33f0b690, db=..., type=Baloo::Transaction::ReadWrite) at /home/kde/sources/baloo/src/engine/transaction.cpp:54
#6  0x00007f96ef05e9c3 in Baloo::Transaction::Transaction(Baloo::Database*, Baloo::Transaction::TransactionType) (this=0x7ffe33f0b690, db=0x7f96ef27d0c0 <(anonymous namespace)::Q_QGS_s_db::innerFunction()::holder>, type=Baloo::Transaction::ReadWrite) at /home/kde/sources/baloo/src/engine/transaction.cpp:63
#7  0x00000000004505f3 in Baloo::MetadataMover::removeFileMetadata(QString const&) (this=0xc1fd10, file=...) at /home/kde/sources/baloo/src/file/metadatamover.cpp:65
#8  0x000000000044c015 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QString const&>, void, void (Baloo::MetadataMover::*)(QString const&)>::call(void (Baloo::MetadataMover::*)(QString const&), Baloo::MetadataMover*, void**) (f=(void (Baloo::MetadataMover::*)(Baloo::MetadataMover * const, const QString &)) 0x450562 <Baloo::MetadataMover::removeFileMetadata(QString const&)>, o=0xc1fd10, arg=0x7ffe33f0b8b0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:500
#9  0x000000000044be38 in QtPrivate::FunctionPointer<void (Baloo::MetadataMover::*)(QString const&)>::call<QtPrivate::List<QString const&>, void>(void (Baloo::MetadataMover::*)(QString const&), Baloo::MetadataMover*, void**) (f=(void (Baloo::MetadataMover::*)(Baloo::MetadataMover * const, const QString &)) 0x450562 <Baloo::MetadataMover::removeFileMetadata(QString const&)>, o=0xc1fd10, arg=0x7ffe33f0b8b0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:519
#10 0x000000000044bac9 in QtPrivate::QSlotObject<void (Baloo::MetadataMover::*)(QString const&), QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0xcf3770, r=0xc1fd10, a=0x7ffe33f0b8b0, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:143
#11 0x00007f96eeb85187 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x000000000045b8c1 in Baloo::PendingFileQueue::removeFileIndex(QString const&) (this=0xc25720, _t1=...) at /home/kde/build/baloo/src/file/moc_pendingfilequeue.cpp:216
#13 0x000000000044c93a in Baloo::PendingFileQueue::processCache() (this=0xc25720) at /home/kde/sources/baloo/src/file/pendingfilequeue.cpp:89
#14 0x0000000000450350 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Baloo::PendingFileQueue::*)()>::call(void (Baloo::PendingFileQueue::*)(), Baloo::PendingFileQueue*, void**) (f=(void (Baloo::PendingFileQueue::*)(Baloo::PendingFileQueue * const)) 0x44c83e <Baloo::PendingFileQueue::processCache()>, o=0xc25720, arg=0x7ffe33f0bbb0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:500
#15 0x000000000044ffa5 in QtPrivate::FunctionPointer<void (Baloo::PendingFileQueue::*)()>::call<QtPrivate::List<>, void>(void (Baloo::PendingFileQueue::*)(), Baloo::PendingFileQueue*, void**) (f=(void (Baloo::PendingFileQueue::*)(Baloo::PendingFileQueue * const)) 0x44c83e <Baloo::PendingFileQueue::processCache()>, o=0xc25720, arg=0x7ffe33f0bbb0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:519
#16 0x000000000044ed2d in QtPrivate::QSlotObject<void (Baloo::PendingFileQueue::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0xc25840, r=0xc25720, a=0x7ffe33f0bbb0, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:143
#17 0x00007f96eeb85187 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007f96eeb91ce8 in QTimer::timerEvent(QTimerEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007f96eeb86173 in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007f96eeb54a6c in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007f96eebaac4d in QTimerInfoList::activateTimers() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007f96eebab151 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007f96ead40fe7 in g_main_context_dispatch (context=0xc0cb50) at /build/glib2.0-BMd9vh/glib2.0-2.46.0/./glib/gmain.c:3154
#24 0x00007f96ead40fe7 in g_main_context_dispatch (context=context@entry=0xc0cb50) at /build/glib2.0-BMd9vh/glib2.0-2.46.0/./glib/gmain.c:3769
#25 0x00007f96ead41240 in g_main_context_iterate (context=context@entry=0xc0cb50, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-BMd9vh/glib2.0-2.46.0/./glib/gmain.c:3840
#26 0x00007f96ead412ec in g_main_context_iteration (context=0xc0cb50, may_block=1) at /build/glib2.0-BMd9vh/glib2.0-2.46.0/./glib/gmain.c:3901
#27 0x00007f96eebabe2f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00007f96eeb522ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007f96eeb59e3c in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#30 0x000000000043757a in main(int, char**) (argc=1, argv=0x7ffe33f0c3a8) at /home/kde/sources/baloo/src/file/main.cpp:88

Reported using DrKonqi
Comment 1 Martin Steigerwald 2015-10-13 08:44:59 UTC
Self compiled setup is as follows:

martin@merkaba:~> cat .config/plasma-workspace/env/kdedirs.sh 
#!/bin/bash

export KF5=/home/kde/install
export QTDIR=/usr/lib/x86_64-linux-gnu/qt5

export PATH=$KF5/bin:$QTDIR/bin:$PATH

export QT_PLUGIN_PATH=$KF5/lib/x86_64-linux-gnu/plugins:$QTDIR/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=$KF5/lib/x86_64-linux-gnu/qml:$QTDIR/qml

export XDG_DATA_DIRS=$KF5/share:/usr/share
export XDG_CONFIG_DIRS=$KF5/etc/xdg:/etc/xdg

export LD_LIBRARY_PATH=$KF5/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

I use kdesrc-build. Will attach config of it.

martin@merkaba:~> g++ --version
g++ (Debian 5.2.1-22) 5.2.1 20151010

Distro is Debian Sid.

martin@merkaba:~> balooctl --version
baloo 5.16.0

git commit 3b901d18fdf1b4c2e5245f0752a0a509585308e1

Self compiled baloo is used:

martin@merkaba:/home/kde/sources/baloo#141> ps aux | grep baloo
ms        3475  0.3  0.2 5588028 43580 ?       SNl  10:27   0:03 /home/kde/install/bin/baloo_file
ms        3487 13.0  1.7 5819000 289224 ?      SNl  10:27   2:08 /home/kde/install/bin/baloo_file_extractor
martin    4094  1.9  0.6 5587928 112620 ?      TNl  10:30   0:15 /home/kde/install/bin/baloo_file
martin    4100  0.8  0.4 624728 73636 ?        Sl   10:30   0:06 /home/kde/install/lib/x86_64-linux-gnu/libexec/drkonqi --appname baloo_file --apppath /home/kde/install/bin --signal 6 --pid 4094 --appversion 5.16.0 --programname Baloo File Indexing Daemon --bugaddress submit BLAFOO bugs.kde.org --startupid 0 --restarted
Comment 2 Martin Steigerwald 2015-10-13 08:47:32 UTC
Created attachment 94981 [details]
kdesrc-buildrc configuration
Comment 3 Martin Steigerwald 2015-10-23 19:00:30 UTC
*** Bug 354275 has been marked as a duplicate of this bug. ***
Comment 4 Martin Steigerwald 2015-10-23 19:27:27 UTC
I am getting this on console after balooctl start:

ASSERT: "info.mTime" in file /home/kde/sources/baloo/src/engine/documenttimedb.cpp, line 61
KCrash: Attempting to start /home/kde/install/bin/baloo_file from kdeinit
sock_file=/run/user/1000/kdeinit5__0
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = baloo_file path = /home/kde/install/bin pid = 5785
KCrash: Arguments: /home/kde/install/bin/baloo_file 
KCrash: Attempting to start /home/kde/install/lib/x86_64-linux-gnu/libexec/drkonqi from kdeinit
sock_file=/run/user/1000/kdeinit5__0
Comment 5 Martin Steigerwald 2015-11-13 12:27:17 UTC
This crash appears to have gone. Thus closing. Thanks, Martin