Bug 300301

Summary: crash when applying comments and keywords on a set of jpeg
Product: [Applications] digikam Reporter: itilo <itilo>
Component: Metadata-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, jeffnik, matze
Priority: NOR    
Version: 2.6.0   
Target Milestone: ---   
Platform: Mageia RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 2.6.0
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi

Description itilo 2012-05-19 10:05:57 UTC
Application: digikam (2.6.0-rc)
KDE Platform Version: 4.6.5 (4.6.5)
Qt Version: 4.7.4
Operating System: Linux 2.6.38.8-desktop-10.mga x86_64
Distribution: "Mageia 1"

-- Information about the crash:
- What I was doing when the application crashed:
I was applying comments and keywords on a set of jpeg (20). When I run again the application the comments and keywords appears.They also seemed to have been saved inside the photo

Running digikam in a terminal I obtain:

QSqlDatabasePrivate::removeDatabase: connection 'ConnectionTest' is still in use, all queries will cease to work.

(digikam:21286): GStreamer-CRITICAL **: gst_debug_add_log_function: assertion `func != NULL' failed
Enchant dict for "fr_FR" 0x4123090
QSocketNotifier: Invalid socket 16 and type 'Read', disabling...
KCrash: Application 'digikam' crashing...
KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit
sock_file=/home/michel/.kde4/socket-itilo.maison.fr/kdeinit4__0

[1]+  Stoppé                 digikam

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fd960910900 (LWP 18789))]

Thread 24 (Thread 0x7fd93c405700 (LWP 18793)):
#0  0x00007fd958abe14c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fd958d438cb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00000000005c9258 in Digikam::ScanController::run (this=0x18a5650) at /usr/local/digikam-software-compilation-2.6.0-rc/core/digikam/database/scancontroller.cpp:698
#3  0x00007fd958d431e5 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fd957b1423d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 23 (Thread 0x7fd93bc04700 (LWP 18794)):
#0  0x00007fd958d432cf in ?? () from /usr/lib64/libQtCore.so.4
#1  0x00007fd958e583d9 in ?? () from /usr/lib64/libQtCore.so.4
#2  0x00007fd9523a5277 in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#3  0x00007fd9523a6199 in ?? () from /lib64/libglib-2.0.so.0
#4  0x00007fd9523a683d in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#5  0x00007fd958e58986 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007fd958e2c6d2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#7  0x00007fd958e2c91c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#8  0x00007fd958d40944 in QThread::exec() () from /usr/lib64/libQtCore.so.4
#9  0x00007fd958e0de18 in ?? () from /usr/lib64/libQtCore.so.4
#10 0x00007fd958d431e5 in ?? () from /usr/lib64/libQtCore.so.4
#11 0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#12 0x00007fd957b1423d in clone () from /lib64/libc.so.6
#13 0x0000000000000000 in ?? ()

Thread 22 (Thread 0x7fd93b403700 (LWP 18808)):
#0  0x00007fd958abe14c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fd958d438cb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007fd95d8c87b7 in Digikam::ParkingThread::run (this=0x194ded0) at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threads/threadmanager.cpp:119
#3  0x00007fd958d431e5 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fd957b1423d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 21 (Thread 0x7fd9011ba700 (LWP 18876)):
#0  0x00007fd957b09a33 in poll () from /lib64/libc.so.6
#1  0x00007fd9523a6304 in ?? () from /lib64/libglib-2.0.so.0
#2  0x00007fd9523a683d in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fd958e58986 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007fd958e2c6d2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007fd958e2c91c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007fd95d8c7e5e in Digikam::WorkerObjectRunnable::run (this=0x4592d50) at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threads/threadmanager.cpp:196
#7  0x00007fd958d38058 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007fd958d431e5 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#10 0x00007fd957b1423d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 20 (Thread 0x7fd8fb0f7700 (LWP 18880)):
#0  0x00007fd9539824be in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007fd953980f46 in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#3  0x00007fd957b1423d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 19 (Thread 0x7fd8fa8f6700 (LWP 18881)):
#0  0x00007fd9539824be in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007fd953980f46 in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#3  0x00007fd957b1423d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 18 (Thread 0x7fd8fa0f5700 (LWP 18882)):
#0  0x00007fd9539824be in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007fd953980f46 in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#3  0x00007fd957b1423d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 17 (Thread 0x7fd8e91b4700 (LWP 19000)):
#0  0x00007fd957b09a33 in poll () from /lib64/libc.so.6
#1  0x00007fd9523a6304 in ?? () from /lib64/libglib-2.0.so.0
#2  0x00007fd9523a683d in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fd958e58986 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007fd958e2c6d2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007fd958e2c91c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007fd95d8c7e5e in Digikam::WorkerObjectRunnable::run (this=0x29d3390) at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threads/threadmanager.cpp:196
#7  0x00007fd958d38058 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007fd958d431e5 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#10 0x00007fd957b1423d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 16 (Thread 0x7fd8e89b3700 (LWP 19098)):
#0  0x00007fd9539824be in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007fd953980f46 in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#3  0x00007fd957b1423d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 15 (Thread 0x7fd8e19b4700 (LWP 19099)):
#0  0x00007fd9539824be in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007fd953980f46 in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#3  0x00007fd957b1423d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7fd8e11b3700 (LWP 19100)):
#0  0x00007fd9539824be in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007fd953980f46 in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#3  0x00007fd957b1423d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7fd8ca51c700 (LWP 19890)):
[KCrash Handler]
#6  Digikam::ProgressItem::totalCompleted (this=0x0) at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/progressmanager/progressmanager.cpp:260
#7  0x000000000061647c in Digikam::TwoProgressItemsContainer::checkFinish (this=<value optimized out>, ptr=...)
    at /usr/local/digikam-software-compilation-2.6.0-rc/core/digikam/fileaction/fileactionimageinfolist.cpp:55
#8  0x0000000000615eac in finishedWriting (this=<value optimized out>, infos=..., hub=0x7fd8c403d730)
    at /usr/local/digikam-software-compilation-2.6.0-rc/build/core/digikam/../../../core/digikam/fileaction/fileactionimageinfolist.h:123
#9  Digikam::FileActionMngrFileWorker::writeMetadata (this=<value optimized out>, infos=..., hub=0x7fd8c403d730)
    at /usr/local/digikam-software-compilation-2.6.0-rc/core/digikam/fileaction/fileworkeriface.cpp:123
#10 0x0000000000616066 in Digikam::FileWorkerInterface::qt_metacall (this=0x19a7700, _c=<value optimized out>, _id=4, _a=<value optimized out>)
    at /usr/local/digikam-software-compilation-2.6.0-rc/build/core/digikam/fileworkeriface.moc:91
#11 0x00007fd958e418ba in QObject::event(QEvent*) () from /usr/lib64/libQtCore.so.4
#12 0x00007fd959a47794 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#13 0x00007fd959a4c36a in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#14 0x00007fd95a774e06 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#15 0x00007fd958e2d31c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#16 0x00007fd958e30b25 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQtCore.so.4
#17 0x00007fd958e58793 in ?? () from /usr/lib64/libQtCore.so.4
#18 0x00007fd9523a5dc3 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#19 0x00007fd9523a65a0 in ?? () from /lib64/libglib-2.0.so.0
#20 0x00007fd9523a683d in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#21 0x00007fd958e5892f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#22 0x00007fd958e2c6d2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#23 0x00007fd958e2c91c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#24 0x00007fd95d8c7e5e in Digikam::WorkerObjectRunnable::run (this=0x7fd8c403d930) at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threads/threadmanager.cpp:196
#25 0x00007fd958d38058 in ?? () from /usr/lib64/libQtCore.so.4
#26 0x00007fd958d431e5 in ?? () from /usr/lib64/libQtCore.so.4
#27 0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#28 0x00007fd957b1423d in clone () from /lib64/libc.so.6
#29 0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7fd8cad1d700 (LWP 19891)):
#0  0x00007fd958e58ef4 in ?? () from /usr/lib64/libQtCore.so.4
#1  0x00007fd9523a5a3c in g_main_context_check () from /lib64/libglib-2.0.so.0
#2  0x00007fd9523a6322 in ?? () from /lib64/libglib-2.0.so.0
#3  0x00007fd9523a683d in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#4  0x00007fd958e58986 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007fd958e2c6d2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007fd958e2c91c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#7  0x00007fd95d8c7e5e in Digikam::WorkerObjectRunnable::run (this=0x7fd8c4035310) at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threads/threadmanager.cpp:196
#8  0x00007fd958d38058 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007fd958d431e5 in ?? () from /usr/lib64/libQtCore.so.4
#10 0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#11 0x00007fd957b1423d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7fd8e27fc700 (LWP 19892)):
#0  0x00007fd958abc130 in pthread_mutex_lock () from /lib64/libpthread.so.0
#1  0x00007fd9523a52a6 in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#2  0x00007fd9523a6199 in ?? () from /lib64/libglib-2.0.so.0
#3  0x00007fd9523a683d in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#4  0x00007fd958e58986 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007fd958e2c6d2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007fd958e2c91c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#7  0x00007fd95d8c7e5e in Digikam::WorkerObjectRunnable::run (this=0x7fd8c4035150) at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threads/threadmanager.cpp:196
#8  0x00007fd958d38058 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007fd958d431e5 in ?? () from /usr/lib64/libQtCore.so.4
#10 0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#11 0x00007fd957b1423d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7fd8cb51e700 (LWP 19893)):
#0  0x00007fd9523a526a in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#1  0x00007fd9523a6199 in ?? () from /lib64/libglib-2.0.so.0
#2  0x00007fd9523a683d in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fd958e58986 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007fd958e2c6d2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007fd958e2c91c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007fd95d8c7e5e in Digikam::WorkerObjectRunnable::run (this=0x7fd8c404d280) at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threads/threadmanager.cpp:196
#7  0x00007fd958d38058 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007fd958d431e5 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#10 0x00007fd957b1423d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7fd9009b9700 (LWP 19902)):
#0  0x00007fd957b291df in __vsnprintf_chk () from /lib64/libc.so.6
#1  0x00007fd957b290ea in __snprintf_chk () from /lib64/libc.so.6
#2  0x00007fd959326138 in ?? () from /usr/lib64/libkdecore.so.5
#3  0x00007fd959340c7b in ?? () from /usr/lib64/libkdecore.so.5
#4  0x00007fd959339100 in ?? () from /usr/lib64/libkdecore.so.5
#5  0x00007fd959332211 in KLocale::translateQt(char const*, char const*, char const*) const () from /usr/lib64/libkdecore.so.5
#6  0x00007fd9592b566c in ?? () from /usr/lib64/libkdecore.so.5
#7  0x00007fd958e4a3c6 in QTranslator::translate(char const*, char const*, char const*, int) const () from /usr/lib64/libQtCore.so.4
#8  0x00007fd958e2d97f in QCoreApplication::translate(char const*, char const*, char const*, QCoreApplication::Encoding, int) () from /usr/lib64/libQtCore.so.4
#9  0x00007fd958e2dd8f in QCoreApplication::translate(char const*, char const*, char const*, QCoreApplication::Encoding) () from /usr/lib64/libQtCore.so.4
#10 0x00007fd93a9fdddb in ?? () from /usr/lib64/qt4/plugins/sqldrivers/libqsqlite.so
#11 0x00007fd93a9feb7f in ?? () from /usr/lib64/qt4/plugins/sqldrivers/libqsqlite.so
#12 0x00007fd96053ef56 in QSqlQuery::exec() () from /usr/lib64/libQtSql.so.4
#13 0x00007fd95d86e9ee in Digikam::DatabaseCoreBackend::exec (this=<value optimized out>, query=...)
    at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/database/core/databasecorebackend.cpp:1404
#14 0x00007fd95d86ebeb in Digikam::DatabaseCoreBackend::execQuery (this=0x19da140, query=..., boundValue1=<value optimized out>, boundValue2=..., boundValue3=..., boundValue4=...)
    at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/database/core/databasecorebackend.cpp:1076
#15 0x00007fd95d86ec5a in Digikam::DatabaseCoreBackend::execQuery (this=0x19da140, sql=<value optimized out>, boundValue1=..., boundValue2=..., boundValue3=..., boundValue4=...)
    at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/database/core/databasecorebackend.cpp:1021
#16 0x00007fd95d870ad9 in Digikam::DatabaseCoreBackend::execSql (this=0x19da140, sql=<value optimized out>, boundValue1=<value optimized out>, boundValue2=<value optimized out>, 
    boundValue3=<value optimized out>, boundValue4=<value optimized out>, values=0x0, lastInsertId=0x7fd9009b8500)
    at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/database/core/databasecorebackend.cpp:920
#17 0x00007fd95d87c108 in Digikam::ThumbnailDB::insertThumbnail (this=0x18cec10, info=<value optimized out>, lastInsertId=0x7fd9009b8590)
    at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/database/core/thumbnaildb.cpp:262
#18 0x00007fd95d8a3a0b in Digikam::ThumbnailCreator::storeInDatabase (this=<value optimized out>, info=..., image=<value optimized out>)
    at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threadimageio/thumbnailcreator.cpp:752
#19 0x00007fd95d8a9186 in Digikam::ThumbnailCreator::load (this=0x2653560, path=..., rect=..., pregenerate=false)
    at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threadimageio/thumbnailcreator.cpp:265
#20 0x00007fd95d8a9a22 in Digikam::ThumbnailCreator::load (this=<value optimized out>, path=<value optimized out>)
    at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threadimageio/thumbnailcreator.cpp:197
#21 0x00007fd95d8b8cf2 in Digikam::ThumbnailLoadingTask::execute (this=0x4e2ac60) at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threadimageio/thumbnailtask.cpp:170
#22 0x00007fd95d88afd6 in Digikam::LoadSaveThread::run (this=0x26531e0) at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threadimageio/loadsavethread.cpp:136
#23 0x00007fd95d8c99ee in Digikam::DynamicThread::DynamicThreadPriv::run (this=0x26532f0) at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threads/dynamicthread.cpp:186
#24 0x00007fd958d38058 in ?? () from /usr/lib64/libQtCore.so.4
#25 0x00007fd958d431e5 in ?? () from /usr/lib64/libQtCore.so.4
#26 0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#27 0x00007fd957b1423d in clone () from /lib64/libc.so.6
#28 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7fd8f94f3700 (LWP 19903)):
#0  0x00007fd958abe14c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fd958d422e3 in ?? () from /usr/lib64/libQtCore.so.4
#2  0x00007fd958d3ecd5 in QMutex::lock() () from /usr/lib64/libQtCore.so.4
#3  0x00007fd95d87a564 in Digikam::ThumbnailDatabaseAccess::ThumbnailDatabaseAccess (this=<value optimized out>)
    at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/database/core/thumbnaildatabaseaccess.cpp:87
#4  0x00007fd95d8a38e2 in Digikam::ThumbnailCreator::storeInDatabase (this=<value optimized out>, info=..., image=...)
    at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threadimageio/thumbnailcreator.cpp:735
#5  0x00007fd95d8a9186 in Digikam::ThumbnailCreator::load (this=0x1a319c0, path=..., rect=..., pregenerate=false)
    at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threadimageio/thumbnailcreator.cpp:265
#6  0x00007fd95d8a9a22 in Digikam::ThumbnailCreator::load (this=<value optimized out>, path=<value optimized out>)
    at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threadimageio/thumbnailcreator.cpp:197
#7  0x00007fd95d8b8cf2 in Digikam::ThumbnailLoadingTask::execute (this=0x4e2b830) at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threadimageio/thumbnailtask.cpp:170
#8  0x00007fd95d88afd6 in Digikam::LoadSaveThread::run (this=0x1932ea0) at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threadimageio/loadsavethread.cpp:136
#9  0x00007fd95d8c99ee in Digikam::DynamicThread::DynamicThreadPriv::run (this=0x1a30980) at /usr/local/digikam-software-compilation-2.6.0-rc/core/libs/threads/dynamicthread.cpp:186
#10 0x00007fd958d38058 in ?? () from /usr/lib64/libQtCore.so.4
#11 0x00007fd958d431e5 in ?? () from /usr/lib64/libQtCore.so.4
#12 0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#13 0x00007fd957b1423d in clone () from /lib64/libc.so.6
#14 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7fd8f8cf2700 (LWP 19906)):
#0  0x00007fd9539824be in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007fd953980f46 in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#3  0x00007fd957b1423d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fd8ebfff700 (LWP 19907)):
#0  0x00007fd9539824be in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007fd953980f46 in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#3  0x00007fd957b1423d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fd8eb7fe700 (LWP 19908)):
#0  0x00007fd9539824be in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007fd953980f46 in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#3  0x00007fd957b1423d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fd8eaffd700 (LWP 19909)):
#0  0x00007fd9539824be in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007fd953980f46 in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#3  0x00007fd957b1423d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fd8ea7fc700 (LWP 19910)):
#0  0x00007fd9539824be in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007fd953980f46 in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#3  0x00007fd957b1423d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fd8e9ffb700 (LWP 19911)):
#0  0x00007fd9539824be in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007fd953980f46 in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007fd958ab9d25 in start_thread () from /lib64/libpthread.so.0
#3  0x00007fd957b1423d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fd960910900 (LWP 18789)):
#0  0x00007fd957b09a33 in poll () from /lib64/libc.so.6
#1  0x00007fd94da4644a in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007fd94da4807c in xcb_wait_for_reply () from /usr/lib64/libxcb.so.1
#3  0x00007fd956818d0d in _XReply () from /usr/lib64/libX11.so.6
#4  0x00007fd95680e080 in XQueryPointer () from /usr/lib64/libX11.so.6
#5  0x00007fd959acff5d in QCursor::pos() () from /usr/lib64/libQtGui.so.4
#6  0x00007fd959a47fad in QApplicationPrivate::dispatchEnterLeave(QWidget*, QWidget*) () from /usr/lib64/libQtGui.so.4
#7  0x00007fd959a489ff in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4
#8  0x00007fd959ac81a8 in ?? () from /usr/lib64/libQtGui.so.4
#9  0x00007fd959ac6859 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#10 0x00007fd959aee712 in ?? () from /usr/lib64/libQtGui.so.4
#11 0x00007fd9523a5dc3 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#12 0x00007fd9523a65a0 in ?? () from /lib64/libglib-2.0.so.0
#13 0x00007fd9523a683d in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#14 0x00007fd958e5892f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#15 0x00007fd959aee3ae in ?? () from /usr/lib64/libQtGui.so.4
#16 0x00007fd958e2c6d2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#17 0x00007fd958e2c91c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#18 0x00007fd958e30ddb in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#19 0x000000000069e574 in main (argc=98810528, argv=0x7fff00000000) at /usr/local/digikam-software-compilation-2.6.0-rc/core/digikam/main/main.cpp:232

Reported using DrKonqi
Comment 1 caulier.gilles 2012-05-19 13:40:31 UTC
It crash in progress manager...

Gilles Caulier
Comment 2 Marcel Wiesweg 2012-05-19 18:22:18 UTC
Thanks, very interesting backtrace: a true and classic race condition. I admit a pretty obvious mistake in the code.
Comment 3 Marcel Wiesweg 2012-05-19 19:11:13 UTC
Git commit b216e9df450869f50fbfd35e278647fb1803c70e by Marcel Wiesweg.
Committed on 19/05/2012 at 21:04.
Pushed by mwiesweg into branch 'master'.

Rearrange progress item operations from FileActionMgr to perform safe operations.

The call to ProgressItem::advance should now return true once and only once
with last item, so an (still unsafe) pointer check should not be needed.

M  +4    -1    NEWS
M  +21   -23   digikam/fileaction/fileactionimageinfolist.cpp
M  +6    -15   digikam/fileaction/fileactionimageinfolist.h

http://commits.kde.org/digikam/b216e9df450869f50fbfd35e278647fb1803c70e
Comment 4 Marcel Wiesweg 2012-05-19 19:12:51 UTC
I believe this crash fix must go into 2.6 final, but last-minute commits are prone to introduce final-version bugs so I would be happy if metadata editing + writing to files received some testing now with that commit included. (even more if the crash had been  reproducible for anyone)
Comment 5 Marcel Wiesweg 2012-05-19 19:13:18 UTC
reopen if still reproducible
Comment 6 caulier.gilles 2012-05-19 20:05:52 UTC
*** Bug 300330 has been marked as a duplicate of this bug. ***
Comment 7 Matthias Welwarsky 2012-05-19 20:37:55 UTC
Created attachment 71228 [details]
New crash information added by DrKonqi

digikam (2.6.0) on KDE Platform 4.8.3 (4.8.3) "release 503" using Qt 4.8.1

- What I was doing when the application crashed:

Applying tags and description to a TIFF file using "Apply to all versions" button

-- Backtrace (Reduced):
#6  Digikam::ProgressItem::totalCompleted (this=0x0) at /home/matze/projects/digikam-sc/core/libs/progressmanager/progressmanager.cpp:260
#7  0x000000000062d8cc in Digikam::TwoProgressItemsContainer::checkFinish (this=<optimized out>, ptr=<optimized out>) at /home/matze/projects/digikam-sc/core/digikam/fileaction/fileactionimageinfolist.cpp:55
#8  0x000000000062bebe in finishedWriting (this=0x7f0ac3ffe3e0) at /home/matze/projects/digikam-sc/build/core/digikam/../../../core/digikam/fileaction/fileactionimageinfolist.h:123
#9  Digikam::FileActionMngrFileWorker::writeMetadata (this=<optimized out>, infos=..., hub=0x7f0a90003910) at /home/matze/projects/digikam-sc/core/digikam/fileaction/fileworkeriface.cpp:123
#10 0x000000000062d27a in Digikam::FileWorkerInterface::qt_static_metacall (_o=0xf15c50, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /home/matze/projects/digikam-sc/build/core/digikam/fileworkeriface.moc:68
Comment 8 caulier.gilles 2012-05-19 20:40:27 UTC
Mathias,

Today, Marcel has patched current git/master for this problem. Do you use current implementation ?

Gilles Caulier
Comment 9 Matthias Welwarsky 2012-05-20 07:29:35 UTC
I just updated and saw two commits from Marcel regarding this bug. The crash must have been without those patches. I'll see if I can still reproduce it.
Comment 10 Matthias Welwarsky 2012-05-20 20:39:30 UTC
Created attachment 71252 [details]
New crash information added by DrKonqi

digikam (2.6.0) on KDE Platform 4.8.3 (4.8.3) "release 503" using Qt 4.8.1

- What I was doing when the application crashed:

Same scenario as with the last report. I checked an Marcel's recent patches are included. I can still reproduce the bug.

-- Backtrace (Reduced):
#6  Digikam::ProgressItem::totalCompleted (this=0x0) at /home/matze/projects/digikam-sc/core/libs/progressmanager/progressmanager.cpp:260
#7  0x000000000062d8cc in Digikam::TwoProgressItemsContainer::checkFinish (this=<optimized out>, ptr=<optimized out>) at /home/matze/projects/digikam-sc/core/digikam/fileaction/fileactionimageinfolist.cpp:55
#8  0x000000000062bebe in finishedWriting (this=0x7f8119be33e0) at /home/matze/projects/digikam-sc/build/core/digikam/../../../core/digikam/fileaction/fileactionimageinfolist.h:123
#9  Digikam::FileActionMngrFileWorker::writeMetadata (this=<optimized out>, infos=..., hub=0x7f80a801f780) at /home/matze/projects/digikam-sc/core/digikam/fileaction/fileworkeriface.cpp:123
#10 0x000000000062d27a in Digikam::FileWorkerInterface::qt_static_metacall (_o=0xeee840, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /home/matze/projects/digikam-sc/build/core/digikam/fileworkeriface.moc:68
Comment 11 Marcel Wiesweg 2012-05-21 09:22:45 UTC
Matthias, my commit renames the checkFinish method and totalCompleted is not called anymore from line 55: Your backtrace must be made without the fix.