Bug 409958 - Baloo crash on system startup
Summary: Baloo crash on system startup
Status: RESOLVED UPSTREAM
Alias: None
Product: frameworks-kfilemetadata
Classification: Frameworks and Libraries
Component: general (other bugs)
Version First Reported In: 5.60.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Pinak Ahuja
URL:
Keywords: drkonqi
: 411604 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-07-18 14:44 UTC by Stephen Hassard
Modified: 2019-09-09 18:26 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stephen Hassard 2019-07-18 14:44:46 UTC
Application: baloo_file_extractor (5.60.0)

Qt Version: 5.12.3
Frameworks Version: 5.60.0
Operating System: Linux 4.18.0-25-generic x86_64
Distribution: Ubuntu 18.04.2 LTS

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

First login to the freshly booted KDE Neon machine.

Baloo crashed on startup.

System was updated with 'pkcon refresh && pkcon update' and crashed again after a full restart.

The crash can be reproduced every time.

-- Backtrace:
Application: Baloo File Extractor (baloo_file_extractor), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f49126b5c80 (LWP 1665))]

Thread 3 (Thread 0x7f4902fda700 (LWP 1676)):
#0  0x00007f490f194bf9 in __GI___poll (fds=0x7f48f401a5a0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f490b85d5c9 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f490b85d6dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f490fad7dcb in QEventDispatcherGlib::processEvents (this=0x7f48f4000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f490fa7903a in QEventLoop::exec (this=this@entry=0x7f4902fd9d70, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#5  0x00007f490f8a04ca in QThread::exec (this=<optimized out>) at thread/qthread.cpp:531
#6  0x00007f491147b015 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007f490f8a1c72 in QThreadPrivate::start (arg=0x7f49116f2d80) at thread/qthread_unix.cpp:361
#8  0x00007f490d9fc6db in start_thread (arg=0x7f4902fda700) at pthread_create.c:463
#9  0x00007f490f1a188f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f4904210700 (LWP 1674)):
#0  0x00007f490f194bf9 in __GI___poll (fds=0x7f490420fca8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f490b3ec747 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f490b3ee36a in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f4906ff7578 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f490f8a1c72 in QThreadPrivate::start (arg=0x55e1e636a0b0) at thread/qthread_unix.cpp:361
#5  0x00007f490d9fc6db in start_thread (arg=0x7f4904210700) at pthread_create.c:463
#6  0x00007f490f1a188f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f49126b5c80 (LWP 1665)):
[KCrash Handler]
#6  __memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memcpy-ssse3.S:2827
#7  0x00007f49017c7bcf in Exiv2::PngImage::readMetadata() () from /usr/lib/x86_64-linux-gnu/libexiv2.so.27
#8  0x00007f4901b93148 in KFileMetaData::Exiv2Extractor::extract (this=0x55e1e64858d0, result=0x7ffe19fb9960) at ./src/extractors/exiv2extractor.cpp:167
#9  0x000055e1e41ee50f in Baloo::App::index (this=this@entry=0x7ffe19fba100, tr=0x55e1e63c4540, url=..., id=id@entry=118797871989457666) at ./src/file/extractor/app.cpp:192
#10 0x000055e1e41eee6e in Baloo::App::processNextFile (this=0x7ffe19fba100) at ./src/file/extractor/app.cpp:112
#11 0x00007f490fab7804 in QtPrivate::QSlotObjectBase::call (a=0x7ffe19fb9ab0, r=<optimized out>, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#12 QSingleShotTimer::timerEvent (this=0x55e1e63d7fb0) at kernel/qtimer.cpp:318
#13 0x00007f490faab39b in QObject::event (this=0x55e1e63d7fb0, e=<optimized out>) at kernel/qobject.cpp:1282
#14 0x00007f491087665c in QApplicationPrivate::notify_helper (this=this@entry=0x55e1e63420f0, receiver=receiver@entry=0x55e1e63d7fb0, e=e@entry=0x7ffe19fb9df0) at kernel/qapplication.cpp:3736
#15 0x00007f491087db90 in QApplication::notify (this=0x7ffe19fba0d0, receiver=0x55e1e63d7fb0, e=0x7ffe19fb9df0) at kernel/qapplication.cpp:3483
#16 0x00007f490fa7ad18 in QCoreApplication::notifyInternal2 (receiver=0x55e1e63d7fb0, event=0x7ffe19fb9df0) at kernel/qcoreapplication.cpp:1060
#17 0x00007f490fad7219 in QTimerInfoList::activateTimers (this=0x55e1e639f690) at kernel/qtimerinfo_unix.cpp:643
#18 0x00007f490fad7a19 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182
#19 idleTimerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:229
#20 0x00007f490b85d417 in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007f490b85d650 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007f490b85d6dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007f490fad7daf in QEventDispatcherGlib::processEvents (this=0x55e1e6376fa0, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#24 0x00007f490fa7903a in QEventLoop::exec (this=this@entry=0x7ffe19fba040, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#25 0x00007f490fa82170 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1363
#26 0x000055e1e41ed50d in main (argc=<optimized out>, argv=<optimized out>) at ./src/file/extractor/main.cpp:60

Reported using DrKonqi
Comment 1 Stefan Brüns 2019-07-18 15:31:03 UTC
1. Does you computer support SSSE3 (three "S")?
2. It crashes on some (probably malformed) PNG file. Please check with "balooctl failed" and provide the file if possible.
Comment 2 Stephen Hassard 2019-07-18 15:45:24 UTC
I just figured out what's going on. I have an extracted tarball of the libpng src in my user folder and it has a png crasher image which baloo is failing to index:

```
% balooctl check 
Started search for unindexed files
8:41.stephen@kaiju:~% balooctl monitor
Press ctrl+c to stop monitoring
File indexer is running
Indexing file content
Indexing: /home/stephen/devel/USD_build/scripts/libpng-1.6.37/contrib/testpngs/crashers/empty_ancillary_chunks.png
```
Comment 3 Nate Graham 2019-07-19 15:41:28 UTC
It's actually crashing in Exiv2::PngImage::readMetadata(). Looks like this is already tracked upstream with https://github.com/Exiv2/exiv2/issues/953.

I'm sure the Exiv2 folks would really appreciate if you attached the file in question to https://github.com/Exiv2/exiv2/issues/953. Thanks!
Comment 4 Stephen Hassard 2019-07-20 02:10:27 UTC
Thanks Nate!

I've added some details to the bug to the github exiv2 issue that you've linked.
Comment 5 Stefan Brüns 2019-09-09 18:26:07 UTC
*** Bug 411604 has been marked as a duplicate of this bug. ***