Bug 351689

Summary: Crash on opening digiKam
Product: [Applications] digikam Reporter: 330avdupas-deumil13
Component: Metadata-VideoAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR Keywords: drkonqi
Version: 4.4.0   
Target Milestone: ---   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed In: 6.0.0

Description 330avdupas-deumil13 2015-08-24 11:10:49 UTC
Application: digikam (4.4.0)
KDE Platform Version: 4.14.2
Qt Version: 4.8.6
Operating System: Linux 3.16.0-4-amd64 x86_64
Distribution: Debian GNU/Linux 8.1 (jessie)

-- Information about the crash:
- What I was doing when the application crashed:
I'm just trying log DIGIKam, which crash when open windows.

-- Backtrace:
Application: digiKam (digikam), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
[Current thread is 1 (Thread 0x7f6df77ceac0 (LWP 2070))]

Thread 4 (Thread 0x7f6dd12d4700 (LWP 2071)):
#0  0x00007f6df06ba50d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f6dd59d7fd8 in ?? () from /lib/x86_64-linux-gnu/libusb-1.0.so.0
#2  0x00007f6dec59b0a4 in start_thread (arg=0x7f6dd12d4700) at pthread_create.c:309
#3  0x00007f6df06c304d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f6dcaa2c700 (LWP 2072)):
[KCrash Handler]
#6  0x00007f6df0612107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#7  0x00007f6df06134e8 in __GI_abort () at abort.c:89
#8  0x00007f6df0650204 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7f6df0742fe0 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#9  0x00007f6df06559de in malloc_printerr (action=1, str=0x7f6df07430e8 "double free or corruption (!prev)", ptr=<optimized out>) at malloc.c:4996
#10 0x00007f6df06566e6 in _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840
#11 0x00007f6ded56deca in Exiv2::RiffVideo::infoTagsHandler() () from /usr/lib/x86_64-linux-gnu/libexiv2.so.13
#12 0x00007f6ded571e05 in Exiv2::RiffVideo::decodeBlock() () from /usr/lib/x86_64-linux-gnu/libexiv2.so.13
#13 0x00007f6ded571a38 in Exiv2::RiffVideo::tagDecoder(Exiv2::DataBuf&, unsigned long) () from /usr/lib/x86_64-linux-gnu/libexiv2.so.13
#14 0x00007f6ded571e05 in Exiv2::RiffVideo::decodeBlock() () from /usr/lib/x86_64-linux-gnu/libexiv2.so.13
#15 0x00007f6ded5721b0 in Exiv2::RiffVideo::readMetadata() () from /usr/lib/x86_64-linux-gnu/libexiv2.so.13
#16 0x00007f6df541dd6d in KExiv2Iface::KExiv2::load(QString const&) const () from /usr/lib/libkexiv2.so.11
#17 0x00007f6df4d09c46 in Digikam::DMetadata::load(QString const&) const () from /usr/lib/digikam/libdigikamcore.so.4.4.0
#18 0x00007f6df47249e7 in Digikam::ImageScanner::loadFromDisk() () from /usr/lib/digikam/libdigikamdatabase.so.4.4.0
#19 0x00007f6df4724ba9 in Digikam::ImageScanner::fileModified() () from /usr/lib/digikam/libdigikamdatabase.so.4.4.0
#20 0x00007f6df46b67d6 in Digikam::CollectionScanner::scanModifiedFile(QFileInfo const&, Digikam::ItemScanInfo const&) () from /usr/lib/digikam/libdigikamdatabase.so.4.4.0
#21 0x00007f6df46b6d4f in Digikam::CollectionScanner::scanFileNormal(QFileInfo const&, Digikam::ItemScanInfo const&) () from /usr/lib/digikam/libdigikamdatabase.so.4.4.0
#22 0x00007f6df46b96c2 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/digikam/libdigikamdatabase.so.4.4.0
#23 0x00007f6df46b98df in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/digikam/libdigikamdatabase.so.4.4.0
#24 0x00007f6df46b98df in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/digikam/libdigikamdatabase.so.4.4.0
#25 0x00007f6df46b98df in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/digikam/libdigikamdatabase.so.4.4.0
#26 0x00007f6df46ba273 in Digikam::CollectionScanner::scanAlbumRoot(Digikam::CollectionLocation const&) () from /usr/lib/digikam/libdigikamdatabase.so.4.4.0
#27 0x00007f6df46bbacd in Digikam::CollectionScanner::completeScan() () from /usr/lib/digikam/libdigikamdatabase.so.4.4.0
#28 0x000000000060a870 in ?? ()
#29 0x00007f6df14a170f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#30 0x00007f6dec59b0a4 in start_thread (arg=0x7f6dcaa2c700) at pthread_create.c:309
#31 0x00007f6df06c304d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f6dca22b700 (LWP 2073)):
#0  0x00007f6df06b65dd in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f6de8bf8f40 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f6de8bb596c in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f6de8bb5e83 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f6de8bb5ffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f6df15dad37 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007f6df15aa271 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007f6df15aa5d5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007f6df149ee99 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007f6df158aac3 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#10 0x00007f6df14a170f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#11 0x00007f6dec59b0a4 in start_thread (arg=0x7f6dca22b700) at pthread_create.c:309
#12 0x00007f6df06c304d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f6df77ceac0 (LWP 2070)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f6df14a1c66 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#2  0x00007f6df14a129e in QThread::wait(unsigned long) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#3  0x0000000000608e2b in ?? ()
#4  0x00000000006090f7 in ?? ()
#5  0x00007f6df0614bc9 in __run_exit_handlers (status=1, listp=0x7f6df09805a8 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:82
#6  0x00007f6df0614c15 in __GI_exit (status=<optimized out>) at exit.c:104
#7  0x00007f6df2035cf8 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#8  0x00007f6df2d40c00 in KApplication::xioErrhandler(_XDisplay*) () from /usr/lib/libkdeui.so.5
#9  0x00007f6deeba54fe in _XIOError () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#10 0x00007f6deeba2e5d in _XEventsQueued () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#11 0x00007f6deeb94700 in XEventsQueued () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#12 0x00007f6df206e9fc in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#13 0x00007f6de8bb58c1 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007f6de8bb5e83 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007f6de8bb5ffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007f6df15dad1d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#17 0x00007f6df206ef96 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#18 0x00007f6df15aa271 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#19 0x00007f6df15aa5d5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#20 0x0000000000606261 in ?? ()
#21 0x0000000000529f87 in ?? ()
#22 0x00007f6df15c4e11 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#23 0x00007f6df1fca48c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#24 0x00007f6df1fd0fa8 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#25 0x00007f6df2d421aa in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#26 0x00007f6df15ab71d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#27 0x00007f6df15aefc1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#28 0x00007f6df15dabd3 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#29 0x00007f6de8bb5c5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007f6de8bb5f48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007f6de8bb5ffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007f6df15dad1d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#33 0x00007f6df206ef96 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#34 0x00007f6df15aa271 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#35 0x00007f6df15aa5d5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#36 0x00007f6df15b0059 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#37 0x0000000000495be6 in ?? ()
#38 0x00007f6df05feb45 in __libc_start_main (main=0x494aa0, argc=5, argv=0x7ffdd05c1108, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffdd05c10f8) at libc-start.c:287
#39 0x00000000004981df in _start ()

Possible duplicates by query: bug 348699, bug 348173, bug 347139, bug 347134, bug 347050.

Reported using DrKonqi
Comment 1 330avdupas-deumil13 2015-08-24 16:11:24 UTC
The bug  appear only on a sata disk.
On the same engine, but with ide/ata disk "DIGIKAM" run fine!
Ata disk is connected via SATA interface and a convertor sata/ata.
SATA disk is directely connected on SATA interface.
Comment 2 caulier.gilles 2015-08-24 17:00:41 UTC
Famous Exiv2 bug about Video support. Already reported as UPSTREAM. Update Exiv2 to 0.25 to fix the problem...
Comment 3 caulier.gilles 2015-08-24 17:01:38 UTC

*** This bug has been marked as a duplicate of bug 340373 ***
Comment 4 330avdupas-deumil13 2015-08-29 11:54:31 UTC
Hello,
     If I understand I must install "Exiv2 0.25", I don't know how to do 
with Jessie.
     And I don't understood why on a ATA/IDE interface through sata/ata 
convert, DIGIKAM 4.4.0 run fine, while it crash with a SATA disk.
Thank for help.

Sincerely yours.

Le 24/08/2015 19:00, Gilles Caulier a écrit :
> https://bugs.kde.org/show_bug.cgi?id=351689
>
> Gilles Caulier <caulier.gilles@gmail.com> changed:
>
>             What    |Removed                     |Added
> ----------------------------------------------------------------------------
>            Component|general                     |libkexiv2
>                   CC|                            |caulier.gilles@gmail.com
>
> --- Comment #2 from Gilles Caulier <caulier.gilles@gmail.com> ---
> Famous Exiv2 bug about Video support. Already reported as UPSTREAM. Update
> Exiv2 to 0.25 to fix the problem...
>
Comment 5 caulier.gilles 2018-02-28 12:39:49 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