Bug 356704 - digiKam still crashes while scanning a new photo directory & subdirs
Summary: digiKam still crashes while scanning a new photo directory & subdirs
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-Video (show other bugs)
Version: 4.14.0
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-12-14 22:51 UTC by cc48
Modified: 2018-02-28 12:38 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 6.0.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description cc48 2015-12-14 22:51:15 UTC
Application: digikam (4.14.0)
KDE Platform Version: 4.14.14
Qt Version: 4.8.7
Operating System: Linux 4.1.13-1-MANJARO x86_64
Distribution: "Manjaro Linux"

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

I was just launching Digikam 4.14 for the first time. After 23% scan, it crashed.

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 0x7fb6dd125a40 (LWP 1957))]

Thread 4 (Thread 0x7fb6b7b98700 (LWP 1958)):
#0  0x00007fb6d5f0a18d in poll () from /usr/lib/libc.so.6
#1  0x00007fb6be888cbc in ?? () from /usr/lib/libusb-1.0.so.0
#2  0x00007fb6d3e3e4a4 in start_thread () from /usr/lib/libpthread.so.0
#3  0x00007fb6d5f1313d in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7fb6b14fd700 (LWP 1959)):
[KCrash Handler]
#6  0x00007fb6d5e5d5f8 in raise () from /usr/lib/libc.so.6
#7  0x00007fb6d5e5ea7a in abort () from /usr/lib/libc.so.6
#8  0x00007fb6d5e9c05a in __libc_message () from /usr/lib/libc.so.6
#9  0x00007fb6d5ea19a6 in malloc_printerr () from /usr/lib/libc.so.6
#10 0x00007fb6d5ea218e in _int_free () from /usr/lib/libc.so.6
#11 0x00007fb6d5464acb in Exiv2::RiffVideo::infoTagsHandler() () from /usr/lib/libexiv2.so.14
#12 0x00007fb6d546b325 in Exiv2::RiffVideo::decodeBlock() () from /usr/lib/libexiv2.so.14
#13 0x00007fb6d546af48 in Exiv2::RiffVideo::tagDecoder(Exiv2::DataBuf&, unsigned long) () from /usr/lib/libexiv2.so.14
#14 0x00007fb6d546b325 in Exiv2::RiffVideo::decodeBlock() () from /usr/lib/libexiv2.so.14
#15 0x00007fb6d546b6d8 in Exiv2::RiffVideo::readMetadata() () from /usr/lib/libexiv2.so.14
#16 0x00007fb6dc900dfa in KExiv2Iface::KExiv2::load(QString const&) const () from /usr/lib/libkexiv2.so.11
#17 0x00007fb6daf63736 in Digikam::DMetadata::load(QString const&) const () from /usr/lib/libdigikamcore.so.4.14.0
#18 0x00007fb6db524cb7 in Digikam::ImageScanner::loadFromDisk() () from /usr/lib/libdigikamdatabase.so.4.14.0
#19 0x00007fb6db524ef0 in Digikam::ImageScanner::newFile(int) () from /usr/lib/libdigikamdatabase.so.4.14.0
#20 0x00007fb6db4b51bb in Digikam::CollectionScanner::scanNewFile(QFileInfo const&, int) () from /usr/lib/libdigikamdatabase.so.4.14.0
#21 0x00007fb6db4b9c17 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.4.14.0
#22 0x00007fb6db4b9b06 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.4.14.0
#23 0x00007fb6db4ba6c3 in Digikam::CollectionScanner::scanAlbumRoot(Digikam::CollectionLocation const&) () from /usr/lib/libdigikamdatabase.so.4.14.0
#24 0x00007fb6db4bb76b in Digikam::CollectionScanner::completeScan() () from /usr/lib/libdigikamdatabase.so.4.14.0
#25 0x0000000000603eb7 in ?? ()
#26 0x00007fb6d6a7813c in ?? () from /usr/lib/libQtCore.so.4
#27 0x00007fb6d3e3e4a4 in start_thread () from /usr/lib/libpthread.so.0
#28 0x00007fb6d5f1313d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7fb6b0cfc700 (LWP 1960)):
#0  0x00007fb6d5f0616d in read () from /usr/lib/libc.so.6
#1  0x00007fb6cf16b270 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007fb6cf127aa4 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#3  0x00007fb6cf127f60 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007fb6cf1280cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007fb6d6bb8886 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007fb6d6b86de1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x00007fb6d6b87155 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#8  0x00007fb6d6a75849 in QThread::exec() () from /usr/lib/libQtCore.so.4
#9  0x00007fb6d6b66f33 in ?? () from /usr/lib/libQtCore.so.4
#10 0x00007fb6d6a7813c in ?? () from /usr/lib/libQtCore.so.4
#11 0x00007fb6d3e3e4a4 in start_thread () from /usr/lib/libpthread.so.0
#12 0x00007fb6d5f1313d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7fb6dd125a40 (LWP 1957)):
#0  0x00007fb6d3e4407f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007fb6d6a786a6 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fb6d6a77cce in QThread::wait(unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x00000000006019fb in ?? ()
#4  0x0000000000601bc7 in ?? ()
#5  0x00007fb6d5e5ff88 in __run_exit_handlers () from /usr/lib/libc.so.6
#6  0x00007fb6d5e5ffd5 in exit () from /usr/lib/libc.so.6
#7  0x00007fb6d7659478 in ?? () from /usr/lib/libQtGui.so.4
#8  0x00007fb6d85ba1a0 in KApplication::xioErrhandler(_XDisplay*) () from /usr/lib/libkdeui.so.5
#9  0x00007fb6d289e91e in _XIOError () from /usr/lib/libX11.so.6
#10 0x00007fb6d289c25d in _XEventsQueued () from /usr/lib/libX11.so.6
#11 0x00007fb6d288db10 in XEventsQueued () from /usr/lib/libX11.so.6
#12 0x00007fb6d7692dfc in ?? () from /usr/lib/libQtGui.so.4
#13 0x00007fb6cf1279f1 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#14 0x00007fb6cf127f60 in ?? () from /usr/lib/libglib-2.0.so.0
#15 0x00007fb6cf1280cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#16 0x00007fb6d6bb8864 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#17 0x00007fb6d76933b6 in ?? () from /usr/lib/libQtGui.so.4
#18 0x00007fb6d6b86de1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#19 0x00007fb6d6b87155 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#20 0x00000000005ff5a1 in ?? ()
#21 0x0000000000532b67 in ?? ()
#22 0x00007fb6d6ba23e1 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#23 0x00007fb6d75ea39c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#24 0x00007fb6d75f11f6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#25 0x00007fb6d85bb85a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#26 0x00007fb6d6b8856d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#27 0x00007fb6d6b8b9f6 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#28 0x00007fb6d6bb8713 in ?? () from /usr/lib/libQtCore.so.4
#29 0x00007fb6cf127dc7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#30 0x00007fb6cf128020 in ?? () from /usr/lib/libglib-2.0.so.0
#31 0x00007fb6cf1280cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#32 0x00007fb6d6bb8864 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#33 0x00007fb6d76933b6 in ?? () from /usr/lib/libQtGui.so.4
#34 0x00007fb6d6b86de1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#35 0x00007fb6d6b87155 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#36 0x00007fb6d6b8cb09 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#37 0x000000000049606e in ?? ()
#38 0x00007fb6d5e4a610 in __libc_start_main () from /usr/lib/libc.so.6
#39 0x0000000000499079 in _start ()

Possible duplicates by query: bug 353447, bug 353295, bug 351689, bug 349635, bug 346356.

Reported using DrKonqi
Comment 1 caulier.gilles 2015-12-15 04:33:09 UTC
Crash is always in Exiv2 RIFF video file parser.

upgrade Exiv2 shared lib to last 0.25. digiKam and libkexiv2 MUST be recompiled (Help/Component Info dialog from digiKam must show Exiv2 to 0.25)

If problem still here with 0.25, report the problem to Exiv2 team.

Giles Caulier
Comment 2 caulier.gilles 2015-12-15 04:35:03 UTC

*** This bug has been marked as a duplicate of bug 340373 ***
Comment 3 caulier.gilles 2015-12-18 09:14:17 UTC
Upstream http://dev.exiv2.org/issues/1139
Comment 4 cc48 2015-12-18 12:38:52 UTC
RiffVideo should not be compiled into LibExiv2: 0.25 (bug KDE RC2)
Comment 5 caulier.gilles 2018-02-28 12:38:38 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