Bug 342712

Summary: Crash on collection scanning
Product: [Applications] digikam Reporter: der_fenix <derfenix>
Component: Metadata-VideoAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, me
Priority: NOR Keywords: drkonqi
Version: 4.5.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 6.0.0

Description der_fenix 2015-01-10 23:12:14 UTC
Application: digikam (4.5.0)
KDE Platform Version: 4.14.3
Qt Version: 4.8.6
Operating System: Linux 3.18.2-2-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
Append new collection with few thouthands photos. Digikam starts scanning and crash every time before 50%.

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Floating point exception
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fdbdbb3f9c0 (LWP 4187))]

Thread 4 (Thread 0x7fdbb4741700 (LWP 4188)):
#0  0x00007fdbd499d44d in poll () from /usr/lib/libc.so.6
#1  0x00007fdbba01670c in ?? () from /usr/lib/libusb-1.0.so.0
#2  0x00007fdbd38fe314 in start_thread () from /usr/lib/libpthread.so.0
#3  0x00007fdbd49a624d in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7fdbae508700 (LWP 4189)):
[KCrash Handler]
#5  0x00007fdbd3eb4726 in Exiv2::QuickTimeVideo::mediaHeaderDecoder(unsigned long) () from /usr/lib/libexiv2.so.13
#6  0x00007fdbd3eb6dab in Exiv2::QuickTimeVideo::tagDecoder(Exiv2::DataBuf&, unsigned long) () from /usr/lib/libexiv2.so.13
#7  0x00007fdbd3eb71a0 in Exiv2::QuickTimeVideo::decodeBlock() () from /usr/lib/libexiv2.so.13
#8  0x00007fdbd3eb6d40 in Exiv2::QuickTimeVideo::tagDecoder(Exiv2::DataBuf&, unsigned long) () from /usr/lib/libexiv2.so.13
#9  0x00007fdbd3eb71a0 in Exiv2::QuickTimeVideo::decodeBlock() () from /usr/lib/libexiv2.so.13
#10 0x00007fdbd3eb73d5 in Exiv2::QuickTimeVideo::readMetadata() () from /usr/lib/libexiv2.so.13
#11 0x00007fdbdb2c059d in KExiv2Iface::KExiv2::load(QString const&) const () from /usr/lib/libkexiv2.so.11
#12 0x00007fdbda282366 in Digikam::DMetadata::load(QString const&) const () from /usr/lib/libdigikamcore.so.4.5.0
#13 0x00007fdbda82c8a7 in Digikam::ImageScanner::loadFromDisk() () from /usr/lib/libdigikamdatabase.so.4.5.0
#14 0x00007fdbda82ca90 in Digikam::ImageScanner::newFile(int) () from /usr/lib/libdigikamdatabase.so.4.5.0
#15 0x00007fdbda7be006 in Digikam::CollectionScanner::scanNewFile(QFileInfo const&, int) () from /usr/lib/libdigikamdatabase.so.4.5.0
#16 0x00007fdbda7c16e2 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.4.5.0
#17 0x00007fdbda7c1f33 in Digikam::CollectionScanner::scanAlbumRoot(Digikam::CollectionLocation const&) () from /usr/lib/libdigikamdatabase.so.4.5.0
#18 0x00007fdbda7c3785 in Digikam::CollectionScanner::completeScan() () from /usr/lib/libdigikamdatabase.so.4.5.0
#19 0x00000000005e8180 in ?? ()
#20 0x00007fdbd547f05f in ?? () from /usr/lib/libQtCore.so.4
#21 0x00007fdbd38fe314 in start_thread () from /usr/lib/libpthread.so.0
#22 0x00007fdbd49a624d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7fdbadd07700 (LWP 4190)):
#0  0x00007fdbd499d44d in poll () from /usr/lib/libc.so.6
#1  0x00007fdbcdc20c94 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007fdbcdc20dac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007fdbd55b8397 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007fdbd5587de1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007fdbd5588145 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007fdbd547c7f9 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007fdbd55686c3 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007fdbd547f05f in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007fdbd38fe314 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007fdbd49a624d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7fdbdbb3f9c0 (LWP 4187)):
#0  0x00007fdbd39038cf in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007fdbd547f5b6 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fdbd547ebee in QThread::wait(unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x00000000005e673b in ?? ()
#4  0x00000000005e6a07 in ?? ()
#5  0x00007fdbd48f4392 in __run_exit_handlers () from /usr/lib/libc.so.6
#6  0x00007fdbd48f43e5 in exit () from /usr/lib/libc.so.6
#7  0x00007fdbd6255138 in ?? () from /usr/lib/libQtGui.so.4
#8  0x00007fdbd6f5cc40 in KApplication::xioErrhandler(_XDisplay*) () from /usr/lib/libkdeui.so.5
#9  0x00007fdbd260f99e in _XIOError () from /usr/lib/libX11.so.6
#10 0x00007fdbd260d2fd in _XEventsQueued () from /usr/lib/libX11.so.6
#11 0x00007fdbd25feba0 in XEventsQueued () from /usr/lib/libX11.so.6
#12 0x00007fdbd628ce0c in ?? () from /usr/lib/libQtGui.so.4
#13 0x00007fdbcdc20671 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#14 0x00007fdbcdc20c33 in ?? () from /usr/lib/libglib-2.0.so.0
#15 0x00007fdbcdc20dac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#16 0x00007fdbd55b837d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#17 0x00007fdbd628d3a6 in ?? () from /usr/lib/libQtGui.so.4
#18 0x00007fdbd5587de1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#19 0x00007fdbd5588145 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#20 0x00000000005e3b61 in ?? ()
#21 0x0000000000528a87 in ?? ()
#22 0x00007fdbd55a2491 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#23 0x00007fdbd61e99ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#24 0x00007fdbd61f0408 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#25 0x00007fdbd6f5e1ea in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#26 0x00007fdbd558928d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#27 0x00007fdbd558c651 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#28 0x00007fdbd55b8233 in ?? () from /usr/lib/libQtCore.so.4
#29 0x00007fdbcdc20a0d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#30 0x00007fdbcdc20cf8 in ?? () from /usr/lib/libglib-2.0.so.0
#31 0x00007fdbcdc20dac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#32 0x00007fdbd55b837d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#33 0x00007fdbd628d3a6 in ?? () from /usr/lib/libQtGui.so.4
#34 0x00007fdbd5587de1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#35 0x00007fdbd5588145 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#36 0x00007fdbd558d6e9 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#37 0x0000000000495816 in ?? ()
#38 0x00007fdbd48de040 in __libc_start_main () from /usr/lib/libc.so.6
#39 0x00000000004980bf in _start ()

Possible duplicates by query: bug 341433.

Reported using DrKonqi
Comment 1 caulier.gilles 2015-01-11 06:39:02 UTC

*** This bug has been marked as a duplicate of bug 341433 ***
Comment 2 Christian Lorch 2015-03-18 14:35:20 UTC
Hi,
actually using digikam 4.6 (original openSUSE 13.2) and updated 4.8 vom KDE:extra repository.

in both versions (4.8 works better) digikam cannot build my collection of photos after a complete new installation, i had to import my files (mostly jpg from different canons powershot G?? and DSLR, some videos) in the folders (i sort them in folders (one for each year and inside the folders per year there are the shooting-folders by date_location).
Even importing year by year it took several times until all my files are imported to the digikam database (sqlite), digikam crashed often (or stopped working with or without high cpu load), needed to remove some folders and add them later.
It didnt change if moving photo-folder into digikam album-folder was done while digikam was open or closed and if new photos were detected while starting digikam or via digikam-extras-Wartung (Service in english?)

is there a solution, planned changes in the future or how can the import of large collections be done - i think this is a "old" problem of digikam!?
Comment 3 caulier.gilles 2018-02-28 12:38:36 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