Bug 364639 - DigiKam crashed while opening database
Summary: DigiKam crashed while opening database
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-Video (show other bugs)
Version: 4.14.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2016-06-22 18:22 UTC by flachm
Modified: 2018-02-28 12:39 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 6.0.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description flachm 2016-06-22 18:22:13 UTC
Application: digikam (4.14.0)
KDE Platform Version: 4.14.9
Qt Version: 4.8.6
Operating System: Linux 3.16.7-35-desktop x86_64
Distribution: "openSUSE 13.2 (Harlequin) (x86_64)"

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

Ich habe in digiKam einen Ordner verschoben und dabei ist das Programm abgestürzt.
Wennich die Datenbank jetzt öffnen möchte, sehe ich kurz meine nalben und Ordner. Nach ca. 65% lesen der Dateiliste stürzt das Programm ab.

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f4abf7c4840 (LWP 3300))]

Thread 4 (Thread 0x7f4aa2b61700 (LWP 3301)):
#0  0x00007f4ab848988d in poll () at /lib64/libc.so.6
#1  0x00007f4aa36b2268 in  () at /usr/lib64/libusb-1.0.so.0
#2  0x00007f4ab63e00a4 in start_thread () at /lib64/libpthread.so.0
#3  0x00007f4ab8491cbd in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f4a9b8f8700 (LWP 3304)):
#0  0x00007f4ab848988d in poll () at /lib64/libc.so.6
#1  0x00007f4ab0922be4 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f4ab0922cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f4ab90a00de in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#4  0x00007f4ab9071e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#5  0x00007f4ab9072165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#6  0x00007f4ab8f6f0bf in QThread::exec() () at /usr/lib64/libQtCore.so.4
#7  0x00007f4ab9053783 in  () at /usr/lib64/libQtCore.so.4
#8  0x00007f4ab8f7179f in  () at /usr/lib64/libQtCore.so.4
#9  0x00007f4ab63e00a4 in start_thread () at /lib64/libpthread.so.0
#10 0x00007f4ab8491cbd in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f4a9a746700 (LWP 3340)):
[KCrash Handler]
#5  0x00007f4ab83e20a7 in raise () at /lib64/libc.so.6
#6  0x00007f4ab83e3458 in abort () at /lib64/libc.so.6
#7  0x00007f4ab841f794 in  () at /lib64/libc.so.6
#8  0x00007f4ab8424ffe in malloc_printerr () at /lib64/libc.so.6
#9  0x00007f4ab8425d06 in _int_free () at /lib64/libc.so.6
#10 0x00007f4ab5e53e03 in Exiv2::QuickTimeVideo::userDataDecoder(unsigned long) () at /usr/lib64/libexiv2.so.13
#11 0x00007f4ab5e52ffb in Exiv2::QuickTimeVideo::tagDecoder(Exiv2::DataBuf&, unsigned long) () at /usr/lib64/libexiv2.so.13
#12 0x00007f4ab5e53360 in Exiv2::QuickTimeVideo::decodeBlock() () at /usr/lib64/libexiv2.so.13
#13 0x00007f4ab5e535ad in Exiv2::QuickTimeVideo::readMetadata() () at /usr/lib64/libexiv2.so.13
#14 0x00007f4abdba51a5 in KExiv2Iface::KExiv2::load(QString const&) const () at /usr/lib64/libkexiv2.so.11
#15 0x00007f4abd4bbd76 in Digikam::DMetadata::load(QString const&) const () at /usr/lib64/libdigikamcore.so.4.14.0
#16 0x00007f4abcf0a63f in Digikam::ImageScanner::loadFromDisk() () at /usr/lib64/libdigikamdatabase.so.4.14.0
#17 0x00007f4abcf0a820 in Digikam::ImageScanner::newFile(int) () at /usr/lib64/libdigikamdatabase.so.4.14.0
#18 0x00007f4abcea3056 in Digikam::CollectionScanner::scanNewFile(QFileInfo const&, int) () at /usr/lib64/libdigikamdatabase.so.4.14.0
#19 0x00007f4abcea61df in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () at /usr/lib64/libdigikamdatabase.so.4.14.0
#20 0x00007f4abcea6097 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () at /usr/lib64/libdigikamdatabase.so.4.14.0
#21 0x00007f4abcea6097 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () at /usr/lib64/libdigikamdatabase.so.4.14.0
#22 0x00007f4abcea6aa3 in Digikam::CollectionScanner::scanAlbumRoot(Digikam::CollectionLocation const&) () at /usr/lib64/libdigikamdatabase.so.4.14.0
#23 0x00007f4abcea767d in Digikam::CollectionScanner::completeScan() () at /usr/lib64/libdigikamdatabase.so.4.14.0
#24 0x00000000005e3d2f in  ()
#25 0x00007f4ab8f7179f in  () at /usr/lib64/libQtCore.so.4
#26 0x00007f4ab63e00a4 in start_thread () at /lib64/libpthread.so.0
#27 0x00007f4ab8491cbd in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f4abf7c4840 (LWP 3300)):
#0  0x00007f4ab63e403f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f4ab8f71c86 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQtCore.so.4
#2  0x00007f4ab8f7136e in QThread::wait(unsigned long) () at /usr/lib64/libQtCore.so.4
#3  0x00000000005e242b in  ()
#4  0x00000000005e25a7 in  ()
#5  0x00007f4ab83e4b19 in __run_exit_handlers () at /lib64/libc.so.6
#6  0x00007f4ab83e4b65 in  () at /lib64/libc.so.6
#7  0x00007f4ab9ae7fc8 in  () at /usr/lib64/libQtGui.so.4
#8  0x00007f4aba7989c0 in KApplication::xioErrhandler(_XDisplay*) () at /usr/lib64/libkdeui.so.5
#9  0x00007f4ab697f33e in _XIOError () at /usr/lib64/libX11.so.6
#10 0x00007f4ab697cd3d in _XEventsQueued () at /usr/lib64/libX11.so.6
#11 0x00007f4ab696edeb in XEventsQueued () at /usr/lib64/libX11.so.6
#12 0x00007f4ab9b1e0ec in  () at /usr/lib64/libQtGui.so.4
#13 0x00007f4ab0922661 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#14 0x00007f4ab0922b7b in  () at /usr/lib64/libglib-2.0.so.0
#15 0x00007f4ab0922cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#16 0x00007f4ab90a00be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#17 0x00007f4ab9b1e676 in  () at /usr/lib64/libQtGui.so.4
#18 0x00007f4ab9071e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#19 0x00007f4ab9072165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#20 0x00000000005dfab9 in  ()
#21 0x000000000052f5b7 in  ()
#22 0x00007f4ab908b59e in QObject::event(QEvent*) () at /usr/lib64/libQtCore.so.4
#23 0x00007f4ab9a8176c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#24 0x00007f4ab9a87cad in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#25 0x00007f4aba799e0a in KApplication::notify(QObject*, QEvent*) () at /usr/lib64/libkdeui.so.5
#26 0x00007f4ab90732ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4
#27 0x00007f4ab907657d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQtCore.so.4
#28 0x00007f4ab90a08fe in  () at /usr/lib64/libQtCore.so.4
#29 0x00007f4ab0922a04 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#30 0x00007f4ab0922c48 in  () at /usr/lib64/libglib-2.0.so.0
#31 0x00007f4ab0922cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#32 0x00007f4ab90a00be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#33 0x00007f4ab9b1e676 in  () at /usr/lib64/libQtGui.so.4
#34 0x00007f4ab9071e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#35 0x00007f4ab9072165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#36 0x00007f4ab90775b9 in QCoreApplication::exec() () at /usr/lib64/libQtCore.so.4
#37 0x00000000004a1036 in  ()
#38 0x00007f4ab83ceb05 in __libc_start_main () at /lib64/libc.so.6
#39 0x00000000004a38af in _start ()

Reported using DrKonqi
Comment 1 caulier.gilles 2016-06-22 18:44:01 UTC
It crash in Exiv2 shared library about a video file 

#10 0x00007f4ab5e53e03 in Exiv2::QuickTimeVideo::userDataDecoder(unsigned long) () at /usr/lib64/libexiv2.so.13

Updating to last Exiv2 0.25 must fix the problem.  In all cases report this problem to Exiv2 team

Gilles Caulier
Comment 2 caulier.gilles 2018-02-28 12:39:32 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