Bug 331450

Summary: Signal 8 on album opening
Product: digikam Reporter: kde
Component: Metadata-VideoAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, kde-bugs
Priority: NOR Keywords: drkonqi
Version: 3.5.0   
Target Milestone: ---   
Platform: Archlinux Packages   
OS: Linux   
Latest Commit: Version Fixed In: 6.0.0

Description kde 2014-02-24 07:02:54 UTC
Application: digikam (3.5.0)
KDE Platform Version: 4.12.2
Qt Version: 4.8.5
Operating System: Linux 3.12.9-2-ARCH x86_64
Distribution: "Arch Linux"

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

Opening an album. It happens with every album I tried that has no thumbnails generated. They include Sony generated JPG and ARW only.

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".
To enable execution of this file add
	add-auto-load-safe-path /usr/lib/libstdc++.so.6.0.19-gdb.py
line to your configuration file "/home/z-247/.gdbinit".
To completely disable this security protection add
	set auto-load safe-path /
line to your configuration file "/home/z-247/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
	info "(gdb)Auto-loading safe path"
[Current thread is 1 (Thread 0x7f3ace6699c0 (LWP 12750))]

Thread 4 (Thread 0x7f3aa9b7a700 (LWP 12751)):
#0  0x00007f3ac814b35d in poll () from /usr/lib/libc.so.6
#1  0x00007f3aafa54908 in ?? () from /usr/lib/libusb-1.0.so.0
#2  0x00007f3ac5e880a2 in start_thread () from /usr/lib/libpthread.so.0
#3  0x00007f3ac8153d1d in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f3aa3a19700 (LWP 12752)):
[KCrash Handler]
#5  0x00007f3ac42ba7d5 in Exiv2::QuickTimeVideo::movieHeaderDecoder(unsigned long) () from /usr/lib/libexiv2.so.13
#6  0x00007f3ac42bbd9b in Exiv2::QuickTimeVideo::tagDecoder(Exiv2::DataBuf&, unsigned long) () from /usr/lib/libexiv2.so.13
#7  0x00007f3ac42bc1a0 in Exiv2::QuickTimeVideo::decodeBlock() () from /usr/lib/libexiv2.so.13
#8  0x00007f3ac42bbd40 in Exiv2::QuickTimeVideo::tagDecoder(Exiv2::DataBuf&, unsigned long) () from /usr/lib/libexiv2.so.13
#9  0x00007f3ac42bc1a0 in Exiv2::QuickTimeVideo::decodeBlock() () from /usr/lib/libexiv2.so.13
#10 0x00007f3ac42bc3d5 in Exiv2::QuickTimeVideo::readMetadata() () from /usr/lib/libexiv2.so.13
#11 0x00007f3acc490be5 in KExiv2Iface::KExiv2::load(QString const&) const () from /usr/lib/libkexiv2.so.11
#12 0x00007f3acbd99bb6 in Digikam::DMetadata::load(QString const&) const () from /usr/lib/libdigikamcore.so.3
#13 0x00007f3acb7dd18f in Digikam::ImageScanner::loadFromDisk() () from /usr/lib/libdigikamdatabase.so.3
#14 0x00007f3acb7dd370 in Digikam::ImageScanner::newFile(int) () from /usr/lib/libdigikamdatabase.so.3
#15 0x00007f3acb776066 in Digikam::CollectionScanner::scanNewFile(QFileInfo const&, int) () from /usr/lib/libdigikamdatabase.so.3
#16 0x00007f3acb7791df in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.3
#17 0x00007f3acb779097 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.3
#18 0x00007f3acb779097 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.3
#19 0x00007f3acb779aa3 in Digikam::CollectionScanner::scanAlbumRoot(Digikam::CollectionLocation const&) () from /usr/lib/libdigikamdatabase.so.3
#20 0x00007f3acb77a67d in Digikam::CollectionScanner::completeScan() () from /usr/lib/libdigikamdatabase.so.3
#21 0x00000000005d5b0f in ?? ()
#22 0x00007f3ac8c25d8f in ?? () from /usr/lib/libQtCore.so.4
#23 0x00007f3ac5e880a2 in start_thread () from /usr/lib/libpthread.so.0
#24 0x00007f3ac8153d1d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f3aa3218700 (LWP 12753)):
#0  0x00007f3ac0865fba in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007f3ac0866269 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3ac0825c39 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3ac08264a3 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3ac082668c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac8d52b46 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f3ac8d24b1f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x00007f3ac8d24e15 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#8  0x00007f3ac8c236ef in QThread::exec() () from /usr/lib/libQtCore.so.4
#9  0x00007f3ac8d062c3 in ?? () from /usr/lib/libQtCore.so.4
#10 0x00007f3ac8c25d8f in ?? () from /usr/lib/libQtCore.so.4
#11 0x00007f3ac5e880a2 in start_thread () from /usr/lib/libpthread.so.0
#12 0x00007f3ac8153d1d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f3ace6699c0 (LWP 12750)):
#0  0x00007f3ac5e8c04f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f3ac8c26266 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f3ac8c2595e in QThread::wait(unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x00000000005d419b in ?? ()
#4  0x00000000005d4317 in ?? ()
#5  0x00007f3ac80a5e69 in __run_exit_handlers () from /usr/lib/libc.so.6
#6  0x00007f3ac80a5eb5 in exit () from /usr/lib/libc.so.6
#7  0x00007f3ac978b888 in ?? () from /usr/lib/libQtGui.so.4
#8  0x00007f3aca443330 in KApplication::xioErrhandler(_XDisplay*) () from /usr/lib/libkdeui.so.5
#9  0x00007f3ac642127e in _XIOError () from /usr/lib/libX11.so.6
#10 0x00007f3ac641ec6d in _XEventsQueued () from /usr/lib/libX11.so.6
#11 0x00007f3ac6410d3b in XEventsQueued () from /usr/lib/libX11.so.6
#12 0x00007f3ac97c1c8c in ?? () from /usr/lib/libQtGui.so.4
#13 0x00007f3ac0826001 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#14 0x00007f3ac082651b in ?? () from /usr/lib/libglib-2.0.so.0
#15 0x00007f3ac082668c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#16 0x00007f3ac8d52b25 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#17 0x00007f3ac97c2216 in ?? () from /usr/lib/libQtGui.so.4
#18 0x00007f3ac8d24b1f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#19 0x00007f3ac8d24e15 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#20 0x00000000005d1809 in ?? ()
#21 0x000000000051937a in ?? ()
#22 0x00007f3ac8d3defe in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#23 0x00007f3ac97250dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#24 0x00007f3ac972b6a0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#25 0x00007f3aca44477a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#26 0x00007f3ac8d25ebd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#27 0x00007f3ac8d28f0f in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#28 0x00007f3ac8d53263 in ?? () from /usr/lib/libQtCore.so.4
#29 0x00007f3ac0826296 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#30 0x00007f3ac08265e8 in ?? () from /usr/lib/libglib-2.0.so.0
#31 0x00007f3ac082668c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#32 0x00007f3ac8d52b25 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#33 0x00007f3ac97c2216 in ?? () from /usr/lib/libQtGui.so.4
#34 0x00007f3ac8d24b1f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#35 0x00007f3ac8d24e15 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#36 0x00007f3ac8d29f4b in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#37 0x0000000000491ed3 in ?? ()
#38 0x00007f3ac808fb05 in __libc_start_main () from /usr/lib/libc.so.6
#39 0x00000000004944cf in _start ()

Reported using DrKonqi
Comment 1 caulier.gilles 2014-02-24 07:44:25 UTC
Crash is in Exiv2 shared lib, especially in video metadata parser.

Please report this bug to Exiv2 shared lib bugzilla :


http://dev.exiv2.org/projects/exiv2/issues
Comment 2 Teemu Rytilahti 2014-02-25 21:15:29 UTC
*** Bug 331506 has been marked as a duplicate of this bug. ***
Comment 3 caulier.gilles 2018-02-28 12:39:08 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