Bug 334155

Summary: Digikam crash on folder scan
Product: [Applications] digikam Reporter: linux.tmc
Component: Metadata-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR Keywords: drkonqi
Version: 3.5.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 7.3.0

Description linux.tmc 2014-04-30 19:52:54 UTC
Application: digikam (3.5.0)
KDE Platform Version: 4.13.0
Qt Version: 4.8.6
Operating System: Linux 3.13.0-24-generic i686
Distribution: Ubuntu 14.04 LTS

-- Information about the crash:
I attempted to scan folders from local drive.  Digikam crashed.  Attempted again, same result.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0xaceac900 (LWP 29796))]

Thread 6 (Thread 0xace79b40 (LWP 29797)):
#0  0xb77c1424 in __kernel_vsyscall ()
#1  0xb4bca7ab in poll () at ../sysdeps/unix/syscall-template.S:81
#2  0xada2c442 in ?? () from /lib/i386-linux-gnu/libusb-1.0.so.0
#3  0xb32c9f70 in start_thread (arg=0xace79b40) at pthread_create.c:312
#4  0xb4bd970e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 5 (Thread 0xa9deeb40 (LWP 29798)):
[KCrash Handler]
#7  __memmove_ia32 () at ../sysdeps/i386/i686/multiarch/../memmove.S:71
#8  0xb39183c4 in Exiv2::DataValue::read(unsigned char const*, long, Exiv2::ByteOrder) () from /usr/lib/libexiv2.so.12
#9  0xb3896335 in Exiv2::IptcParser::decode(Exiv2::IptcData&, unsigned char const*, unsigned int) () from /usr/lib/libexiv2.so.12
#10 0xb38a2567 in Exiv2::JpegBase::readMetadata() () from /usr/lib/libexiv2.so.12
#11 0xb6d56ed5 in KExiv2Iface::KExiv2::load(QString const&) const () from /usr/lib/libkexiv2.so.11
#12 0xb6a616a6 in Digikam::DMetadata::load (this=this@entry=0xa73c1108, filePath=...) at /build/buildd/digikam-3.5.0/core/libs/dmetadata/dmetadata.cpp:110
#13 0xb6701672 in Digikam::ImageScanner::loadFromDisk (this=this@entry=0xa9dedb1c) at /build/buildd/digikam-3.5.0/core/libs/database/imagescanner.cpp:1477
#14 0xb67018bc in Digikam::ImageScanner::newFile (this=this@entry=0xa9dedb1c, albumId=234) at /build/buildd/digikam-3.5.0/core/libs/database/imagescanner.cpp:266
#15 0xb66939db in Digikam::CollectionScanner::scanNewFile (this=0xa9dee0cc, info=..., albumId=234) at /build/buildd/digikam-3.5.0/core/libs/database/collectionscanner.cpp:1247
#16 0xb669749c in Digikam::CollectionScanner::scanAlbum (this=0xa9dee0cc, location=..., album=...) at /build/buildd/digikam-3.5.0/core/libs/database/collectionscanner.cpp:1089
#17 0xb6697367 in Digikam::CollectionScanner::scanAlbum (this=0xa9dee0cc, location=..., album=...) at /build/buildd/digikam-3.5.0/core/libs/database/collectionscanner.cpp:1112
#18 0xb6697367 in Digikam::CollectionScanner::scanAlbum (this=0xa9dee0cc, location=..., album=...) at /build/buildd/digikam-3.5.0/core/libs/database/collectionscanner.cpp:1112
#19 0xb6697367 in Digikam::CollectionScanner::scanAlbum (this=0xa9dee0cc, location=..., album=...) at /build/buildd/digikam-3.5.0/core/libs/database/collectionscanner.cpp:1112
#20 0xb6697367 in Digikam::CollectionScanner::scanAlbum (this=this@entry=0xa9dee0cc, location=..., album=...) at /build/buildd/digikam-3.5.0/core/libs/database/collectionscanner.cpp:1112
#21 0xb6697dde in Digikam::CollectionScanner::scanAlbumRoot (this=this@entry=0xa9dee0cc, location=...) at /build/buildd/digikam-3.5.0/core/libs/database/collectionscanner.cpp:828
#22 0xb6699476 in Digikam::CollectionScanner::completeScan (this=this@entry=0xa9dee0cc) at /build/buildd/digikam-3.5.0/core/libs/database/collectionscanner.cpp:489
#23 0x0820dadd in Digikam::ScanController::run (this=0xa6f3f98) at /build/buildd/digikam-3.5.0/core/digikam/database/scancontroller.cpp:756
#24 0xb4eccb6f in QThreadPrivate::start (arg=0xa6f3f98) at thread/qthread_unix.cpp:349
#25 0xb32c9f70 in start_thread (arg=0xa9deeb40) at pthread_create.c:312
#26 0xb4bd970e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 4 (Thread 0xa93ffb40 (LWP 29799)):
#0  0xb77c1424 in __kernel_vsyscall ()
#1  0xb4be7392 in __GI___clock_gettime (clock_id=1, tp=0xa93fee38) at ../sysdeps/unix/clock_gettime.c:115
#2  0xb4f278cc in do_gettime (frac=0xa93fee30, sec=0xa93fee28) at tools/qelapsedtimer_unix.cpp:127
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:144
#4  0xb50102a2 in updateCurrentTime (this=0xa8a026e4) at kernel/qeventdispatcher_unix.cpp:354
#5  QTimerInfoList::timerWait (this=0xa8a026e4, tm=...) at kernel/qeventdispatcher_unix.cpp:460
#6  0xb500e82b in timerSourcePrepareHelper (src=<optimized out>, timeout=0xa93fef2c) at kernel/qeventdispatcher_glib.cpp:143
#7  0xb500e8bd in timerSourcePrepare (source=0xa8a026b0, timeout=0xa93fef2c) at kernel/qeventdispatcher_glib.cpp:176
#8  0xb2eff9b3 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb2f002df in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0xb2f00528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#11 0xb500e95f in QEventDispatcherGlib::processEvents (this=0xa8a00468, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#12 0xb4fdd823 in QEventLoop::processEvents (this=this@entry=0xa93ff098, flags=...) at kernel/qeventloop.cpp:149
#13 0xb4fddb49 in QEventLoop::exec (this=this@entry=0xa93ff098, flags=...) at kernel/qeventloop.cpp:204
#14 0xb4eca23d in QThread::exec (this=this@entry=0xa6eadd8) at thread/qthread.cpp:537
#15 0xb4fbdc44 in QInotifyFileSystemWatcherEngine::run (this=0xa6eadd8) at io/qfilesystemwatcher_inotify.cpp:265
#16 0xb4eccb6f in QThreadPrivate::start (arg=0xa6eadd8) at thread/qthread_unix.cpp:349
#17 0xb32c9f70 in start_thread (arg=0xa93ffb40) at pthread_create.c:312
#18 0xb4bd970e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 3 (Thread 0xa7cdab40 (LWP 29804)):
#0  0xb77c1424 in __kernel_vsyscall ()
#1  0xb4bca7ab in poll () at ../sysdeps/unix/syscall-template.S:81
#2  0xb2f0f20b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb2f003e8 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb2f00528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb500e95f in QEventDispatcherGlib::processEvents (this=0xab56810, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#6  0xb4fdd823 in QEventLoop::processEvents (this=this@entry=0xa7cda098, flags=...) at kernel/qeventloop.cpp:149
#7  0xb4fddb49 in QEventLoop::exec (this=this@entry=0xa7cda098, flags=...) at kernel/qeventloop.cpp:204
#8  0xb4eca23d in QThread::exec (this=this@entry=0xab564a0) at thread/qthread.cpp:537
#9  0xb4fbdc44 in QInotifyFileSystemWatcherEngine::run (this=0xab564a0) at io/qfilesystemwatcher_inotify.cpp:265
#10 0xb4eccb6f in QThreadPrivate::start (arg=0xab564a0) at thread/qthread_unix.cpp:349
#11 0xb32c9f70 in start_thread (arg=0xa7cdab40) at pthread_create.c:312
#12 0xb4bd970e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 2 (Thread 0xa18b6b40 (LWP 29810)):
#0  0xb77c1424 in __kernel_vsyscall ()
#1  0xb4bc873b in read () at ../sysdeps/unix/syscall-template.S:81
#2  0xa7d116a8 in vio_read () from /usr/lib/i386-linux-gnu/libmysqlclient.so.18
#3  0xa7d11700 in vio_read_buff () from /usr/lib/i386-linux-gnu/libmysqlclient.so.18
#4  0xa7d009c0 in ?? () from /usr/lib/i386-linux-gnu/libmysqlclient.so.18
#5  0xa7d0157d in my_net_read () from /usr/lib/i386-linux-gnu/libmysqlclient.so.18
#6  0xa7cfa318 in cli_safe_read () from /usr/lib/i386-linux-gnu/libmysqlclient.so.18
#7  0xa7cfdeb4 in cli_advanced_command () from /usr/lib/i386-linux-gnu/libmysqlclient.so.18
#8  0xa7cf67da in ?? () from /usr/lib/i386-linux-gnu/libmysqlclient.so.18
#9  0xa95e6035 in QMYSQLResult::exec (this=0x904ec5c8) at ../../../sql/drivers/mysql/qsql_mysql.cpp:937
#10 0xb7774e60 in QSqlQuery::exec (this=this@entry=0xa18b5c78) at kernel/qsqlquery.cpp:949
#11 0xb6a8d431 in Digikam::DatabaseCoreBackend::exec (this=0xa711b88, query=...) at /build/buildd/digikam-3.5.0/core/libs/database/core/databasecorebackend.cpp:1414
#12 0xb6a8d4ef in Digikam::DatabaseCoreBackend::execQuery (this=this@entry=0xa711b88, query=..., boundValue1=...) at /build/buildd/digikam-3.5.0/core/libs/database/core/databasecorebackend.cpp:1056
#13 0xb6a8e453 in Digikam::DatabaseCoreBackend::execQuery (this=this@entry=0xa711b88, sql=..., boundValue1=...) at /build/buildd/digikam-3.5.0/core/libs/database/core/databasecorebackend.cpp:1005
#14 0xb6a8e4b7 in Digikam::DatabaseCoreBackend::execSql (this=0xa711b88, sql=..., boundValue1=..., values=values@entry=0xa18b5d8c, lastInsertId=lastInsertId@entry=0x0) at /build/buildd/digikam-3.5.0/core/libs/database/core/databasecorebackend.cpp:902
#15 0xb667d4ad in Digikam::AlbumDB::getImagesFields (this=0xa70b9d0, imageID=335, fields=...) at /build/buildd/digikam-3.5.0/core/libs/database/albumdb.cpp:1580
#16 0xb66b9564 in Digikam::DatabaseThumbnailInfoProvider::thumbnailInfo (this=0xa84f960, path=...) at /build/buildd/digikam-3.5.0/core/libs/database/databasethumbnailinfoprovider.cpp:59
#17 0xb6ac0aa5 in Digikam::ThumbnailCreator::makeThumbnailInfo (this=this@entry=0xaa72440, path=..., rect=...) at /build/buildd/digikam-3.5.0/core/libs/threadimageio/thumbnailcreator.cpp:347
#18 0xb6ac536d in Digikam::ThumbnailCreator::load (this=this@entry=0xaa72440, path=..., rect=..., pregenerate=pregenerate@entry=true) at /build/buildd/digikam-3.5.0/core/libs/threadimageio/thumbnailcreator.cpp:228
#19 0xb6ac5e97 in Digikam::ThumbnailCreator::pregenerate (this=0xaa72440, path=...) at /build/buildd/digikam-3.5.0/core/libs/threadimageio/thumbnailcreator.cpp:183
#20 0xb6ad4575 in Digikam::ThumbnailLoadingTask::execute (this=0xddbe580) at /build/buildd/digikam-3.5.0/core/libs/threadimageio/thumbnailtask.cpp:82
#21 0xb6aaacb8 in Digikam::LoadSaveThread::run (this=0xaa67650) at /build/buildd/digikam-3.5.0/core/libs/threadimageio/loadsavethread.cpp:136
#22 0xb6adb51e in Digikam::DynamicThread::DynamicThreadPriv::run (this=0xaa69128) at /build/buildd/digikam-3.5.0/core/libs/threads/dynamicthread.cpp:186
#23 0xb4ebff07 in QThreadPoolThread::run (this=0xb7f51b8) at concurrent/qthreadpool.cpp:108
#24 0xb4eccb6f in QThreadPrivate::start (arg=0xb7f51b8) at thread/qthread_unix.cpp:349
#25 0xb32c9f70 in start_thread (arg=0xa18b6b40) at pthread_create.c:312
#26 0xb4bd970e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 1 (Thread 0xaceac900 (LWP 29796)):
#0  0xb77c1424 in __kernel_vsyscall ()
#1  0xb32cdd4b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb4be68ec in __pthread_cond_wait (cond=0xa71e4f8, mutex=0xa71e4e0) at forward.c:149
#3  0xb4ecd0f5 in wait (time=4294967295, this=0xa71e4e0) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=this@entry=0xaa02380, mutex=mutex@entry=0xaa0236c, time=time@entry=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb4ebf13f in QThreadPoolPrivate::waitForDone (this=0xaa02320, msecs=msecs@entry=-1) at concurrent/qthreadpool.cpp:295
#6  0xb4ec05b3 in QThreadPool::~QThreadPool (this=0xa8c0550, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:438
#7  0xb4ec05fc in QThreadPool::~QThreadPool (this=0xa8c0550, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:440
#8  0xb4ff6bda in QObjectPrivate::deleteChildren (this=this@entry=0xa8c0498) at kernel/qobject.cpp:1907
#9  0xb4ff9188 in QObject::~QObject (this=0xa71e720, __in_chrg=<optimized out>) at kernel/qobject.cpp:926
#10 0xb6ad7f32 in Digikam::ThreadManager::~ThreadManager (this=0xa71e720, __in_chrg=<optimized out>) at /build/buildd/digikam-3.5.0/core/libs/threads/threadmanager.cpp:257
#11 0xb6ad7fa3 in ~ThreadManagerCreator (this=0xa71e720, __in_chrg=<optimized out>) at /build/buildd/digikam-3.5.0/core/libs/threads/threadmanager.cpp:236
#12 destroy () at /build/buildd/digikam-3.5.0/core/libs/threads/threadmanager.cpp:241
#13 0xb68ce5b9 in KCleanUpGlobalStatic::~KCleanUpGlobalStatic (this=0xb6d067cc <_ZZN7Digikam5._159ptEvE13cleanUpObject>, __in_chrg=<optimized out>) at /usr/include/kglobal.h:62
#14 0xb4b203d1 in __run_exit_handlers (status=status@entry=1, listp=0xb4c983c4 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:82
#15 0xb4b2042d in __GI_exit (status=1) at exit.c:104
#16 0xb55ae058 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:783
#17 0xb6088aa9 in KApplication::xioErrhandler (this=0xbfbef728, dpy=dpy@entry=0xa5a8eb8) at ../../kdeui/kernel/kapplication.cpp:419
#18 0xb6088b64 in kde_xio_errhandler (dpy=0xa5a8eb8) at ../../kdeui/kernel/kapplication.cpp:126
#19 0xb46e4b04 in _XIOError () from /usr/lib/i386-linux-gnu/libX11.so.6
#20 0xb46e227f in _XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#21 0xb46d3500 in XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#22 0xb55eef8a in x11EventSourceCheck (s=0xa5a7478) at kernel/qguieventdispatcher_glib.cpp:85
#23 0xb2effdff in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#24 0xb2f0037a in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#25 0xb2f00528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#26 0xb500e93b in QEventDispatcherGlib::processEvents (this=this@entry=0xa514f08, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#27 0xb55ef5de in QGuiEventDispatcherGlib::processEvents (this=0xa514f08, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#28 0xb4fdd823 in QEventLoop::processEvents (this=this@entry=0xa6d6968, flags=...) at kernel/qeventloop.cpp:149
#29 0xb4fddb49 in QEventLoop::exec (this=0xa6d6968, flags=...) at kernel/qeventloop.cpp:204
#30 0x08209848 in Digikam::ScanController::completeCollectionScanCore (this=this@entry=0xa6f3f98, needTotalFiles=needTotalFiles@entry=true, defer=defer@entry=false) at /build/buildd/digikam-3.5.0/core/digikam/database/scancontroller.cpp:486
#31 0x08209980 in Digikam::ScanController::completeCollectionScanInBackground (this=0xa6f3f98, defer=defer@entry=false) at /build/buildd/digikam-3.5.0/core/digikam/database/scancontroller.cpp:471
#32 0x08149812 in Digikam::NewItemsFinder::slotStart (this=0xbf3c4c0) at /build/buildd/digikam-3.5.0/core/utilities/maintenance/newitemsfinder.cpp:106
#33 0x08149be8 in Digikam::NewItemsFinder::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at /build/buildd/digikam-3.5.0/obj-i686-linux-gnu/core/digikam/newitemsfinder.moc:57
#34 0xb4ff08aa in QMetaCallEvent::placeMetaCall (this=0xa6e9f50, object=0xbf3c4c0) at kernel/qobject.cpp:524
#35 0xb4ff86fb in QObject::event (this=0xbf3c4c0, e=0xa6e9f50) at kernel/qobject.cpp:1194
#36 0xb553a7f4 in QApplicationPrivate::notify_helper (this=0xa5aa210, receiver=0xbf3c4c0, e=0xa6e9f50) at kernel/qapplication.cpp:4567
#37 0xb55412d3 in QApplication::notify (this=0xbfbef728, receiver=receiver@entry=0xbf3c4c0, e=e@entry=0xa6e9f50) at kernel/qapplication.cpp:4353
#38 0xb608a0a4 in KApplication::notify (this=0xbfbef728, receiver=0xbf3c4c0, event=0xa6e9f50) at ../../kdeui/kernel/kapplication.cpp:311
#39 0xb4fdee4a in QCoreApplication::notifyInternal (this=0xbfbef728, receiver=receiver@entry=0xbf3c4c0, event=event@entry=0xa6e9f50) at kernel/qcoreapplication.cpp:953
#40 0xb4fe270d in sendEvent (event=0xa6e9f50, receiver=0xbf3c4c0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#41 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0xa541d98) at kernel/qcoreapplication.cpp:1577
#42 0xb4fe2c1c in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
#43 0xb500f23e in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#44 postEventSourceDispatch (s=0xa5a6ac0) at kernel/qeventdispatcher_glib.cpp:287
#45 0xb2f001e3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#46 0xb2f00468 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#47 0xb2f00528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#48 0xb500e93b in QEventDispatcherGlib::processEvents (this=this@entry=0xa514f08, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#49 0xb55ef5de in QGuiEventDispatcherGlib::processEvents (this=0xa514f08, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#50 0xb4fdd823 in QEventLoop::processEvents (this=this@entry=0xbfbef558, flags=...) at kernel/qeventloop.cpp:149
#51 0xb4fddb49 in QEventLoop::exec (this=this@entry=0xbfbef558, flags=...) at kernel/qeventloop.cpp:204
#52 0xb4fe38fe in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#53 0xb5538a24 in QApplication::exec () at kernel/qapplication.cpp:3828
#54 0x080bc190 in main (argc=5, argv=0xbfbef864) at /build/buildd/digikam-3.5.0/core/digikam/main/main.cpp:235

Reported using DrKonqi
Comment 1 caulier.gilles 2014-04-30 20:06:03 UTC
It crash in Exiv2 shared library, reading metadata from JPEG file.

Please report this problem to Exiv2 team...

Gilles Caulier
Comment 2 caulier.gilles 2021-05-04 05:50:42 UTC
Not reproducible with digiKam 7.3.0 and Exiv2 0.27.4