Bug 403710

Summary: baloo_file_Extractor crash at startup in KFileMetaData::TagLibExtractor::extract()
Product: [Frameworks and Libraries] frameworks-kfilemetadata Reporter: Bruno Friedmann <bruno>
Component: generalAssignee: Pinak Ahuja <pinak.ahuja>
Status: RESOLVED DUPLICATE    
Severity: crash CC: a.stippich, bruno, nate
Priority: NOR Keywords: drkonqi
Version: 5.54.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Bruno Friedmann 2019-01-28 20:05:25 UTC
Application: baloo_file_extractor (5.54.0)

Qt Version: 5.12.0
Frameworks Version: 5.54.0
Operating System: Linux 4.20.2-1-default x86_64
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
- What I was doing when the application crashed: the desktop was loading (autologin used here) at the same time plasma was finising it's statup (systray applet there) the crash debug was already there

The crash can be reproduced sometimes.

-- Backtrace:
Application: Baloo File Extractor (baloo_file_extractor), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fe518cb3940 (LWP 2854))]

Thread 2 (Thread 0x7fe50b249700 (LWP 2888)):
#0  g_mutex_unlock (mutex=0x7fe504000bf0) at gthread-posix.c:1355
#1  0x00007fe519c544a1 in g_main_context_prepare (context=context@entry=0x7fe504000bf0, priority=priority@entry=0x7fe50b248ae0) at gmain.c:3560
#2  0x00007fe519c54eeb in g_main_context_iterate (context=context@entry=0x7fe504000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3900
#3  0x00007fe519c550dc in g_main_context_iteration (context=0x7fe504000bf0, may_block=may_block@entry=1) at gmain.c:3981
#4  0x00007fe51bc4188b in QEventDispatcherGlib::processEvents (this=0x7fe504000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007fe51bbec02b in QEventLoop::exec (this=this@entry=0x7fe50b248c30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007fe51ba363b6 in QThread::exec (this=this@entry=0x7fe51cc5dd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007fe51cbe3565 in QDBusConnectionManager::run (this=0x7fe51cc5dd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#8  0x00007fe51ba37702 in QThreadPrivate::start (arg=0x7fe51cc5dd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:361
#9  0x00007fe51aef6554 in start_thread (arg=<optimized out>) at pthread_create.c:463
#10 0x00007fe51b51bccf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fe518cb3940 (LWP 2854)):
[KCrash Handler]
#6  0x00007fe50bcd3bba in KFileMetaData::TagLibExtractor::extract (this=<optimized out>, result=0x7ffdbe677d90) at /usr/src/debug/kfilemetadata5-5.54.0-1.1.x86_64/src/extractors/taglibextractor.cpp:857
#7  0x000056055bea7e6b in Baloo::App::index (this=this@entry=0x7ffdbe678500, tr=0x56055d6195b0, url=..., id=id@entry=1433818997194801) at /usr/src/debug/baloo5-5.54.0-1.1.x86_64/src/file/extractor/app.cpp:191
#8  0x000056055bea9d07 in Baloo::App::processNextFile (this=0x7ffdbe678500) at /usr/src/debug/baloo5-5.54.0-1.1.x86_64/src/file/extractor/app.cpp:111
#9  0x00007fe51bc22ea6 in QtPrivate::QSlotObjectBase::call (a=0x7ffdbe677ee0, r=<optimized out>, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#10 QSingleShotTimer::timerEvent (this=0x56055d7f3a90) at kernel/qtimer.cpp:318
#11 0x00007fe51bc1791b in QObject::event (this=0x56055d7f3a90, e=<optimized out>) at kernel/qobject.cpp:1230
#12 0x00007fe51c5de591 in QApplicationPrivate::notify_helper (this=this@entry=0x56055d4d7b90, receiver=receiver@entry=0x56055d7f3a90, e=e@entry=0x7ffdbe678200) at kernel/qapplication.cpp:3753
#13 0x00007fe51c5e5b50 in QApplication::notify (this=0x7ffdbe6784f0, receiver=0x56055d7f3a90, e=0x7ffdbe678200) at kernel/qapplication.cpp:3500
#14 0x00007fe51bbed359 in QCoreApplication::notifyInternal2 (receiver=0x56055d7f3a90, event=0x7ffdbe678200) at ../../include/QtCore/5.12.0/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:322
#15 0x00007fe51bc40c83 in QTimerInfoList::activateTimers (this=0x56055d58b700) at kernel/qtimerinfo_unix.cpp:643
#16 0x00007fe51bc4150c in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182
#17 idleTimerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:229
#18 0x00007fe519c54c85 in g_main_dispatch (context=0x7fe510004ff0) at gmain.c:3182
#19 g_main_context_dispatch (context=context@entry=0x7fe510004ff0) at gmain.c:3847
#20 0x00007fe519c55048 in g_main_context_iterate (context=context@entry=0x7fe510004ff0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3920
#21 0x00007fe519c550dc in g_main_context_iteration (context=0x7fe510004ff0, may_block=may_block@entry=1) at gmain.c:3981
#22 0x00007fe51bc41873 in QEventDispatcherGlib::processEvents (this=0x56055d4b8d20, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#23 0x00007fe51bbec02b in QEventLoop::exec (this=this@entry=0x7ffdbe678460, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#24 0x00007fe51bbf4192 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#25 0x000056055bea7323 in main (argc=<optimized out>, argv=0x7ffdbe678728) at /usr/src/debug/baloo5-5.54.0-1.1.x86_64/src/file/extractor/main.cpp:60
[Inferior 1 (process 2854) detached]

Reported using DrKonqi
Comment 1 Bruno Friedmann 2019-01-28 21:04:24 UTC
Created attachment 117708 [details]
New crash information added by DrKonqi

baloo_file_extractor (5.54.0) using Qt 5.12.0

Second reboot after last Tumbleweed snapshot 20190125 same crash
This time also plamashell didn't finished its startup (no desktop wallpaper plugin running)

-- Backtrace (Reduced):
#6  0x00007ff185acabba in KFileMetaData::TagLibExtractor::extract (this=<optimized out>, result=0x7ffecc9725a0) at /usr/src/debug/kfilemetadata5-5.54.0-1.1.x86_64/src/extractors/taglibextractor.cpp:857
#7  0x000055cff6deae6b in Baloo::App::index (this=this@entry=0x7ffecc972d10, tr=0x55cff80d3940, url=..., id=id@entry=1433818997194801) at /usr/src/debug/baloo5-5.54.0-1.1.x86_64/src/file/extractor/app.cpp:191
#8  0x000055cff6decd07 in Baloo::App::processNextFile (this=0x7ffecc972d10) at /usr/src/debug/baloo5-5.54.0-1.1.x86_64/src/file/extractor/app.cpp:111
#9  0x00007ff195a18ea6 in QtPrivate::QSlotObjectBase::call (a=0x7ffecc9726f0, r=<optimized out>, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#10 QSingleShotTimer::timerEvent (this=0x55cff81e6bd0) at kernel/qtimer.cpp:318
Comment 2 Nate Graham 2019-02-05 22:05:56 UTC
Crashing in kfilemetadata.

Any chance you can find out which file it's crashing on with `balooctl monitor` and then attach that file?
Comment 3 Bruno Friedmann 2019-02-06 07:51:16 UTC
Hi Nate, thanks for the pointer. I will try to reproduce it, but it will be certainly hard. 

I'm using autologin function in sddm (aferwards my laptop is fully encrypted, with password to pass the bios step + password in grub to open the luks container). What I've seen is that baloo_file_extractor crash dialog box is the first one appearing on the desktop (plasma didn't finished its initialization).
At the time of the crash, I didn't have a konsole or a desktop ready.

So I will try to reproduce it once the desktop is opened with a start stop of baloo.


Last crash reproduced this morning (no internet connection available)

Application: Baloo File Extractor (baloo_file_extractor), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7ffaf6aa8940 (LWP 2892))]

Thread 2 (Thread 0x7ffae907d700 (LWP 2894)):
#0  0x00007ffaf93062c9 in __GI___poll (fds=0x7ffae401a4b0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ffaf7a49fb6 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7ffae401a4b0, timeout=<optimized out>, context=0x7ffae4000bf0) at gmain.c:4221
#2  g_main_context_iterate (context=context@entry=0x7ffae4000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3915
#3  0x00007ffaf7a4a0dc in g_main_context_iteration (context=0x7ffae4000bf0, may_block=may_block@entry=1) at gmain.c:3981
#4  0x00007ffaf9a3688b in QEventDispatcherGlib::processEvents (this=0x7ffae4000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007ffaf99e102b in QEventLoop::exec (this=this@entry=0x7ffae907cc30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007ffaf982b3b6 in QThread::exec (this=this@entry=0x7ffafaa52d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007ffafa9d8565 in QDBusConnectionManager::run (this=0x7ffafaa52d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#8  0x00007ffaf982c702 in QThreadPrivate::start (arg=0x7ffafaa52d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:361
#9  0x00007ffaf8ceb554 in start_thread (arg=<optimized out>) at pthread_create.c:463
#10 0x00007ffaf9310ccf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7ffaf6aa8940 (LWP 2892)):
[KCrash Handler]
#6  0x00007ffae9b34bba in KFileMetaData::TagLibExtractor::extract (this=<optimized out>, result=0x7ffe156c94a0) at /usr/src/debug/kfilemetadata5-5.54.0-1.2.x86_64/src/extractors/taglibextractor.cpp:857
#7  0x00005576cff40e6b in Baloo::App::index (this=this@entry=0x7ffe156c9c10, tr=0x5576d1f94ee0, url=..., id=id@entry=1433818997194801) at /usr/src/debug/baloo5-5.54.0-1.1.x86_64/src/file/extractor/app.cpp:191
#8  0x00005576cff42d07 in Baloo::App::processNextFile (this=0x7ffe156c9c10) at /usr/src/debug/baloo5-5.54.0-1.1.x86_64/src/file/extractor/app.cpp:111
#9  0x00007ffaf9a17ea6 in QtPrivate::QSlotObjectBase::call (a=0x7ffe156c95f0, r=<optimized out>, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#10 QSingleShotTimer::timerEvent (this=0x5576d1ee4d00) at kernel/qtimer.cpp:318
#11 0x00007ffaf9a0c91b in QObject::event (this=0x5576d1ee4d00, e=<optimized out>) at kernel/qobject.cpp:1230
#12 0x00007ffafa3d3591 in QApplicationPrivate::notify_helper (this=this@entry=0x5576d1e44b90, receiver=receiver@entry=0x5576d1ee4d00, e=e@entry=0x7ffe156c9910) at kernel/qapplication.cpp:3753
#13 0x00007ffafa3dab50 in QApplication::notify (this=0x7ffe156c9c00, receiver=0x5576d1ee4d00, e=0x7ffe156c9910) at kernel/qapplication.cpp:3500
#14 0x00007ffaf99e2359 in QCoreApplication::notifyInternal2 (receiver=0x5576d1ee4d00, event=0x7ffe156c9910) at ../../include/QtCore/5.12.0/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:322
#15 0x00007ffaf9a35c83 in QTimerInfoList::activateTimers (this=0x5576d1ef80d0) at kernel/qtimerinfo_unix.cpp:643
#16 0x00007ffaf9a3650c in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182
#17 idleTimerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:229
#18 0x00007ffaf7a49c85 in g_main_dispatch (context=0x7ffaec004ff0) at gmain.c:3182
#19 g_main_context_dispatch (context=context@entry=0x7ffaec004ff0) at gmain.c:3847
#20 0x00007ffaf7a4a048 in g_main_context_iterate (context=context@entry=0x7ffaec004ff0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3920
#21 0x00007ffaf7a4a0dc in g_main_context_iteration (context=0x7ffaec004ff0, may_block=may_block@entry=1) at gmain.c:3981
#22 0x00007ffaf9a36873 in QEventDispatcherGlib::processEvents (this=0x5576d1e25d20, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#23 0x00007ffaf99e102b in QEventLoop::exec (this=this@entry=0x7ffe156c9b70, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#24 0x00007ffaf99e9192 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#25 0x00005576cff40323 in main (argc=<optimized out>, argv=0x7ffe156c9e38) at /usr/src/debug/baloo5-5.54.0-1.1.x86_64/src/file/extractor/main.cpp:60
[Inferior 1 (process 2892) detached]
Comment 4 Bruno Friedmann 2019-02-06 08:08:11 UTC
Adding configuration informations

bruno@qt-kt:~$ balooctl config show hidden
no
bruno@qt-kt:~$ balooctl config show contentIndexing
yes
bruno@qt-kt:~$ balooctl config show includeFolders
/ioda/data
/ioda/home/bruno
/ioda/multimedia
bruno@qt-kt:~$ balooctl config show excludeFolders
/ioda/home/bruno/Discord
/ioda/home/bruno/git
/ioda/home/bruno/logs
/ioda/home/bruno/openSUSE/obs
/ioda/home/bruno/workspace
bruno@qt-kt:~$ balooctl config show excludeFilters
Makefile.am
qrc_*.cpp
*~
CMakeCache.txt
*.tmp
po
*.jsc
node_modules
conftest
_darcs
*.fasta
*.omf
*.faa
*.aux
.npm
*.db
*.gmo
*.m4
*.loT
lost+found
__pycache__
*.rcore
libtool
.git
*.la
*.pc
confstat
ui_*.h
*.qmlc
*.swap
*.qrc
.obj
*.so
CMakeTmpQmake
.pch
.bzr
*.ini
CMakeTmp
*.lo
lzo
config.status
*.orig
*.gb
*.fq
*.class
cmake_install.cmake
CTestTestfile.cmake
*.init
autom4te
*.elc
.yarn-cache
confdefs.h
*.moc
CMakeFiles
node_packages
nbproject
*.part
.hg
.yarn
*.gbff
.uic
*.o
*.vm*
.svn
*.pyc
*.pyo
*.fna
*.fastq
*.csproj
CVS
*.map
*.po
*.rej
*.a
.xsession-errors*
moc_*.cpp
.histfile.*
litmain.sh
core-dumps
*.nvram
.moc
bruno@qt-kt:~$
bruno@qt-kt:~$ balooctl config show excludeMimeTypes
application/x-javascript
application/x-java
text/css
text/x-c++src
text/asp
application/x-python
application/x-perl
text/x-objsrc
text/x-haskell
text/x-c++hdr
text/x-scheme
application/x-awk
text/x-python
text/x-assembly
text/x-java
text/x-ruby
text/x-pascal
application/x-tex
text/x-csrc
text/x-yacc
application/x-csh
text/x-chdr
text/x-sed
application/x-cgi
application/x-php
application/x-sh
bruno@qt-kt:~$ balooctl status
Baloo File Indexer is running
^MIndexer state: Idle
Indexed 211758 / 311888 files
Current size of index is 3,57 GiB
Comment 5 Bruno Friedmann 2019-02-06 08:25:32 UTC
Ok good news I've found which file is causing the crash.
swissBOUNDARIES3D_1_3_LV95_LN02.gdb/a00000004.spx

I have a folder which is an ESRI geodatabse and inside this directory you will find .spx file (part of the index).

Of course those have nothing in common with .spx file known under kde (seen in file association) with speex audio file.

You can check it by yourself with https://share.ioda.net/s/GeeDgBSyrtSTWN7
I would have add a direct gdb backtrace but unfortunately I've not all symbols loaded but actually traveling, I don't have the bandwith for.

But I can confirm at least the crash. 

Program received signal SIGSEGV, Segmentation fault.
0x00007fffedb79bba in KFileMetaData::TagLibExtractor::extract (this=<optimized out>, result=0x7fffffffd710)
    at /usr/src/debug/kfilemetadata5-5.54.0-1.2.x86_64/src/extractors/taglibextractor.cpp:857
857     /usr/src/debug/kfilemetadata5-5.54.0-1.2.x86_64/src/extractors/taglibextractor.cpp: No such file or directory.
(gdb) threads apply all bt
Undefined command: "threads".  Try "help".
(gdb) thread apply all bt

Thread 1 (Thread 0x7ffff7dfc940 (LWP 29067)):
#0  0x00007fffedb79bba in KFileMetaData::TagLibExtractor::extract (this=<optimized out>, result=0x7fffffffd710)
    at /usr/src/debug/kfilemetadata5-5.54.0-1.2.x86_64/src/extractors/taglibextractor.cpp:857
#1  0x00005555555576e3 in ?? ()
#2  0x00007ffff737bfeb in __libc_start_main (main=0x555555557490, argc=2, argv=0x7fffffffd8b8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
    stack_end=0x7fffffffd8a8) at ../csu/libc-start.c:308
#3  0x0000555555557cba in _start ()
(

Can you also confirm it.
Comment 6 Nate Graham 2019-02-06 19:06:38 UTC
Thanks so much! I think this is not the first issue we have had with XML files that have the .spx extension. See the duped bug. I think we can fix it!

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