Bug 342000

Summary: DigiKam crash when opening folder with Videos (Album or SD Card import)
Product: [Applications] digikam Reporter: Andrew M <quantumphazor>
Component: Metadata-VideoAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR Keywords: drkonqi
Version: 4.5.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 6.0.0

Description Andrew M 2014-12-18 12:14:44 UTC
Application: digikam (4.5.0)
KDE Platform Version: 4.14.3
Qt Version: 4.8.6
Operating System: Linux 3.17.6-1-ARCH x86_64
Distribution (Platform): Archlinux Packages

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

I was trying to import pictures from an SD card that also contined videos when DigiKam crashed. Unsure if it was just the importer I manually copied the contents to an album folder via Dolphin. DigiKam worked fine opening other albums with just photos and crashed uppon opening the album with the videos.

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 0x7feb61e94a00 (LWP 17339))]

Thread 4 (Thread 0x7feb3b8a8700 (LWP 17340)):
#0  0x00007feb5ad367bd in poll () from /usr/lib/libc.so.6
#1  0x00007feb41edc70c in ?? () from /usr/lib/libusb-1.0.so.0
#2  0x00007feb58f4d314 in start_thread () from /usr/lib/libpthread.so.0
#3  0x00007feb5ad3f5bd in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7feb34f2b700 (LWP 17341)):
[KCrash Handler]
#5  0x00007feb5ac8aa97 in raise () from /usr/lib/libc.so.6
#6  0x00007feb5ac8be6a in abort () from /usr/lib/libc.so.6
#7  0x00007feb5acca623 in __libc_message () from /usr/lib/libc.so.6
#8  0x00007feb5accfa9e in malloc_printerr () from /usr/lib/libc.so.6
#9  0x00007feb5acd025b in _int_free () from /usr/lib/libc.so.6
#10 0x00007feb58bbdd9e in ~DataBuf (this=0x7feb34f29f90, __in_chrg=<optimized out>) at /home/andrew/builds/ABS/exiv2/src/exiv2-0.24/src/types.hpp:209
#11 Exiv2::RiffVideo::infoTagsHandler (this=0x7feb30040870) at /home/andrew/builds/ABS/exiv2/src/exiv2-0.24/src/riffvideo.cpp:887
#12 0x00007feb58bc1d2f in Exiv2::RiffVideo::decodeBlock (this=this@entry=0x7feb30040870) at /home/andrew/builds/ABS/exiv2/src/exiv2-0.24/src/riffvideo.cpp:574
#13 0x00007feb58bc1958 in Exiv2::RiffVideo::tagDecoder (this=this@entry=0x7feb30040870, buf=..., size=<optimized out>) at /home/andrew/builds/ABS/exiv2/src/exiv2-0.24/src/riffvideo.cpp:587
#14 0x00007feb58bc1d2f in Exiv2::RiffVideo::decodeBlock (this=this@entry=0x7feb30040870) at /home/andrew/builds/ABS/exiv2/src/exiv2-0.24/src/riffvideo.cpp:574
#15 0x00007feb58bc20b0 in Exiv2::RiffVideo::readMetadata (this=0x7feb30040870) at /home/andrew/builds/ABS/exiv2/src/exiv2-0.24/src/riffvideo.cpp:549
#16 0x00007feb6038d7b2 in KExiv2Iface::KExiv2::load (this=this@entry=0x7feb30046100, filePath=...) at /home/andrew/builds/ABS/libkexiv2/src/libkexiv2-4.14.3/libkexiv2/kexiv2.cpp:304
#17 0x00007feb5fc6aa86 in Digikam::DMetadata::load (this=this@entry=0x7feb30046100, filePath=...) at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/libs/dmetadata/dmetadata.cpp:110
#18 0x00007feb5f6a3eb7 in Digikam::ImageScanner::loadFromDisk (this=this@entry=0x7feb34f2a360) at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/libs/database/imagescanner.cpp:1525
#19 0x00007feb5f6a4080 in Digikam::ImageScanner::newFile (this=this@entry=0x7feb34f2a360, albumId=23) at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/libs/database/imagescanner.cpp:285
#20 0x00007feb5f651645 in Digikam::CollectionScanner::scanNewFile (this=this@entry=0x7feb34f2ab90, info=..., albumId=albumId@entry=23) at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/libs/database/collectionscanner.cpp:1247
#21 0x00007feb5f6540a5 in Digikam::CollectionScanner::scanAlbum (this=this@entry=0x7feb34f2ab90, location=..., album=...) at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/libs/database/collectionscanner.cpp:1089
#22 0x00007feb5f653f4f in Digikam::CollectionScanner::scanAlbum (this=this@entry=0x7feb34f2ab90, location=..., album=...) at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/libs/database/collectionscanner.cpp:1112
#23 0x00007feb5f653f4f in Digikam::CollectionScanner::scanAlbum (this=this@entry=0x7feb34f2ab90, location=..., album=...) at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/libs/database/collectionscanner.cpp:1112
#24 0x00007feb5f6544a3 in Digikam::CollectionScanner::scanAlbumRoot (this=this@entry=0x7feb34f2ab90, location=...) at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/libs/database/collectionscanner.cpp:828
#25 0x00007feb5f6552aa in Digikam::CollectionScanner::completeScan (this=this@entry=0x7feb34f2ab90) at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/libs/database/collectionscanner.cpp:489
#26 0x00000000005b2a4e in Digikam::ScanController::run (this=0x273ac40) at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/app/database/scancontroller.cpp:756
#27 0x00007feb5b8239f8 in QThreadPrivate::start (arg=0x273ac40) at thread/qthread_unix.cpp:349
#28 0x00007feb58f4d314 in start_thread () from /usr/lib/libpthread.so.0
#29 0x00007feb5ad3f5bd in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7feb2ffff700 (LWP 17342)):
#0  0x00007feb5ad367bd in poll () from /usr/lib/libc.so.6
#1  0x00007feb54084c94 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007feb54084dac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007feb5b96d627 in QEventDispatcherGlib::processEvents (this=0x7feb280008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007feb5b939301 in QEventLoop::processEvents (this=this@entry=0x7feb2fffeb80, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007feb5b939636 in QEventLoop::exec (this=this@entry=0x7feb2fffeb80, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007feb5b8212fd in QThread::exec (this=this@entry=0x273e320) at thread/qthread.cpp:538
#7  0x00007feb5b918248 in QInotifyFileSystemWatcherEngine::run (this=0x273e320) at io/qfilesystemwatcher_inotify.cpp:265
#8  0x00007feb5b8239f8 in QThreadPrivate::start (arg=0x273e320) at thread/qthread_unix.cpp:349
#9  0x00007feb58f4d314 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007feb5ad3f5bd in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7feb61e94a00 (LWP 17339)):
#0  0x00007feb58f528cf in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007feb5b823f68 in wait (time=18446744073709551615, this=0x273ad70) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x273ad20, mutex=mutex@entry=0x273acf8, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007feb5b8235d6 in QThread::wait (this=this@entry=0x273ac40, time=time@entry=18446744073709551615) at thread/qthread_unix.cpp:720
#4  0x00000000005af813 in Digikam::ScanController::shutDown (this=this@entry=0x273ac40) at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/app/database/scancontroller.cpp:361
#5  0x00000000005b166d in Digikam::ScanController::~ScanController (this=0x273ac40, __in_chrg=<optimized out>) at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/app/database/scancontroller.cpp:337
#6  0x00000000005b18ce in destroy () at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/app/database/scancontroller.cpp:284
#7  0x00007feb5ac8d392 in __run_exit_handlers () from /usr/lib/libc.so.6
#8  0x00007feb5ac8d3e5 in exit () from /usr/lib/libc.so.6
#9  0x00007feb5c63d028 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:773
#10 0x00007feb5d406c40 in KApplication::xioErrhandler(_XDisplay*) () from /usr/lib/libkdeui.so.5
#11 0x00007feb5950799e in _XIOError () from /usr/lib/libX11.so.6
#12 0x00007feb59505aa2 in _XReply () from /usr/lib/libX11.so.6
#13 0x00007feb594eb8cd in XGetWindowProperty () from /usr/lib/libX11.so.6
#14 0x00007feb5c64cb48 in QETWidget::translatePropertyEvent (this=this@entry=0x277fae0, event=event@entry=0x7fffd460ff20) at kernel/qapplication_x11.cpp:5069
#15 0x00007feb5c64e771 in QApplication::x11ProcessEvent (this=0x7fffd4610e40, event=event@entry=0x7fffd460ff20) at kernel/qapplication_x11.cpp:3911
#16 0x00007feb5c677902 in x11EventSourceDispatch (s=0x25aa500, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#17 0x00007feb54084a0d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#18 0x00007feb54084cf8 in ?? () from /usr/lib/libglib-2.0.so.0
#19 0x00007feb54084dac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#20 0x00007feb5b96d60d in QEventDispatcherGlib::processEvents (this=0x25a7840, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#21 0x00007feb5c677a06 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#22 0x00007feb5b939301 in QEventLoop::processEvents (this=this@entry=0x271f170, flags=...) at kernel/qeventloop.cpp:149
#23 0x00007feb5b939636 in QEventLoop::exec (this=0x271f170, flags=...) at kernel/qeventloop.cpp:204
#24 0x00000000005b01a9 in Digikam::ScanController::completeCollectionScanCore (this=0x273ac40, needTotalFiles=needTotalFiles@entry=true, defer=defer@entry=false) at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/app/database/scancontroller.cpp:486
#25 0x00000000005b028e in Digikam::ScanController::completeCollectionScanInBackground (this=<optimized out>, defer=defer@entry=false) at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/app/database/scancontroller.cpp:471
#26 0x0000000000511784 in Digikam::NewItemsFinder::slotStart (this=0x60d0910) at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/utilities/maintenance/newitemsfinder.cpp:112
#27 0x00007feb5b956841 in QObject::event (this=0x60d0910, e=<optimized out>) at kernel/qobject.cpp:1222
#28 0x00007feb5c5c5d51 in QApplicationPrivate::notify_helper (this=this@entry=0x25aa650, receiver=receiver@entry=0x60d0910, e=e@entry=0x273b820) at kernel/qapplication.cpp:4565
#29 0x00007feb5c5cd242 in QApplication::notify (this=0x7fffd4610e40, receiver=0x60d0910, e=0x273b820) at kernel/qapplication.cpp:4351
#30 0x00007feb5d4081ea in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#31 0x00007feb5b93afdd in QCoreApplication::notifyInternal (this=0x7fffd4610e40, receiver=receiver@entry=0x60d0910, event=event@entry=0x273b820) at kernel/qcoreapplication.cpp:953
#32 0x00007feb5b93e8d2 in sendEvent (event=0x273b820, receiver=0x60d0910) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#33 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x24e0550) at kernel/qcoreapplication.cpp:1577
#34 0x00007feb5b93ed23 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
#35 0x00007feb5b96d4c3 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#36 postEventSourceDispatch (s=0x25aaab0) at kernel/qeventdispatcher_glib.cpp:280
#37 0x00007feb54084a0d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#38 0x00007feb54084cf8 in ?? () from /usr/lib/libglib-2.0.so.0
#39 0x00007feb54084dac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#40 0x00007feb5b96d60d in QEventDispatcherGlib::processEvents (this=0x25a7840, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#41 0x00007feb5c677a06 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#42 0x00007feb5b939301 in QEventLoop::processEvents (this=this@entry=0x7fffd4610970, flags=...) at kernel/qeventloop.cpp:149
#43 0x00007feb5b939636 in QEventLoop::exec (this=this@entry=0x7fffd4610970, flags=...) at kernel/qeventloop.cpp:204
#44 0x00007feb5b93fa49 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#45 0x00007feb5c5c418c in QApplication::exec () at kernel/qapplication.cpp:3823
#46 0x000000000049ab4b in main (argc=<optimized out>, argv=<optimized out>) at /home/andrew/builds/ABS/digikam/src/digikam-4.5.0/core/app/main/main.cpp:236

Reported using DrKonqi
Comment 1 caulier.gilles 2014-12-18 12:46:16 UTC

*** This bug has been marked as a duplicate of bug 340373 ***
Comment 2 caulier.gilles 2018-02-28 12:39:23 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