Bug 313966

Summary: crash when applying geolocation
Product: [Applications] digikam Reporter: vincent
Component: Albums-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR    
Version: 2.5.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 5.1.0

Description vincent 2013-01-27 11:06:42 UTC
Application: digikam (2.5.0)
KDE Platform Version: 4.8.5 (4.8.5)
Qt Version: 4.8.1
Operating System: Linux 3.2.0-36-generic-pae i686
Distribution: Ubuntu 12.04.1 LTS

-- Information about the crash:
- What I was doing when the application crashed:crash when applying geolocation. screen freezing and impossibility to shut the application down properly that led to this crash report.

The crash can be reproduced some of the time.

-- 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 0xaef158c0 (LWP 4225))]

Thread 9 (Thread 0xad235b40 (LWP 4231)):
#0  0xb47fe3ef in read () from /lib/i386-linux-gnu/libc.so.6
#1  0xb31ec6ae in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#2  0xb31adbd2 in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb31ae042 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb31ae56b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xad23a134 in ?? () from /usr/lib/i386-linux-gnu/gio/modules/libdconfsettings.so
#6  0xb31d16b3 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0xb3555d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb480ed3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 8 (Thread 0xac8ffb40 (LWP 4232)):
#0  0xb3558d10 in pthread_mutex_unlock () from /lib/i386-linux-gnu/libpthread.so.0
#1  0xb481c8a4 in pthread_mutex_unlock () from /lib/i386-linux-gnu/libc.so.6
#2  0xb31ed410 in g_mutex_unlock () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb31adf50 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb31ae56b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xaf9071ba in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
#6  0xb31d16b3 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0xb3555d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb480ed3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 7 (Thread 0xaab6ab40 (LWP 4236)):
#0  0xb779a424 in __kernel_vsyscall ()
#1  0xb355996b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb481c64c in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb4ae2350 in wait (time=4294967295, this=0x93f08c8) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0x93f0834, mutex=0x93f0830, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0x0820346e in Digikam::ScanController::run (this=0x93cdd18) at /build/buildd/digikam-2.5.0/core/digikam/database/scancontroller.cpp:647
#6  0xb4ae1de0 in QThreadPrivate::start (arg=0x93cdd18) at thread/qthread_unix.cpp:298
#7  0xb3555d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb480ed3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 6 (Thread 0xaa369b40 (LWP 4237)):
#0  0xb3012dcd in clock_gettime () from /lib/i386-linux-gnu/librt.so.1
#1  0xb4b40315 in do_gettime (frac=0xaa368e30, sec=0xaa368e28) at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0xb4c2a226 in QTimerInfoList::updateCurrentTime (this=0xac90156c) at kernel/qeventdispatcher_unix.cpp:343
#4  0xb4c2a57a in QTimerInfoList::timerWait (this=0xac90156c, tm=...) at kernel/qeventdispatcher_unix.cpp:450
#5  0xb4c28e23 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xaa368f3c) at kernel/qeventdispatcher_glib.cpp:136
#6  0xb4c28ebd in timerSourcePrepare (source=0xac901538, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0xb31ad872 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0xb31adfaf in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb31ae201 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0xb4c298e7 in QEventDispatcherGlib::processEvents (this=0xac901398, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#11 0xb4bf550d in QEventLoop::processEvents (this=0xaa3690c0, flags=...) at kernel/qeventloop.cpp:149
#12 0xb4bf57a9 in QEventLoop::exec (this=0xaa3690c0, flags=...) at kernel/qeventloop.cpp:204
#13 0xb4ade94c in QThread::exec (this=0x93f1388) at thread/qthread.cpp:501
#14 0xb4bd2b5d in QInotifyFileSystemWatcherEngine::run (this=0x93f1388) at io/qfilesystemwatcher_inotify.cpp:248
#15 0xb4ae1de0 in QThreadPrivate::start (arg=0x93f1388) at thread/qthread_unix.cpp:298
#16 0xb3555d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#17 0xb480ed3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 5 (Thread 0xabeffb40 (LWP 4241)):
#0  0xb779a424 in __kernel_vsyscall ()
#1  0xb355996b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb481c64c in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb4ae2350 in wait (time=4294967295, this=0x95c7f08) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0x95c7d48, mutex=0x95c7d44, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb6a97b2c in Digikam::ParkingThread::run (this=0x95c7d38) at /build/buildd/digikam-2.5.0/core/libs/threads/threadmanager.cpp:119
#6  0xb4ae1de0 in QThreadPrivate::start (arg=0x95c7d38) at thread/qthread_unix.cpp:298
#7  0xb3555d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb480ed3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 4 (Thread 0xa9b68b40 (LWP 4269)):
#0  0xb3012dcd in clock_gettime () from /lib/i386-linux-gnu/librt.so.1
#1  0xb4b40315 in do_gettime (frac=0xa9b67e30, sec=0xa9b67e28) at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0xb4c2a226 in QTimerInfoList::updateCurrentTime (this=0xa6eb094) at kernel/qeventdispatcher_unix.cpp:343
#4  0xb4c2a57a in QTimerInfoList::timerWait (this=0xa6eb094, tm=...) at kernel/qeventdispatcher_unix.cpp:450
#5  0xb4c28e23 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xa9b67f3c) at kernel/qeventdispatcher_glib.cpp:136
#6  0xb4c28ebd in timerSourcePrepare (source=0xa6eb060, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0xb31ad872 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0xb31adfaf in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb31ae201 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0xb4c298e7 in QEventDispatcherGlib::processEvents (this=0xa6e8590, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#11 0xb4bf550d in QEventLoop::processEvents (this=0xa9b680c0, flags=...) at kernel/qeventloop.cpp:149
#12 0xb4bf57a9 in QEventLoop::exec (this=0xa9b680c0, flags=...) at kernel/qeventloop.cpp:204
#13 0xb4ade94c in QThread::exec (this=0xa5757e8) at thread/qthread.cpp:501
#14 0xb4bd2b5d in QInotifyFileSystemWatcherEngine::run (this=0xa5757e8) at io/qfilesystemwatcher_inotify.cpp:248
#15 0xb4ae1de0 in QThreadPrivate::start (arg=0xa5757e8) at thread/qthread_unix.cpp:298
#16 0xb3555d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#17 0xb480ed3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 3 (Thread 0xa284db40 (LWP 4271)):
#0  0xb3558c64 in __pthread_mutex_unlock_usercnt () from /lib/i386-linux-gnu/libpthread.so.0
#1  0xb481c8a4 in pthread_mutex_unlock () from /lib/i386-linux-gnu/libc.so.6
#2  0xb31ed410 in g_mutex_unlock () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb31ad865 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb31adfaf in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb31ae201 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0xb4c298e7 in QEventDispatcherGlib::processEvents (this=0xa6ff610, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#7  0xb4bf550d in QEventLoop::processEvents (this=0xa284d0c0, flags=...) at kernel/qeventloop.cpp:149
#8  0xb4bf57a9 in QEventLoop::exec (this=0xa284d0c0, flags=...) at kernel/qeventloop.cpp:204
#9  0xb4ade94c in QThread::exec (this=0xa7002f8) at thread/qthread.cpp:501
#10 0xb4bd2b5d in QInotifyFileSystemWatcherEngine::run (this=0xa7002f8) at io/qfilesystemwatcher_inotify.cpp:248
#11 0xb4ae1de0 in QThreadPrivate::start (arg=0xa7002f8) at thread/qthread_unix.cpp:298
#12 0xb3555d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#13 0xb480ed3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 2 (Thread 0xa0edab40 (LWP 4325)):
#0  0xb4c33321 in QUtf8::convertToUnicode (chars=0xa366298 "fr", len=2, state=0x0) at codecs/qutfcodec.cpp:157
#1  0xb4c337f8 in QUtf8Codec::convertToUnicode (this=0x91c84e0, chars=0xa366298 "fr", len=2, state=0x0) at codecs/qutfcodec.cpp:532
#2  0xb4b304d8 in toUnicode (state=0x0, length=2, in=0xa366298 "fr", this=<optimized out>) at ../../include/QtCore/../../src/corelib/codecs/qtextcodec.h:116
#3  QString::fromLocal8Bit (str=0xa366298 "fr", size=2) at tools/qstring.cpp:3967
#4  0xb4b75877 in locale_decode (f=...) at io/qfile.cpp:84
#5  0xb4b75e7b in QFile::decodeName (localFileName=...) at io/qfile.cpp:538
#6  0xb4f09f0d in KCatalog::language (this=0xa366000) at ../../kdecore/localization/kcatalog.cpp:164
#7  0xb4f23470 in KLocalePrivate::translateRawFrom (this=0x93ae730, catname=0x0, msgctxt=0xa9363b51 "QSQLiteResult", msgid=0xa9363c0e "Unable to fetch row", msgid_plural=0x0, n=0, language=0xa0ed9704, translation=0xa0ed9700) at ../../kdecore/localization/klocale_kde.cpp:946
#8  0xb4f1f79b in KLocalePrivate::translateQt (this=0x93ae730, context=0xa9363b51 "QSQLiteResult", sourceText=0xa9363c0e "Unable to fetch row", comment=0x0) at ../../kdecore/localization/klocale_kde.cpp:1022
#9  0xb4f18433 in KLocale::translateQt (this=0x935dd00, context=0xa9363b51 "QSQLiteResult", sourceText=0xa9363c0e "Unable to fetch row", comment=0x0) at ../../kdecore/localization/klocale.cpp:199
#10 0xb4e89f83 in KDETranslator::translate (this=0x93d4100, context=0xa9363b51 "QSQLiteResult", sourceText=0xa9363c0e "Unable to fetch row", message=0x0) at ../../kdecore/kernel/kglobal_p.h:52
#11 0xb4c18464 in QTranslator::translate (this=0x93d4100, context=0xa9363b51 "QSQLiteResult", sourceText=0xa9363c0e "Unable to fetch row", disambiguation=0x0, n=-1) at kernel/qtranslator.cpp:1004
#12 0xb4bf7077 in QCoreApplication::translate (context=0xa9363b51 "QSQLiteResult", sourceText=0xa9363c0e "Unable to fetch row", disambiguation=0x0, encoding=QCoreApplication::CodecForTr, n=-1) at kernel/qcoreapplication.cpp:1895
#13 0xb4bf750a in QCoreApplication::translate (context=0xa9363b51 "QSQLiteResult", sourceText=0xa9363c0e "Unable to fetch row", disambiguation=0x0, encoding=QCoreApplication::CodecForTr) at kernel/qcoreapplication.cpp:1810
#14 0xa9361e28 in QSQLiteResultPrivate::fetchNext (this=0xc2f3d70, values=..., idx=0, initialFetch=56) at ../../../sql/drivers/sqlite/qsql_sqlite.cpp:277
#15 0xa9362e22 in QSQLiteResult::exec (this=0xa0f4838) at ../../../sql/drivers/sqlite/qsql_sqlite.cpp:418
#16 0xb7750c8b in QSqlQuery::exec (this=0xa0ed9b78) at kernel/qsqlquery.cpp:949
#17 0xb6a22ffc in exec (query=..., this=<optimized out>) at /build/buildd/digikam-2.5.0/core/libs/database/databasecorebackend.cpp:1405
#18 Digikam::DatabaseCoreBackend::exec (this=0x9445a08, query=...) at /build/buildd/digikam-2.5.0/core/libs/database/databasecorebackend.cpp:1389
#19 0xb6a24a21 in Digikam::DatabaseCoreBackend::execQuery (this=0x9445a08, query=..., boundValue1=..., boundValue2=..., boundValue3=..., boundValue4=...) at /build/buildd/digikam-2.5.0/core/libs/database/databasecorebackend.cpp:1077
#20 0xb6a24aa5 in Digikam::DatabaseCoreBackend::execQuery (this=0x9445a08, sql=..., boundValue1=..., boundValue2=..., boundValue3=..., boundValue4=...) at /build/buildd/digikam-2.5.0/core/libs/database/databasecorebackend.cpp:1022
#21 0xb6a2532e in Digikam::DatabaseCoreBackend::execSql (this=0x9445a08, sql=..., boundValue1=..., boundValue2=..., boundValue3=..., boundValue4=..., values=0x0, lastInsertId=0xa0ed9be8) at /build/buildd/digikam-2.5.0/core/libs/database/databasecorebackend.cpp:921
#22 0xb6a31b11 in Digikam::ThumbnailDB::insertThumbnail (this=0xa366298, info=..., lastInsertId=0xa0ed9cbc) at /build/buildd/digikam-2.5.0/core/libs/database/thumbnaildb.cpp:262
#23 0xb6a6c685 in Digikam::ThumbnailCreator::storeInDatabase (this=0xa366298, info=..., image=...) at /build/buildd/digikam-2.5.0/core/libs/threadimageio/thumbnailcreator.cpp:753
#24 0xb6a72511 in Digikam::ThumbnailCreator::load (this=0x9e76af0, path=..., rect=..., pregenerate=false) at /build/buildd/digikam-2.5.0/core/libs/threadimageio/thumbnailcreator.cpp:264
#25 0xb6a73022 in Digikam::ThumbnailCreator::load (this=0x9e76af0, path=...) at /build/buildd/digikam-2.5.0/core/libs/threadimageio/thumbnailcreator.cpp:196
#26 0xb6a81e11 in Digikam::ThumbnailLoadingTask::execute (this=0xcc250c0) at /build/buildd/digikam-2.5.0/core/libs/threadimageio/thumbnailtask.cpp:169
#27 0xb6a4f938 in Digikam::LoadSaveThread::run (this=0x9e76bc8) at /build/buildd/digikam-2.5.0/core/libs/threadimageio/loadsavethread.cpp:118
#28 0xb6a99d7e in Digikam::DynamicThread::DynamicThreadPriv::run (this=0x9e787e8) at /build/buildd/digikam-2.5.0/core/libs/threads/dynamicthread.cpp:328
#29 0xb4ad439b in QThreadPoolThread::run (this=0xc314300) at concurrent/qthreadpool.cpp:107
#30 0xb4ae1de0 in QThreadPrivate::start (arg=0xc314300) at thread/qthread_unix.cpp:298
#31 0xb3555d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#32 0xb480ed3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xaef158c0 (LWP 4225)):
[KCrash Handler]
#7  QHashData::free_helper (this=0xcaec778, node_delete=0x81e0ce0 <QHash<int, Digikam::TAlbum*>::deleteNode2(QHashData::Node*)>) at tools/qhash.cpp:274
#8  0x081dbf38 in freeData (x=<optimized out>, this=<optimized out>) at /usr/include/qt4/QtCore/qhash.h:570
#9  ~QHash (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/qt4/QtCore/qhash.h:283
#10 ~QHash (this=<optimized out>, __in_chrg=<optimized out>) at /build/buildd/digikam-2.5.0/core/digikam/album/albummanager.cpp:1454
#11 Digikam::AlbumManager::scanTAlbums (this=0x93b8748) at /build/buildd/digikam-2.5.0/core/digikam/album/albummanager.cpp:1559
#12 0xb4c0d6b1 in QMetaObject::activate (sender=0x9368ee8, m=0xb4d544d8, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3547
#13 0xb4c60625 in QTimer::timeout (this=0x9368ee8) at .moc/release-shared/moc_qtimer.cpp:148
#14 0xb4c16566 in QTimer::timerEvent (this=0x9368ee8, e=0xbfb6170c) at kernel/qtimer.cpp:280
#15 0xb4c11ac4 in QObject::event (this=0x9368ee8, e=0xbfb6170c) at kernel/qobject.cpp:1157
#16 0xb5162ed4 in notify_helper (e=0xbfb6170c, receiver=0x9368ee8, this=0x91f5d98) at kernel/qapplication.cpp:4559
#17 QApplicationPrivate::notify_helper (this=0x91f5d98, receiver=0x9368ee8, e=0xbfb6170c) at kernel/qapplication.cpp:4531
#18 0xb516830d in QApplication::notify (this=0xbfb6170c, receiver=0x9368ee8, e=0xbfb6170c) at kernel/qapplication.cpp:4288
#19 0xb5ce7e01 in KApplication::notify (this=0xbfb61a90, receiver=0x9368ee8, event=0xbfb6170c) at ../../kdeui/kernel/kapplication.cpp:311
#20 0xb4bf697e in QCoreApplication::notifyInternal (this=0xbfb61a90, receiver=0x9368ee8, event=0xbfb6170c) at kernel/qcoreapplication.cpp:876
#21 0xb4c2b990 in sendEvent (event=0xbfb6170c, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#22 QTimerInfoList::activateTimers (this=0x91f5d34) at kernel/qeventdispatcher_unix.cpp:611
#23 0xb4c290f8 in timerSourceDispatch (source=0x91f5d00) at kernel/qeventdispatcher_glib.cpp:186
#24 timerSourceDispatch (source=0x91f5d00) at kernel/qeventdispatcher_glib.cpp:180
#25 0xb31add86 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#26 0xb31ae125 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#27 0xb31ae201 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#28 0xb4c29887 in QEventDispatcherGlib::processEvents (this=0x91b00f0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#29 0xb521baaa in QGuiEventDispatcherGlib::processEvents (this=0x91b00f0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#30 0xb4bf550d in QEventLoop::processEvents (this=0xbfb61974, flags=...) at kernel/qeventloop.cpp:149
#31 0xb4bf57a9 in QEventLoop::exec (this=0xbfb61974, flags=...) at kernel/qeventloop.cpp:204
#32 0xb4bfaeba in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#33 0xb5160a74 in QApplication::exec () at kernel/qapplication.cpp:3820
#34 0x080b69e4 in main (argc=0, argv=0x0) at /build/buildd/digikam-2.5.0/core/digikam/main/main.cpp:232

Reported using DrKonqi
Comment 1 caulier.gilles 2013-01-27 11:24:54 UTC
digiKam 2.5.0 is an older release. Please update at least to last 2.9.0 and try again. There is a chance that crash have been fixed already...

Gilles Caulier
Comment 2 caulier.gilles 2015-06-27 13:46:03 UTC
New digiKam 4.11.0 is available :

https://www.digikam.org/node/740

Can you reproduce the problem with this release ?

Gilles caulier
Comment 3 caulier.gilles 2015-08-22 06:38:46 UTC
digiKam 4.12.0 is out :

https://www.digikam.org/node/741

We need a fresh feedback using this release please...
Thanks in advance.
Comment 4 caulier.gilles 2016-07-09 12:16:58 UTC
This problem is not reproducible with last 5.0.0.
I close this file now. Don't hesitate to re-open it if necessary.
Gilles Caulier