Bug 445773

Summary: baloo_file_extractor process started to crash
Product: [Frameworks and Libraries] frameworks-baloo Reporter: David Kredba <kredba>
Component: generalAssignee: baloo-bugs-null
Status: RESOLVED DUPLICATE    
Severity: normal CC: nicolas.fella, tagwerk19
Priority: NOR    
Version First Reported In: 5.88.0   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description David Kredba 2021-11-19 20:39:56 UTC
SUMMARY
baloo_file_extractor process started to crash and crashes again after Baloo disabled and re-enabled (or restarted by Dr. Konqui). There were no changes in the system from this morning when I not saw it crashing.
The dev-db/lmdb package version is 0.9.29.

Application: baloo_file_extractor (baloo_file_extractor), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f965d5254e3 in mdb_midl_xmerge (idl=idl@entry=0x7f55dfdb4018, merge=merge@entry=0x7f56984a9010) at midl.c:207
#5  0x00007f965d51c697 in mdb_page_alloc (num=num@entry=233, mp=mp@entry=0x7ffd3699aa70, mc=<optimized out>, mc=<optimized out>) at mdb.c:2280
#6  0x00007f965d51eaf7 in mdb_page_new (mp=<synthetic pointer>, num=233, flags=4, mc=0x7ffd3699abe0) at mdb.c:7193
#7  mdb_node_add (mc=mc@entry=0x7ffd3699abe0, indx=<optimized out>, key=key@entry=0x7ffd3699afd0, data=0x7ffd3699afe0, pgno=pgno@entry=0, flags=0) at mdb.c:7335
#8  0x00007f965d522189 in mdb_cursor_put (mc=mc@entry=0x7ffd3699abe0, key=key@entry=0x7ffd3699afd0, data=data@entry=0x7ffd3699afe0, flags=flags@entry=0) at mdb.c:6960
#9  0x00007f965d524961 in mdb_put (txn=0x55619c4ed710, dbi=<optimized out>, key=0x7ffd3699afd0, data=0x7ffd3699afe0, flags=0) at mdb.c:9045
#10 0x00007f965e736ddb in Baloo::PositionDB::put (this=this@entry=0x7ffd3699b0d0, term=..., list=...) at /var/tmp/portage/kde-frameworks/baloo-5.88.0/work/baloo-5.88.0/src/engine/positiondb.cpp:69
#11 0x00007f965e7499a0 in Baloo::WriteTransaction::commit (this=<optimized out>) at /var/tmp/portage/kde-frameworks/baloo-5.88.0/work/baloo-5.88.0/src/engine/writetransaction.cpp:319
#12 0x00007f965e740f41 in Baloo::Transaction::commit (this=0x55619c4dd0a0) at /var/tmp/portage/kde-frameworks/baloo-5.88.0/work/baloo-5.88.0/src/engine/transaction.cpp:272
#13 0x000055619c12988c in Baloo::App::processNextFile (this=0x7ffd3699b5e0) at /var/tmp/portage/kde-frameworks/baloo-5.88.0/work/baloo-5.88.0/src/file/extractor/app.cpp:109
#14 0x00007f965dec73a2 in QtPrivate::QSlotObjectBase::call (a=0x7ffd3699b200, r=<optimized out>, this=<optimized out>) at ../../include/QtCore/../../../qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/kernel/qobjectdefs_impl.h:398
#15 QSingleShotTimer::timerEvent (this=0x55619c58cd70) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r10/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/kernel/qtimer.cpp:320
#16 0x00007f965debafbf in QObject::event (this=0x55619c58cd70, e=0x7ffd3699b310) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r10/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/kernel/qobject.cpp:1336
#17 0x00007f965de8f828 in QCoreApplication::notifyInternal2 (receiver=0x55619c58cd70, event=0x7ffd3699b310) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r10/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/kernel/qcoreapplication.cpp:1064
#18 0x00007f965dee0c5b in QTimerInfoList::activateTimers (this=0x55619c4c3af0) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r10/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/kernel/qtimerinfo_unix.cpp:643
#19 0x00007f965dee1521 in timerSourceDispatch (source=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r10/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/kernel/qeventdispatcher_glib.cpp:183
#20 0x00007f965cb0713b in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#21 0x00007f965cb073f8 in ?? () from /usr/lib64/libglib-2.0.so.0
#22 0x00007f965cb074af in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#23 0x00007f965dee1934 in QEventDispatcherGlib::processEvents (this=0x55619c4bad70, flags=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r10/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#24 0x00007f965de8e21b in QEventLoop::exec (this=this@entry=0x7ffd3699b550, flags=..., flags@entry=...) at ../../include/QtCore/../../../qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/global/qflags.h:69
#25 0x00007f965de9684d in QCoreApplication::exec () at ../../include/QtCore/../../../qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/global/qflags.h:121
#26 0x000055619c126366 in main (argc=<optimized out>, argv=0x7ffd3699b5e0) at /var/tmp/portage/kde-frameworks/baloo-5.88.0/work/baloo-5.88.0/src/file/extractor/main.cpp:37
[Inferior 1 (process 16310) detached]

SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.23.3
KDE Frameworks Version: 5.88.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
Baloo File Indexer is running
Indexer state: Indexing file content
Total files indexed: 452,962
Files waiting for content indexing: 1
Files failed to index: 0
Current size of index is 38.32 GiB


File Size: 38,32 GiB
Used:      2,82 GiB
PostingDB:       3,86 GiB   137.011 %
PositionDB:      74,03 MiB     2.563 %
DocTerms:       2,77 GiB    98.212 %
DocFilenameTerms:      28,02 MiB     0.970 %
DocXattrTerms:       4,00 KiB     0.000 %
IdTree:       5,90 MiB     0.204 %
IdFileName:      30,36 MiB     1.051 %
DocTime:      17,44 MiB     0.604 %
DocData:      21,14 MiB     0.732 %
ContentIndexingDB:       4,00 KiB     0.000 %
FailedIdsDB:            0 B     0.000 %
MTimeDB:      13,92 MiB     0.482 %

Using 'balooctl monitor' and 'balooctl enable' in an another konsole window shows
"Starting
Checking for stale index entries
Indexing file content
Indexing: /home/xxx/yyy.mp3: Ok"
and then baloo_file_extractor crashes.
The File program seems to be happy with the file:
/home/xxx/yyy.mp3: Audio file with ID3 version 2.4.0, unsynchronized frames, contains: MPEG ADTS, layer III, v1, 320 kbps, 44.1 kHz, JntStereo
Comment 1 David Kredba 2021-11-19 21:03:05 UTC
After I moved the file outside the FS, it crashes again without any file being indexed before the crash.
'balooctl monitor':
Starting
Checking for stale index entries
Indexing file content

[KCrash Handler]
#4  0x00007fa691c2b4e3 in mdb_midl_xmerge (idl=idl@entry=0x7f6613db4018, merge=merge@entry=0x7f66cc4a9010) at midl.c:207
#5  0x00007fa691c22697 in mdb_page_alloc (num=num@entry=233, mp=mp@entry=0x7ffe42696b60, mc=<optimized out>, mc=<optimized out>) at mdb.c:2280
#6  0x00007fa691c24af7 in mdb_page_new (mp=<synthetic pointer>, num=233, flags=4, mc=0x7ffe42696cd0) at mdb.c:7193
#7  mdb_node_add (mc=mc@entry=0x7ffe42696cd0, indx=<optimized out>, key=key@entry=0x7ffe426970c0, data=0x7ffe426970d0, pgno=pgno@entry=0, flags=0) at mdb.c:7335
#8  0x00007fa691c28189 in mdb_cursor_put (mc=mc@entry=0x7ffe42696cd0, key=key@entry=0x7ffe426970c0, data=data@entry=0x7ffe426970d0, flags=flags@entry=0) at mdb.c:6960
#9  0x00007fa691c2a961 in mdb_put (txn=0x56039916d740, dbi=<optimized out>, key=0x7ffe426970c0, data=0x7ffe426970d0, flags=0) at mdb.c:9045
#10 0x00007fa692e3cddb in Baloo::PositionDB::put (this=this@entry=0x7ffe426971c0, term=..., list=...) at /var/tmp/portage/kde-frameworks/baloo-5.88.0/work/baloo-5.88.0/src/engine/positiondb.cpp:69
#11 0x00007fa692e4f9a0 in Baloo::WriteTransaction::commit (this=<optimized out>) at /var/tmp/portage/kde-frameworks/baloo-5.88.0/work/baloo-5.88.0/src/engine/writetransaction.cpp:319
#12 0x00007fa692e46f41 in Baloo::Transaction::commit (this=0x560399116450) at /var/tmp/portage/kde-frameworks/baloo-5.88.0/work/baloo-5.88.0/src/engine/transaction.cpp:272
#13 0x000056039817888c in Baloo::App::processNextFile (this=0x7ffe426976e0) at /var/tmp/portage/kde-frameworks/baloo-5.88.0/work/baloo-5.88.0/src/file/extractor/app.cpp:109
#14 0x00007fa6925c10c6 in QObject::event (this=0x7ffe426976e0, e=0x56039916de70) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r10/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/kernel/qobject.cpp:1314
#15 0x00007fa692595828 in QCoreApplication::notifyInternal2 (receiver=0x7ffe426976e0, event=0x56039916de70) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r10/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/kernel/qcoreapplication.cpp:1064
#16 0x00007fa692598e95 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5603990e2f80) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r10/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/kernel/qcoreapplication.cpp:1821
#17 0x00007fa6925e7ea3 in postEventSourceDispatch (s=0x5603990e4650) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r10/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/kernel/qeventdispatcher_glib.cpp:277
#18 0x00007fa69120d13b in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#19 0x00007fa69120d3f8 in ?? () from /usr/lib64/libglib-2.0.so.0
#20 0x00007fa69120d4af in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#21 0x00007fa6925e7934 in QEventDispatcherGlib::processEvents (this=0x560399136350, flags=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r10/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#22 0x00007fa69259421b in QEventLoop::exec (this=this@entry=0x7ffe42697650, flags=..., flags@entry=...) at ../../include/QtCore/../../../qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/global/qflags.h:69
#23 0x00007fa69259c84d in QCoreApplication::exec () at ../../include/QtCore/../../../qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/corelib/global/qflags.h:121
#24 0x0000560398175366 in main (argc=<optimized out>, argv=0x7ffe426976e0) at /var/tmp/portage/kde-frameworks/baloo-5.88.0/work/baloo-5.88.0/src/file/extractor/main.cpp:37
[Inferior 1 (process 17429) detached]

It crashes too when I try to clear one file using the command 'balooctl clear'.
Baloosearch works, so maybe the database itself is not broken completely this time.
Comment 2 David Kredba 2021-11-20 20:33:11 UTC
Restoring the last index file backup fixes it.
Comment 3 Nicolas Fella 2022-10-17 15:47:53 UTC

*** This bug has been marked as a duplicate of bug 441878 ***