Bug 343708

Summary: Crash when scanning album
Product: [Applications] digikam Reporter: Sebastien <opensc>
Component: Metadata-VideoAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR Keywords: drkonqi
Version: 4.6.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 6.0.0
Sentry Crash Report:

Description Sebastien 2015-02-02 20:33:29 UTC
Application: digikam (4.6.0)
KDE Platform Version: 4.14.4
Qt Version: 4.8.6
Operating System: Linux 3.18.4-1-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
After opening Digikam, albums was scanning and Digikam crashed after  progess bar display 15%.

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Aborted
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f73fa23fa00 (LWP 27589))]

Thread 8 (Thread 0x7f73d2fcc700 (LWP 27590)):
#0  0x00007f73f309c44d in poll () from /usr/lib/libc.so.6
#1  0x00007f73d87ae70c in ?? () from /usr/lib/libusb-1.0.so.0
#2  0x00007f73f17d9314 in start_thread () from /usr/lib/libpthread.so.0
#3  0x00007f73f30a524d in clone () from /usr/lib/libc.so.6

Thread 7 (Thread 0x7f73cc6a1700 (LWP 27591)):
[KCrash Handler]
#6  0x00007f73f2ff0a97 in raise () from /usr/lib/libc.so.6
#7  0x00007f73f2ff1e6a in abort () from /usr/lib/libc.so.6
#8  0x00007f73f30302b3 in __libc_message () from /usr/lib/libc.so.6
#9  0x00007f73f303572e in malloc_printerr () from /usr/lib/libc.so.6
#10 0x00007f73f3035eeb in _int_free () from /usr/lib/libc.so.6
#11 0x00007f73f25c0b1d in Exiv2::RiffVideo::infoTagsHandler() () from /usr/lib/libexiv2.so.13
#12 0x00007f73f25c8f2f in Exiv2::RiffVideo::decodeBlock() () from /usr/lib/libexiv2.so.13
#13 0x00007f73f25c8b78 in Exiv2::RiffVideo::tagDecoder(Exiv2::DataBuf&, unsigned long) () from /usr/lib/libexiv2.so.13
#14 0x00007f73f25c8f2f in Exiv2::RiffVideo::decodeBlock() () from /usr/lib/libexiv2.so.13
#15 0x00007f73f25c9320 in Exiv2::RiffVideo::readMetadata() () from /usr/lib/libexiv2.so.13
#16 0x00007f73f99ad6bd in KExiv2Iface::KExiv2::load(QString const&) const () from /usr/lib/libkexiv2.so.11
#17 0x00007f73f82984f6 in Digikam::DMetadata::load(QString const&) const () from /usr/lib/libdigikamcore.so.4.6.0
#18 0x00007f73f8841d87 in Digikam::ImageScanner::loadFromDisk() () from /usr/lib/libdigikamdatabase.so.4.6.0
#19 0x00007f73f8841f70 in Digikam::ImageScanner::newFile(int) () from /usr/lib/libdigikamdatabase.so.4.6.0
#20 0x00007f73f87d44d6 in Digikam::CollectionScanner::scanNewFile(QFileInfo const&, int) () from /usr/lib/libdigikamdatabase.so.4.6.0
#21 0x00007f73f87d7bb2 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.4.6.0
#22 0x00007f73f87d7a6f in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.4.6.0
#23 0x00007f73f87d7a6f in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.4.6.0
#24 0x00007f73f87d7a6f in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.4.6.0
#25 0x00007f73f87d8403 in Digikam::CollectionScanner::scanAlbumRoot(Digikam::CollectionLocation const&) () from /usr/lib/libdigikamdatabase.so.4.6.0
#26 0x00007f73f87d9c55 in Digikam::CollectionScanner::completeScan() () from /usr/lib/libdigikamdatabase.so.4.6.0
#27 0x00000000005e8f50 in ?? ()
#28 0x00007f73f3b7e05f in ?? () from /usr/lib/libQtCore.so.4
#29 0x00007f73f17d9314 in start_thread () from /usr/lib/libpthread.so.0
#30 0x00007f73f30a524d in clone () from /usr/lib/libc.so.6

Thread 6 (Thread 0x7f73cbea0700 (LWP 27592)):
#0  0x00007f73f309c44d in poll () from /usr/lib/libc.so.6
#1  0x00007f73ec421c94 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f73ec421dac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f73f3cb7397 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007f73f3c86de1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f73f3c87145 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f73f3b7b7f9 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f73f3c676c3 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f73f3b7e05f in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f73f17d9314 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f73f30a524d in clone () from /usr/lib/libc.so.6

Thread 5 (Thread 0x7f733bfff700 (LWP 27633)):
#0  0x00007f73f309842d in read () from /usr/lib/libc.so.6
#1  0x00007f73ec464b80 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f73ec42171c in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#3  0x00007f73ec421c33 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f73ec421dac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f73f3cb7397 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f73f3c86de1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x00007f73f3c87145 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#8  0x00007f73f3b7b7f9 in QThread::exec() () from /usr/lib/libQtCore.so.4
#9  0x00007f73f3c676c3 in ?? () from /usr/lib/libQtCore.so.4
#10 0x00007f73f3b7e05f in ?? () from /usr/lib/libQtCore.so.4
#11 0x00007f73f17d9314 in start_thread () from /usr/lib/libpthread.so.0
#12 0x00007f73f30a524d in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7f73339a8700 (LWP 27634)):
#0  0x00007f73f17de8cf in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f73e614b52f in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007f73e614b569 in ?? () from /usr/lib/libQtWebKit.so.4
#3  0x00007f73f17d9314 in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f73f30a524d in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f72f31a5700 (LWP 27635)):
#0  0x00007f73f17de8cf in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f73e5e7a493 in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007f73e617c416 in ?? () from /usr/lib/libQtWebKit.so.4
#3  0x00007f73f17d9314 in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f73f30a524d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f72f1da3700 (LWP 27672)):
#0  0x00007f73ec466019 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#1  0x00007f73ec42167c in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#2  0x00007f73ec421c33 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0x00007f73ec421dac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0x00007f73f3cb7397 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f73f3c86de1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f73f3c87145 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x00007f73f3b7b7f9 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0x00007f73f3b7e05f in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f73f17d9314 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f73f30a524d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f73fa23fa00 (LWP 27589)):
#0  0x00007f73f17de8cf in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f73f3b7e5b6 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f73f3b7dbee in QThread::wait(unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x00000000005e753b in ?? ()
#4  0x00000000005e7807 in ?? ()
#5  0x00007f73f2ff3392 in __run_exit_handlers () from /usr/lib/libc.so.6
#6  0x00007f73f2ff33e5 in exit () from /usr/lib/libc.so.6
#7  0x00007f73f4954138 in ?? () from /usr/lib/libQtGui.so.4
#8  0x00007f73f565bc40 in KApplication::xioErrhandler(_XDisplay*) () from /usr/lib/libkdeui.so.5
#9  0x00007f73f023b99e in _XIOError () from /usr/lib/libX11.so.6
#10 0x00007f73f02392fd in _XEventsQueued () from /usr/lib/libX11.so.6
#11 0x00007f73f022aba0 in XEventsQueued () from /usr/lib/libX11.so.6
#12 0x00007f73f498be0c in ?? () from /usr/lib/libQtGui.so.4
#13 0x00007f73ec421671 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#14 0x00007f73ec421c33 in ?? () from /usr/lib/libglib-2.0.so.0
#15 0x00007f73ec421dac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#16 0x00007f73f3cb737d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#17 0x00007f73f498c3a6 in ?? () from /usr/lib/libQtGui.so.4
#18 0x00007f73f3c86de1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#19 0x00007f73f3c87145 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#20 0x00000000005e4961 in ?? ()
#21 0x000000000052a167 in ?? ()
#22 0x00007f73f3ca1491 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#23 0x00007f73f48e89ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#24 0x00007f73f48ef408 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#25 0x00007f73f565d1ea in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#26 0x00007f73f3c8828d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#27 0x00007f73f3c8b651 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#28 0x00007f73f3cb7233 in ?? () from /usr/lib/libQtCore.so.4
#29 0x00007f73ec421a0d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#30 0x00007f73ec421cf8 in ?? () from /usr/lib/libglib-2.0.so.0
#31 0x00007f73ec421dac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#32 0x00007f73f3cb737d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#33 0x00007f73f498c3a6 in ?? () from /usr/lib/libQtGui.so.4
#34 0x00007f73f3c86de1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#35 0x00007f73f3c87145 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#36 0x00007f73f3c8c6e9 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#37 0x00000000004966d6 in ?? ()
#38 0x00007f73f2fdd040 in __libc_start_main () from /usr/lib/libc.so.6
#39 0x0000000000498f8f in _start ()

Possible duplicates by query: bug 342666, bug 342604, bug 342030, bug 342000, bug 341554.

Reported using DrKonqi
Comment 1 caulier.gilles 2015-02-02 21:57:01 UTC

*** This bug has been marked as a duplicate of bug 340373 ***
Comment 2 caulier.gilles 2018-02-28 12:38:02 UTC
With 6.0.0, we have now a FFMpeg low level metadata parser based on libav C API
for video files database registration.

The Exiv2 video support is not used anymore as this code is buggous and nobody
sound motivated in Exiv2 to finalize the code.

The original post for this file must be fixed now and video metadata support
with ffmpeg must be enough to populate database entries.

Gilles Caulier