Bug 343714 - digikam crash when scanning for new items
Summary: digikam crash when scanning for new items
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Unclassified
Component: Metadata-Video (show other bugs)
Version: 4.6.0
Platform: openSUSE RPMs Linux
: NOR crash (vote)
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-02-02 22:11 UTC by Nico Kruber
Modified: 2018-02-28 12:38 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 Nico Kruber 2015-02-02 22:11:43 UTC
Application: digikam (4.6.0)
KDE Platform Version: 4.14.4
Qt Version: 4.8.6
Operating System: Linux 3.16.7-7-desktop x86_64
Distribution: "openSUSE 13.2 (Harlequin) (x86_64)"

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

I recently heavily extended my digikam collection and upon a start, digikam scans for new items and eventually crashes

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 0x7fea14521880 (LWP 10918))]

Thread 6 (Thread 0x7fe9f35f1700 (LWP 10919)):
#0  0x00007fea0cffd76d in recvmsg () at /lib64/libc.so.6
#1  0x00007fea14594eb9 in udev_monitor_receive_device () at /usr/lib64/libudev.so.1
#2  0x00007fe9f3f702eb in  () at /usr/lib64/libusb-1.0.so.0
#3  0x00007fea0af4a0a4 in start_thread () at /lib64/libpthread.so.0
#4  0x00007fea0cffc7fd in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7fe9e8cd7700 (LWP 10920)):
[KCrash Handler]
#5  0x00007fea0cf4c187 in raise () at /lib64/libc.so.6
#6  0x00007fea0cf4d538 in abort () at /lib64/libc.so.6
#7  0x00007fea0cf8a0c4 in  () at /lib64/libc.so.6
#8  0x00007fea0cf8f92e in malloc_printerr () at /lib64/libc.so.6
#9  0x00007fea0cf90636 in _int_free () at /lib64/libc.so.6
#10 0x00007fea0abd4197 in Exiv2::RiffVideo::infoTagsHandler() () at /usr/lib64/libexiv2.so.13
#11 0x00007fea0abd9025 in Exiv2::RiffVideo::decodeBlock() () at /usr/lib64/libexiv2.so.13
#12 0x00007fea0abd8c78 in Exiv2::RiffVideo::tagDecoder(Exiv2::DataBuf&, unsigned long) () at /usr/lib64/libexiv2.so.13
#13 0x00007fea0abd9025 in Exiv2::RiffVideo::decodeBlock() () at /usr/lib64/libexiv2.so.13
#14 0x00007fea0abd9398 in Exiv2::RiffVideo::readMetadata() () at /usr/lib64/libexiv2.so.13
#15 0x00007fea129491a5 in KExiv2Iface::KExiv2::load(QString const&) const () at /usr/lib64/libkexiv2.so.11
#16 0x00007fea12264f56 in Digikam::DMetadata::load(QString const&) const () at /usr/lib64/libdigikamcore.so.4.6.0
#17 0x00007fea11cb7a7f in Digikam::ImageScanner::loadFromDisk() () at /usr/lib64/libdigikamdatabase.so.4.6.0
#18 0x00007fea11cb7c70 in Digikam::ImageScanner::newFile(int) () at /usr/lib64/libdigikamdatabase.so.4.6.0
#19 0x00007fea11c50e96 in Digikam::CollectionScanner::scanNewFile(QFileInfo const&, int) () at /usr/lib64/libdigikamdatabase.so.4.6.0
#20 0x00007fea11c53fff in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () at /usr/lib64/libdigikamdatabase.so.4.6.0
#21 0x00007fea11c53eb7 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () at /usr/lib64/libdigikamdatabase.so.4.6.0
#22 0x00007fea11c53eb7 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () at /usr/lib64/libdigikamdatabase.so.4.6.0
#23 0x00007fea11c548c3 in Digikam::CollectionScanner::scanAlbumRoot(Digikam::CollectionLocation const&) () at /usr/lib64/libdigikamdatabase.so.4.6.0
#24 0x00007fea11c5549d in Digikam::CollectionScanner::completeScan() () at /usr/lib64/libdigikamdatabase.so.4.6.0
#25 0x00000000005e3f4f in  ()
#26 0x00007fea0dadc79f in QThreadPrivate::start(void*) (arg=0x21e6f30) at thread/qthread_unix.cpp:349
#27 0x00007fea0af4a0a4 in start_thread () at /lib64/libpthread.so.0
#28 0x00007fea0cffc7fd in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7fe9e3fff700 (LWP 10921)):
#0  0x00007fea0cff43cd in poll () at /lib64/libc.so.6
#1  0x00007fea04f8bbe4 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007fea04f8bcec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007fea0dc0b0de in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fe9dc0008e0, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#4  0x00007fea0dbdce6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fe9e3ffed20, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fea0dbdd165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fe9e3ffed20, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007fea0dada0bf in QThread::exec() (this=this@entry=0x224b360) at thread/qthread.cpp:538
#7  0x00007fea0dbbe783 in QInotifyFileSystemWatcherEngine::run() (this=0x224b360) at io/qfilesystemwatcher_inotify.cpp:265
#8  0x00007fea0dadc79f in QThreadPrivate::start(void*) (arg=0x224b360) at thread/qthread_unix.cpp:349
#9  0x00007fea0af4a0a4 in start_thread () at /lib64/libpthread.so.0
#10 0x00007fea0cffc7fd in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7fe9c8cef700 (LWP 10940)):
#0  0x00007fea0af4e408 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fea0dadcc64 in QWaitCondition::wait(QMutex*, unsigned long) (time=10, this=0x22b7e70) at thread/qwaitcondition_unix.cpp:84
#2  0x00007fea0dadcc64 in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x23c8210, time=10) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fea12288848 in Digikam::DatabaseCoreBackendPrivate::checkRetrySQLiteLockError(int) () at /usr/lib64/libdigikamcore.so.4.6.0
#4  0x00007fea12289360 in Digikam::DatabaseCoreBackend::queryErrorHandling(Digikam::SqlQuery&, int) () at /usr/lib64/libdigikamcore.so.4.6.0
#5  0x00007fea122895d5 in Digikam::DatabaseCoreBackend::exec(Digikam::SqlQuery&) () at /usr/lib64/libdigikamcore.so.4.6.0
#6  0x00007fea12289712 in Digikam::DatabaseCoreBackend::execQuery(Digikam::SqlQuery&, QVariant const&, QVariant const&) () at /usr/lib64/libdigikamcore.so.4.6.0
#7  0x00007fea1228973b in Digikam::DatabaseCoreBackend::execSql(Digikam::SqlQuery&, QVariant const&, QVariant const&, QList<QVariant>*, QVariant*) () at /usr/lib64/libdigikamcore.so.4.6.0
#8  0x00007fea11c2ef06 in Digikam::AlbumDB::Private::execRelatedImagesQuery(Digikam::SqlQuery&, long long, Digikam::DatabaseRelation::Type) () at /usr/lib64/libdigikamdatabase.so.4.6.0
#9  0x00007fea11c41def in Digikam::AlbumDB::getRelatedImages(QList<long long>, bool, Digikam::DatabaseRelation::Type, bool) () at /usr/lib64/libdigikamdatabase.so.4.6.0
#10 0x00007fea11c41fc9 in Digikam::AlbumDB::getImagesRelatedFrom(QList<long long>, Digikam::DatabaseRelation::Type) () at /usr/lib64/libdigikamdatabase.so.4.6.0
#11 0x00007fea11c7c09a in Digikam::ImageInfoList::loadGroupImageIds() const () at /usr/lib64/libdigikamdatabase.so.4.6.0
#12 0x00007fea11d141c8 in Digikam::ImageFilterModelPreparer::process(Digikam::ImageFilterModelTodoPackage) () at /usr/lib64/libdigikamdatabase.so.4.6.0
#13 0x00007fea11d108ae in  () at /usr/lib64/libdigikamdatabase.so.4.6.0
#14 0x00007fea0dbf659e in QObject::event(QEvent*) (this=0x26ca390, e=<optimized out>) at kernel/qobject.cpp:1231
#15 0x00007fea0e5ec76c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x20b9dd0, receiver=receiver@entry=0x26ca390, e=e@entry=0x73925a0) at kernel/qapplication.cpp:4565
#16 0x00007fea0e5f2cad in QApplication::notify(QObject*, QEvent*) (this=0x7fff910a8100, receiver=0x26ca390, e=0x73925a0) at kernel/qapplication.cpp:4351
#17 0x00007fea0f304baa in KApplication::notify(QObject*, QEvent*) () at /usr/lib64/libkdeui.so.5
#18 0x00007fea0dbde2ad in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7fff910a8100, receiver=receiver@entry=0x26ca390, event=event@entry=0x73925a0) at kernel/qcoreapplication.cpp:953
#19 0x00007fea0dbe157d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (event=0x73925a0, receiver=0x26ca390) at kernel/qcoreapplication.h:231
#20 0x00007fea0dbe157d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x46872b0) at kernel/qcoreapplication.cpp:1577
#21 0x00007fea0dbe1a23 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
#22 0x00007fea0dc0b8fe in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) () at kernel/qcoreapplication.h:236
#23 0x00007fea0dc0b8fe in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x7fe9940012e0) at kernel/qeventdispatcher_glib.cpp:300
#24 0x00007fea04f8ba04 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#25 0x00007fea04f8bc48 in  () at /usr/lib64/libglib-2.0.so.0
#26 0x00007fea04f8bcec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#27 0x00007fea0dc0b0be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fe9940008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#28 0x00007fea0dbdce6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fe9c8ceece0, flags=...) at kernel/qeventloop.cpp:149
#29 0x00007fea0dbdd165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fe9c8ceece0, flags=...) at kernel/qeventloop.cpp:204
#30 0x00007fea122cfac3 in  () at /usr/lib64/libdigikamcore.so.4.6.0
#31 0x00007fea0dad06ae in QThreadPoolThread::run() (this=0x4687110) at concurrent/qthreadpool.cpp:108
#32 0x00007fea0dadc79f in QThreadPrivate::start(void*) (arg=0x4687110) at thread/qthread_unix.cpp:349
#33 0x00007fea0af4a0a4 in start_thread () at /lib64/libpthread.so.0
#34 0x00007fea0cffc7fd in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7fe99bfff700 (LWP 10941)):
#0  0x00007fea0cff43cd in poll () at /lib64/libc.so.6
#1  0x00007fea04f8bbe4 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007fea04f8bcec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007fea0dc0b0de in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fe98c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#4  0x00007fea0dbdce6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fe99bffece0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fea0dbdd165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fe99bffece0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007fea122cfac3 in  () at /usr/lib64/libdigikamcore.so.4.6.0
#7  0x00007fea0dad06ae in QThreadPoolThread::run() (this=0x467f3b0) at concurrent/qthreadpool.cpp:108
#8  0x00007fea0dadc79f in QThreadPrivate::start(void*) (arg=0x467f3b0) at thread/qthread_unix.cpp:349
#9  0x00007fea0af4a0a4 in start_thread () at /lib64/libpthread.so.0
#10 0x00007fea0cffc7fd in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7fea14521880 (LWP 10918)):
#0  0x00007fea0af4e05f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fea0dadcc86 in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x2378650) at thread/qwaitcondition_unix.cpp:86
#2  0x00007fea0dadcc86 in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x2389670, mutex=mutex@entry=0x2389648, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fea0dacf912 in QThreadPoolPrivate::waitForDone(int) (this=0x23895c0, msecs=msecs@entry=-1) at concurrent/qthreadpool.cpp:295
#4  0x00007fea0dad0d75 in QThreadPool::~QThreadPool() (this=0x2374c60, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:438
#5  0x00007fea0dad0da9 in QThreadPool::~QThreadPool() (this=0x2374c60, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:440
#6  0x00007fea0dbf4ae8 in QObjectPrivate::deleteChildren() (this=this@entry=0x25b8280) at kernel/qobject.cpp:1944
#7  0x00007fea0dbf707f in QObject::~QObject() (this=0x24c61f0, __in_chrg=<optimized out>) at kernel/qobject.cpp:954
#8  0x00007fea122cf3c7 in  () at /usr/lib64/libdigikamcore.so.4.6.0
#9  0x00007fea0cf4ebf9 in __run_exit_handlers () at /lib64/libc.so.6
#10 0x00007fea0cf4ec45 in  () at /lib64/libc.so.6
#11 0x00007fea0e652fc8 in qt_xio_errhandler(Display*) () at kernel/qapplication_x11.cpp:773
#12 0x00007fea0f303760 in KApplication::xioErrhandler(_XDisplay*) () at /usr/lib64/libkdeui.so.5
#13 0x00007fea0b4e93be in _XIOError () at /usr/lib64/libX11.so.6
#14 0x00007fea0b4e6dbd in _XEventsQueued () at /usr/lib64/libX11.so.6
#15 0x00007fea0b4d8deb in XEventsQueued () at /usr/lib64/libX11.so.6
#16 0x00007fea0e6890ec in x11EventSourceCheck(GSource*) (s=0x20b1e90) at kernel/qguieventdispatcher_glib.cpp:85
#17 0x00007fea04f8b661 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#18 0x00007fea04f8bb7b in  () at /usr/lib64/libglib-2.0.so.0
#19 0x00007fea04f8bcec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#20 0x00007fea0dc0b0be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x2010440, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#21 0x00007fea0e689676 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#22 0x00007fea0dbdce6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x21f9040, flags=...) at kernel/qeventloop.cpp:149
#23 0x00007fea0dbdd165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x21f9040, flags=...) at kernel/qeventloop.cpp:204
#24 0x00000000005dfcd9 in  ()
#25 0x000000000052fb47 in  ()
#26 0x00007fea0dbf659e in QObject::event(QEvent*) (this=0x51eccf0, e=<optimized out>) at kernel/qobject.cpp:1231
#27 0x00007fea0e5ec76c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x20b9dd0, receiver=receiver@entry=0x51eccf0, e=e@entry=0x23ca3f0) at kernel/qapplication.cpp:4565
#28 0x00007fea0e5f2cad in QApplication::notify(QObject*, QEvent*) (this=0x7fff910a8100, receiver=0x51eccf0, e=0x23ca3f0) at kernel/qapplication.cpp:4351
#29 0x00007fea0f304baa in KApplication::notify(QObject*, QEvent*) () at /usr/lib64/libkdeui.so.5
#30 0x00007fea0dbde2ad in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7fff910a8100, receiver=receiver@entry=0x51eccf0, event=event@entry=0x23ca3f0) at kernel/qcoreapplication.cpp:953
#31 0x00007fea0dbe157d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (event=0x23ca3f0, receiver=0x51eccf0) at kernel/qcoreapplication.h:231
#32 0x00007fea0dbe157d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x200afc0) at kernel/qcoreapplication.cpp:1577
#33 0x00007fea0dbe1a23 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
#34 0x00007fea0dc0b8fe in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) () at kernel/qcoreapplication.h:236
#35 0x00007fea0dc0b8fe in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x20ae020) at kernel/qeventdispatcher_glib.cpp:300
#36 0x00007fea04f8ba04 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#37 0x00007fea04f8bc48 in  () at /usr/lib64/libglib-2.0.so.0
#38 0x00007fea04f8bcec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#39 0x00007fea0dc0b0be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x2010440, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#40 0x00007fea0e689676 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#41 0x00007fea0dbdce6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff910a7be0, flags=...) at kernel/qeventloop.cpp:149
#42 0x00007fea0dbdd165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff910a7be0, flags=...) at kernel/qeventloop.cpp:204
#43 0x00007fea0dbe25b9 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1225
#44 0x00000000004a11e0 in  ()
#45 0x00007fea0cf38b05 in __libc_start_main () at /lib64/libc.so.6
#46 0x00000000004a3adf in _start ()

Reported using DrKonqi
Comment 1 caulier.gilles 2015-02-02 22:37:45 UTC

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