Bug 352777

Summary: crash during scan
Product: [Applications] digikam Reporter: Stefan Nantz <stefan.nantz>
Component: Metadata-VideoAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR Keywords: drkonqi
Version: 4.13.0   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 6.0.0

Description Stefan Nantz 2015-09-16 00:50:26 UTC
Application: digikam (4.13.0)
KDE Platform Version: 4.14.9
Qt Version: 4.8.6
Operating System: Linux 4.1.6-201.fc22.x86_64 x86_64
Distribution: "Fedora release 22 (Twenty Two)"

-- Information about the crash:
- What I was doing when the application crashed:
just started the digikam and the scan of 70GB of pics and video started, it keep on crashing at ~80%
reproducable

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Floating point exception
Using host libthread_db library "/lib64/libthread_db.so.1".
pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
185	62:	movl	(%rsp), %edi
[Current thread is 1 (Thread 0x7fc345e8eb00 (LWP 9880))]

Thread 4 (Thread 0x7fc3175c2700 (LWP 9881)):
#0  0x00007fc3391cd97d in recvmsg () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fc345efc83b in udev_monitor_receive_device () from /lib64/libudev.so.1
#2  0x00007fc336aef618 in linux_udev_event_thread_main (arg=<optimized out>) at os/linux_udev.c:187
#3  0x00007fc3391c5555 in start_thread (arg=0x7fc3175c2700) at pthread_create.c:333
#4  0x00007fc3386e4b9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fc311279700 (LWP 9882)):
[KCrash Handler]
#6  0x00007fc337be35b5 in Exiv2::QuickTimeVideo::movieHeaderDecoder (this=this@entry=0x7fc30cf5e610, size=84, size@entry=100) at quicktimevideo.cpp:1576
#7  0x00007fc337be46db in Exiv2::QuickTimeVideo::tagDecoder (this=this@entry=0x7fc30cf5e610, buf=..., size=size@entry=100) at quicktimevideo.cpp:690
#8  0x00007fc337be4ae0 in Exiv2::QuickTimeVideo::decodeBlock (this=this@entry=0x7fc30cf5e610) at quicktimevideo.cpp:672
#9  0x00007fc337be46b8 in Exiv2::QuickTimeVideo::tagDecoder (this=this@entry=0x7fc30cf5e610, buf=..., size=size@entry=4960) at quicktimevideo.cpp:681
#10 0x00007fc337be4ae0 in Exiv2::QuickTimeVideo::decodeBlock (this=0x7fc30cf5e610) at quicktimevideo.cpp:672
#11 0x00007fc337be4d55 in Exiv2::QuickTimeVideo::readMetadata (this=0x7fc30cf5e610) at quicktimevideo.cpp:645
#12 0x00007fc3453e05e5 in KExiv2Iface::KExiv2::load (this=this@entry=0x7fc30cf5a040, filePath=...) at ../../libkexiv2/kexiv2.cpp:310
#13 0x00007fc3430a9536 in Digikam::DMetadata::load (this=this@entry=0x7fc30cf5a040, filePath=...) at ../../../core/libs/dmetadata/dmetadata.cpp:110
#14 0x00007fc343668d37 in Digikam::ImageScanner::loadFromDisk (this=this@entry=0x7fc311278270) at ../../../core/libs/database/imagescanner.cpp:1550
#15 0x00007fc343668f70 in Digikam::ImageScanner::newFile (this=this@entry=0x7fc311278270, albumId=albumId@entry=580) at ../../../core/libs/database/imagescanner.cpp:289
#16 0x00007fc3435f94eb in Digikam::CollectionScanner::scanNewFile (this=this@entry=0x7fc311278a60, info=..., albumId=580) at ../../../core/libs/database/collectionscanner.cpp:1255
#17 0x00007fc3435fdf47 in Digikam::CollectionScanner::scanAlbum (this=this@entry=0x7fc311278a60, location=..., album=...) at ../../../core/libs/database/collectionscanner.cpp:1090
#18 0x00007fc3435fde36 in Digikam::CollectionScanner::scanAlbum (this=this@entry=0x7fc311278a60, location=..., album=...) at ../../../core/libs/database/collectionscanner.cpp:1113
#19 0x00007fc3435fde36 in Digikam::CollectionScanner::scanAlbum (this=this@entry=0x7fc311278a60, location=..., album=...) at ../../../core/libs/database/collectionscanner.cpp:1113
#20 0x00007fc3435fe9f3 in Digikam::CollectionScanner::scanAlbumRoot (this=this@entry=0x7fc311278a60, location=...) at ../../../core/libs/database/collectionscanner.cpp:829
#21 0x00007fc3435ffa9b in Digikam::CollectionScanner::completeScan (this=this@entry=0x7fc311278a60) at ../../../core/libs/database/collectionscanner.cpp:490
#22 0x0000000000604707 in Digikam::ScanController::run (this=0x19d7010) at ../../../core/app/database/scancontroller.cpp:756
#23 0x00007fc339454aac in QThreadPrivate::start (arg=0x19d7010) at thread/qthread_unix.cpp:349
#24 0x00007fc3391c5555 in start_thread (arg=0x7fc311279700) at pthread_create.c:333
#25 0x00007fc3386e4b9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fc310a78700 (LWP 9883)):
#0  0x00007ffdb0902c66 in clock_gettime ()
#1  0x00007fc3386f2d9d in __GI___clock_gettime (clock_id=<optimized out>, tp=<optimized out>) at ../sysdeps/unix/clock_gettime.c:115
#2  0x00007fc3394af2f5 in do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at tools/qelapsedtimer_unix.cpp:127
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:144
#4  0x00007fc339595385 in updateCurrentTime (this=0x7fc304002ee0) at kernel/qeventdispatcher_unix.cpp:354
#5  QTimerInfoList::timerWait (this=0x7fc304002ee0, tm=...) at kernel/qeventdispatcher_unix.cpp:460
#6  0x00007fc339593bbc in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7fc310a778b4) at kernel/qeventdispatcher_glib.cpp:143
#7  0x00007fc339593c85 in timerSourcePrepare (source=<optimized out>, timeout=timeout@entry=0x7fc310a778b4) at kernel/qeventdispatcher_glib.cpp:176
#8  0x00007fc3332c735d in g_main_context_prepare (context=context@entry=0x7fc3040009a0, priority=priority@entry=0x7fc310a77940) at gmain.c:3410
#9  0x00007fc3332c7ceb in g_main_context_iterate (context=context@entry=0x7fc3040009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3788
#10 0x00007fc3332c7ecc in g_main_context_iteration (context=0x7fc3040009a0, may_block=1) at gmain.c:3869
#11 0x00007fc3395944ee in QEventDispatcherGlib::processEvents (this=0x7fc3040008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#12 0x00007fc339562791 in QEventLoop::processEvents (this=this@entry=0x7fc310a77a80, flags=...) at kernel/qeventloop.cpp:149
#13 0x00007fc339562b05 in QEventLoop::exec (this=this@entry=0x7fc310a77a80, flags=...) at kernel/qeventloop.cpp:204
#14 0x00007fc339452289 in QThread::exec (this=this@entry=0x19da940) at thread/qthread.cpp:538
#15 0x00007fc339542863 in QInotifyFileSystemWatcherEngine::run (this=0x19da940) at io/qfilesystemwatcher_inotify.cpp:265
#16 0x00007fc339454aac in QThreadPrivate::start (arg=0x19da940) at thread/qthread_unix.cpp:349
#17 0x00007fc3391c5555 in start_thread (arg=0x7fc310a78700) at pthread_create.c:333
#18 0x00007fc3386e4b9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7fc345e8eb00 (LWP 9880)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fc339455016 in wait (time=18446744073709551615, this=0x19d7140) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x19d70f0, mutex=mutex@entry=0x19d70c8, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fc33945463e in QThread::wait (this=this@entry=0x19d7010, time=time@entry=18446744073709551615) at thread/qthread_unix.cpp:720
#4  0x00000000005ff929 in Digikam::ScanController::shutDown (this=this@entry=0x19d7010) at ../../../core/app/database/scancontroller.cpp:361
#5  0x000000000060224b in Digikam::ScanController::~ScanController (this=0x19d7010, __in_chrg=<optimized out>) at ../../../core/app/database/scancontroller.cpp:337
#6  0x0000000000602417 in ~ScanControllerCreator (this=0x19d7010, __in_chrg=<optimized out>) at ../../../core/app/database/scancontroller.cpp:277
#7  destroy () at ../../../core/app/database/scancontroller.cpp:284
#8  0x00007fc33861b648 in __run_exit_handlers (status=1, listp=0x7fc33899c5f8 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:82
#9  0x00007fc33861b695 in __GI_exit (status=<optimized out>) at exit.c:104
#10 0x00007fc33a281be8 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:773
#11 0x00007fc33b1e89a0 in KApplication::xioErrhandler (this=0x7ffdb08029c0, dpy=0x186e560) at ../../kdeui/kernel/kapplication.cpp:419
#12 0x00007fc3363bf49e in _XIOError (dpy=dpy@entry=0x186e560) at XlibInt.c:1464
#13 0x00007fc3363bcd2d in _XEventsQueued (dpy=dpy@entry=0x186e560, mode=mode@entry=2) at xcb_io.c:366
#14 0x00007fc3363ae609 in XEventsQueued (dpy=0x186e560, mode=2) at Pending.c:43
#15 0x00007fc33a2bb04c in x11EventSourceCheck (s=0x1867d40) at kernel/qguieventdispatcher_glib.cpp:85
#16 0x00007fc3332c7801 in g_main_context_check (context=context@entry=0x1879d90, max_priority=2147483647, fds=fds@entry=0x37b4410, n_fds=n_fds@entry=11) at gmain.c:3649
#17 0x00007fc3332c7d60 in g_main_context_iterate (context=context@entry=0x1879d90, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3805
#18 0x00007fc3332c7ecc in g_main_context_iteration (context=0x1879d90, may_block=1) at gmain.c:3869
#19 0x00007fc3395944ce in QEventDispatcherGlib::processEvents (this=0x17c33f0, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#20 0x00007fc33a2bb626 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#21 0x00007fc339562791 in QEventLoop::processEvents (this=this@entry=0x19adf10, flags=...) at kernel/qeventloop.cpp:149
#22 0x00007fc339562b05 in QEventLoop::exec (this=0x19adf10, flags=...) at kernel/qeventloop.cpp:204
#23 0x00000000005ffdf1 in Digikam::ScanController::completeCollectionScanCore (this=0x19d7010, needTotalFiles=needTotalFiles@entry=true, defer=defer@entry=false) at ../../../core/app/database/scancontroller.cpp:486
#24 0x00000000005fff0e in Digikam::ScanController::completeCollectionScanInBackground (this=<optimized out>, defer=defer@entry=false) at ../../../core/app/database/scancontroller.cpp:471
#25 0x0000000000533587 in Digikam::NewItemsFinder::slotStart (this=0x40d4870) at ../../../core/utilities/maintenance/newitemsfinder.cpp:112
#26 0x00007fc33957de61 in QObject::event (this=0x40d4870, e=<optimized out>) at kernel/qobject.cpp:1222
#27 0x00007fc33a2153ac in QApplicationPrivate::notify_helper (this=this@entry=0x187bb70, receiver=receiver@entry=0x40d4870, e=e@entry=0x19d7cc0) at kernel/qapplication.cpp:4565
#28 0x00007fc33a21c206 in QApplication::notify (this=this@entry=0x7ffdb08029c0, receiver=receiver@entry=0x40d4870, e=e@entry=0x19d7cc0) at kernel/qapplication.cpp:4351
#29 0x00007fc33b1ea05a in KApplication::notify (this=0x7ffdb08029c0, receiver=0x40d4870, event=0x19d7cc0) at ../../kdeui/kernel/kapplication.cpp:311
#30 0x00007fc339563f1d in QCoreApplication::notifyInternal (this=0x7ffdb08029c0, receiver=receiver@entry=0x40d4870, event=event@entry=0x19d7cc0) at kernel/qcoreapplication.cpp:953
#31 0x00007fc339567536 in sendEvent (event=0x19d7cc0, receiver=0x40d4870) at kernel/qcoreapplication.h:231
#32 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x17c1aa0) at kernel/qcoreapplication.cpp:1577
#33 0x00007fc339567813 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
#34 0x00007fc33959435e in sendPostedEvents () at kernel/qcoreapplication.h:236
#35 postEventSourceDispatch (s=0x18696f0) at kernel/qeventdispatcher_glib.cpp:300
#36 0x00007fc3332c7a8a in g_main_dispatch (context=0x1879d90) at gmain.c:3122
#37 g_main_context_dispatch (context=context@entry=0x1879d90) at gmain.c:3737
#38 0x00007fc3332c7e20 in g_main_context_iterate (context=context@entry=0x1879d90, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3808
#39 0x00007fc3332c7ecc in g_main_context_iteration (context=0x1879d90, may_block=1) at gmain.c:3869
#40 0x00007fc3395944ce in QEventDispatcherGlib::processEvents (this=0x17c33f0, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#41 0x00007fc33a2bb626 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#42 0x00007fc339562791 in QEventLoop::processEvents (this=this@entry=0x7ffdb0802520, flags=...) at kernel/qeventloop.cpp:149
#43 0x00007fc339562b05 in QEventLoop::exec (this=this@entry=0x7ffdb0802520, flags=...) at kernel/qeventloop.cpp:204
#44 0x00007fc3395686a9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#45 0x00007fc33a213b3c in QApplication::exec () at kernel/qapplication.cpp:3823
#46 0x000000000049652e in main (argc=<optimized out>, argv=<optimized out>) at ../../../core/app/main/main.cpp:230

Possible duplicates by query: bug 345457, bug 343643, bug 340879.

Reported using DrKonqi
Comment 1 caulier.gilles 2015-09-16 04:48:06 UTC

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