Bug 330674

Summary: Digikam photo editor crashed when using "save as new version" to a JPEG.
Product: [Applications] digikam Reporter: Paul Johnson <paul>
Component: Database-SqliteAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version: 3.5.0   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 7.5.0
Sentry Crash Report:

Description Paul Johnson 2014-02-02 17:37:00 UTC
Application: digikam (3.5.0)
KDE Platform Version: 4.11.5
Qt Version: 4.8.5
Operating System: Linux 3.12.8-300.fc20.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
- What I was doing when the application crashed:
Trying to save a picture I had just finished editing. This happens only sometimes. The picture was imported as 16 bit from a Canon RAW file. Tools I often use include sharpen, crop and perspective adjustment. The crash happens after the save is completed.

The crash can be reproduced sometimes.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7fb052f7aac0 (LWP 10205))]

Thread 10 (Thread 0x7fb02856f700 (LWP 10206)):
#0  0x00007fb047a6eccd in recvmsg () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fb0445f1f31 in udev_monitor_receive_device () from /lib64/libudev.so.1
#2  0x00007fb03da65c6b in linux_udev_event_thread_main () from /lib64/libusb-1.0.so.0
#3  0x00007fb047a67f33 in start_thread (arg=0x7fb02856f700) at pthread_create.c:309
#4  0x00007fb046d0bead in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 9 (Thread 0x7fb02206e700 (LWP 10207)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fb047cf98d6 in wait (time=18446744073709551615, this=0x2777ea0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x2777db0, mutex=mutex@entry=0x2777da8, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00000000005e251e in Digikam::ScanController::run (this=0x2777b40) at /usr/src/debug/digikam-3.5.0/core/digikam/database/scancontroller.cpp:725
#4  0x00007fb047cf93af in QThreadPrivate::start (arg=0x2777b40) at thread/qthread_unix.cpp:338
#5  0x00007fb047a67f33 in start_thread (arg=0x7fb02206e700) at pthread_create.c:309
#6  0x00007fb046d0bead in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 8 (Thread 0x7fb02186d700 (LWP 10208)):
#0  0x00007fb047a6a0d8 in __GI___pthread_mutex_lock (mutex=0x7fb014000a60) at ../nptl/pthread_mutex_lock.c:125
#1  0x00007fb0429895a1 in g_mutex_lock () from /lib64/libglib-2.0.so.0
#2  0x00007fb042947650 in g_main_context_acquire () from /lib64/libglib-2.0.so.0
#3  0x00007fb042948465 in g_main_context_iterate.isra.24 () from /lib64/libglib-2.0.so.0
#4  0x00007fb0429486dc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#5  0x00007fb047e2fec6 in QEventDispatcherGlib::processEvents (this=0x7fb0140008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#6  0x00007fb047dffedf in QEventLoop::processEvents (this=this@entry=0x7fb02186cac0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fb047e0022d in QEventLoop::exec (this=this@entry=0x7fb02186cac0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fb047cf6baf in QThread::exec (this=this@entry=0x277a4a0) at thread/qthread.cpp:536
#9  0x00007fb047de0863 in QInotifyFileSystemWatcherEngine::run (this=0x277a4a0) at io/qfilesystemwatcher_inotify.cpp:265
#10 0x00007fb047cf93af in QThreadPrivate::start (arg=0x277a4a0) at thread/qthread_unix.cpp:338
#11 0x00007fb047a67f33 in start_thread (arg=0x7fb02186d700) at pthread_create.c:309
#12 0x00007fb046d0bead in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 7 (Thread 0x7fb02106c700 (LWP 10210)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fb047cf98d6 in wait (time=18446744073709551615, this=0x2a3c7d0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x28e0a70, mutex=mutex@entry=0x28e0a68, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fb04fa3d98a in Digikam::ParkingThread::run (this=0x28e0a50) at /usr/src/debug/digikam-3.5.0/core/libs/threads/threadmanager.cpp:119
#4  0x00007fb047cf93af in QThreadPrivate::start (arg=0x28e0a50) at thread/qthread_unix.cpp:338
#5  0x00007fb047a67f33 in start_thread (arg=0x7fb02106c700) at pthread_create.c:309
#6  0x00007fb046d0bead in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 6 (Thread 0x7fb005d7a700 (LWP 10277)):
#0  __GI___pthread_mutex_lock (mutex=0x7faff00129d0) at ../nptl/pthread_mutex_lock.c:68
#1  0x00007fb0429895a1 in g_mutex_lock () from /lib64/libglib-2.0.so.0
#2  0x00007fb042947650 in g_main_context_acquire () from /lib64/libglib-2.0.so.0
#3  0x00007fb042948465 in g_main_context_iterate.isra.24 () from /lib64/libglib-2.0.so.0
#4  0x00007fb0429486dc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#5  0x00007fb047e2fec6 in QEventDispatcherGlib::processEvents (this=0x7faff0022ec0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#6  0x00007fb047dffedf in QEventLoop::processEvents (this=this@entry=0x7fb005d79aa0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fb047e0022d in QEventLoop::exec (this=this@entry=0x7fb005d79aa0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fb04fa3cfe3 in Digikam::WorkerObjectRunnable::run (this=0x5039d10) at /usr/src/debug/digikam-3.5.0/core/libs/threads/threadmanager.cpp:196
#9  0x00007fb047cec88e in QThreadPoolThread::run (this=0x7faff8023bb0) at concurrent/qthreadpool.cpp:107
#10 0x00007fb047cf93af in QThreadPrivate::start (arg=0x7faff8023bb0) at thread/qthread_unix.cpp:338
#11 0x00007fb047a67f33 in start_thread (arg=0x7fb005d7a700) at pthread_create.c:309
#12 0x00007fb046d0bead in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 5 (Thread 0x7fb00657b700 (LWP 10591)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007fb047cf98b4 in wait (time=30000, this=0x2a5b0e0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x2a3a8d8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fb047cec99d in QThreadPoolThread::run (this=0x3e49160) at concurrent/qthreadpool.cpp:141
#4  0x00007fb047cf93af in QThreadPrivate::start (arg=0x3e49160) at thread/qthread_unix.cpp:338
#5  0x00007fb047a67f33 in start_thread (arg=0x7fb00657b700) at pthread_create.c:309
#6  0x00007fb046d0bead in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7fb004d78700 (LWP 10592)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007fb047cf98b4 in wait (time=30000, this=0x2a5b0e0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x2a3a8d8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fb047cec99d in QThreadPoolThread::run (this=0x3e4a240) at concurrent/qthreadpool.cpp:141
#4  0x00007fb047cf93af in QThreadPrivate::start (arg=0x3e4a240) at thread/qthread_unix.cpp:338
#5  0x00007fb047a67f33 in start_thread (arg=0x7fb004d78700) at pthread_create.c:309
#6  0x00007fb046d0bead in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7fb00cf65700 (LWP 10593)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007fb047cf98b4 in wait (time=30000, this=0x2a5b0e0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x2a3a8d8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fb047cec99d in QThreadPoolThread::run (this=0x3c99380) at concurrent/qthreadpool.cpp:141
#4  0x00007fb047cf93af in QThreadPrivate::start (arg=0x3c99380) at thread/qthread_unix.cpp:338
#5  0x00007fb047a67f33 in start_thread (arg=0x7fb00cf65700) at pthread_create.c:309
#6  0x00007fb046d0bead in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7fb000ef5700 (LWP 10597)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007fb047cf98b4 in wait (time=30000, this=0x2a5b0e0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x2a3a8d8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fb047cec99d in QThreadPoolThread::run (this=0x7fafc4023540) at concurrent/qthreadpool.cpp:141
#4  0x00007fb047cf93af in QThreadPrivate::start (arg=0x7fafc4023540) at thread/qthread_unix.cpp:338
#5  0x00007fb047a67f33 in start_thread (arg=0x7fb000ef5700) at pthread_create.c:309
#6  0x00007fb046d0bead in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7fb052f7aac0 (LWP 10205)):
[KCrash Handler]
#6  0x00007fb031143ed9 in sqlite3MemCompare () from /lib64/libsqlite3.so.0
#7  0x00007fb0311440a3 in sqlite3VdbeRecordCompare () from /lib64/libsqlite3.so.0
#8  0x00007fb031158d59 in sqlite3BtreeMovetoUnpacked () from /lib64/libsqlite3.so.0
#9  0x00007fb031181a05 in sqlite3VdbeExec () from /lib64/libsqlite3.so.0
#10 0x00007fb031189f37 in sqlite3_step () from /lib64/libsqlite3.so.0
#11 0x00007fb02066645c in QSQLiteResultPrivate::fetchNext (this=this@entry=0x4efae70, values=..., idx=idx@entry=0, initialFetch=initialFetch@entry=true) at ../../../sql/drivers/sqlite/qsql_sqlite.cpp:235
#12 0x00007fb0206671b8 in QSQLiteResult::exec (this=0xe528660) at ../../../sql/drivers/sqlite/qsql_sqlite.cpp:447
#13 0x00007fb052bb5c5d in QSqlQuery::exec (this=this@entry=0x7fff87f857b8) at kernel/qsqlquery.cpp:949
#14 0x00007fb04f9f4456 in Digikam::DatabaseCoreBackend::exec (this=0x28524d0, query=...) at /usr/src/debug/digikam-3.5.0/core/libs/database/core/databasecorebackend.cpp:1414
#15 0x00007fb04f9f44ec in Digikam::DatabaseCoreBackend::execQuery (this=this@entry=0x28524d0, query=..., boundValue1=...) at /usr/src/debug/digikam-3.5.0/core/libs/database/core/databasecorebackend.cpp:1056
#16 0x00007fb04f9f56e0 in Digikam::DatabaseCoreBackend::execQuery (this=this@entry=0x28524d0, sql=..., boundValue1=...) at /usr/src/debug/digikam-3.5.0/core/libs/database/core/databasecorebackend.cpp:1005
#17 0x00007fb04f9f5737 in Digikam::DatabaseCoreBackend::execSql (this=0x28524d0, sql=..., boundValue1=..., values=values@entry=0x7fff87f85800, lastInsertId=lastInsertId@entry=0x0) at /usr/src/debug/digikam-3.5.0/core/libs/database/core/databasecorebackend.cpp:902
#18 0x00007fb04f380dae in Digikam::AlbumDB::getSetting (this=this@entry=0x2812b50, keyword=...) at /usr/src/debug/digikam-3.5.0/core/libs/database/albumdb.cpp:972
#19 0x00007fb04f38176f in Digikam::AlbumDB::getFilterSettings (this=0x2812b50, imageFilter=imageFilter@entry=0x7fff87f85a60, videoFilter=videoFilter@entry=0x7fff87f85a80, audioFilter=audioFilter@entry=0x7fff87f85a70) at /usr/src/debug/digikam-3.5.0/core/libs/database/albumdb.cpp:1017
#20 0x00007fb04f397d36 in Digikam::CollectionScanner::loadNameFilters (this=this@entry=0x7fff87f85df0) at /usr/src/debug/digikam-3.5.0/core/libs/database/collectionscanner.cpp:408
#21 0x00007fb04f398473 in Digikam::CollectionScanner::mainEntryPoint (this=this@entry=0x7fff87f85df0, complete=complete@entry=false) at /usr/src/debug/digikam-3.5.0/core/libs/database/collectionscanner.cpp:806
#22 0x00007fb04f39aca4 in Digikam::CollectionScanner::scanFile (this=this@entry=0x7fff87f85df0, fi=..., albumId=albumId@entry=148, imageId=imageId@entry=-1, mode=mode@entry=Digikam::CollectionScanner::NormalScan) at /usr/src/debug/digikam-3.5.0/core/libs/database/collectionscanner.cpp:767
#23 0x00007fb04f39eedd in Digikam::CollectionScanner::scanFile (this=this@entry=0x7fff87f85df0, albumRoot=..., album=..., fileName=..., mode=mode@entry=Digikam::CollectionScanner::NormalScan) at /usr/src/debug/digikam-3.5.0/core/libs/database/collectionscanner.cpp:749
#24 0x00007fb04f39f3cb in Digikam::CollectionScanner::scanFile (this=this@entry=0x7fff87f85df0, filePath=..., mode=mode@entry=Digikam::CollectionScanner::NormalScan) at /usr/src/debug/digikam-3.5.0/core/libs/database/collectionscanner.cpp:718
#25 0x00000000005e1830 in Digikam::ScanController::scannedInfo (this=0x2777b40, filePath=...) at /usr/src/debug/digikam-3.5.0/core/digikam/database/scancontroller.cpp:555
#26 0x000000000049d72b in Digikam::ImageWindow::saveAsIsComplete (this=0x45874f0) at /usr/src/debug/digikam-3.5.0/core/utilities/imageeditor/main/imagewindow.cpp:1013
#27 0x000000000049d54b in Digikam::ImageWindow::saveVersionIsComplete (this=0x45874f0) at /usr/src/debug/digikam-3.5.0/core/utilities/imageeditor/main/imagewindow.cpp:985
#28 0x00007fb04fb35454 in Digikam::EditorWindow::movingSaveFileFinished (this=this@entry=0x45874f0, successful=successful@entry=true) at /usr/src/debug/digikam-3.5.0/core/utilities/imageeditor/editor/editorwindow.cpp:1807
#29 0x00007fb04fb4389b in Digikam::EditorWindow::moveFile (this=this@entry=0x45874f0) at /usr/src/debug/digikam-3.5.0/core/utilities/imageeditor/editor/editorwindow.cpp:2627
#30 0x00007fb04fb43f58 in Digikam::EditorWindow::slotSavingFinished (this=0x45874f0, filename=..., success=<optimized out>) at /usr/src/debug/digikam-3.5.0/core/utilities/imageeditor/editor/editorwindow.cpp:1765
#31 0x00007fb047e15cf8 in QMetaObject::activate (sender=0x4593c20, m=m@entry=0x7fb04fe518a0 <Digikam::Canvas::staticMetaObject>, local_signal_index=local_signal_index@entry=13, argv=argv@entry=0x7fff87f86300) at kernel/qobject.cpp:3547
#32 0x00007fb04faa2106 in Digikam::Canvas::signalSavingFinished (this=<optimized out>, _t1=..., _t2=true) at /usr/src/debug/digikam-3.5.0/x86_64-redhat-linux-gnu/core/digikam/canvas.moc:298
#33 0x00007fb047e15cf8 in QMetaObject::activate (sender=sender@entry=0x45a4170, m=m@entry=0x7fb04fe58760 <Digikam::EditorCore::staticMetaObject>, local_signal_index=local_signal_index@entry=8, argv=argv@entry=0x7fff87f86450) at kernel/qobject.cpp:3547
#34 0x00007fb04fb0aa86 in Digikam::EditorCore::signalImageSaved (this=this@entry=0x45a4170, _t1=..., _t2=_t2@entry=true) at /usr/src/debug/digikam-3.5.0/x86_64-redhat-linux-gnu/core/digikam/editorcore.moc:197
#35 0x00007fb04fb12bf3 in Digikam::EditorCore::slotImageSaved (this=0x45a4170, filePath=..., success=<optimized out>) at /usr/src/debug/digikam-3.5.0/core/utilities/imageeditor/core/editorcore.cpp:451
#36 0x00007fb047e1a27e in QObject::event (this=0x45a4170, e=<optimized out>) at kernel/qobject.cpp:1194
#37 0x00007fb048a70d8c in QApplicationPrivate::notify_helper (this=this@entry=0x2711d70, receiver=receiver@entry=0x45a4170, e=e@entry=0x7fafc8391450) at kernel/qapplication.cpp:4562
#38 0x00007fb048a77725 in QApplication::notify (this=this@entry=0x7fff87f872d0, receiver=receiver@entry=0x45a4170, e=e@entry=0x7fafc8391450) at kernel/qapplication.cpp:4348
#39 0x00007fb0497ce7da in KApplication::notify (this=0x7fff87f872d0, receiver=0x45a4170, event=0x7fafc8391450) at /usr/src/debug/kdelibs-4.11.5/kdeui/kernel/kapplication.cpp:311
#40 0x00007fb047e0139d in QCoreApplication::notifyInternal (this=0x7fff87f872d0, receiver=receiver@entry=0x45a4170, event=event@entry=0x7fafc8391450) at kernel/qcoreapplication.cpp:949
#41 0x00007fb047e04485 in sendEvent (event=0x7fafc8391450, receiver=0x45a4170) at kernel/qcoreapplication.h:231
#42 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x2678470) at kernel/qcoreapplication.cpp:1573
#43 0x00007fb047e04923 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1466
#44 0x00007fb047e30623 in sendPostedEvents () at kernel/qcoreapplication.h:236
#45 postEventSourceDispatch (s=0x27004c0) at kernel/qeventdispatcher_glib.cpp:280
#46 0x00007fb0429482a6 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#47 0x00007fb042948628 in g_main_context_iterate.isra.24 () from /lib64/libglib-2.0.so.0
#48 0x00007fb0429486dc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#49 0x00007fb047e2fea5 in QEventDispatcherGlib::processEvents (this=0x26799b0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#50 0x00007fb048b12ca6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#51 0x00007fb047dffedf in QEventLoop::processEvents (this=this@entry=0x7fff87f86da0, flags=...) at kernel/qeventloop.cpp:149
#52 0x00007fb047e0022d in QEventLoop::exec (this=this@entry=0x7fff87f86da0, flags=...) at kernel/qeventloop.cpp:204
#53 0x00007fb047e05749 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1221
#54 0x00007fb048a6f3fc in QApplication::exec () at kernel/qapplication.cpp:3823
#55 0x00000000004922bd in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/digikam-3.5.0/core/digikam/main/main.cpp:235

Possible duplicates by query: bug 330633, bug 330302, bug 330155, bug 330104, bug 329697.

Reported using DrKonqi
Comment 1 Jekyll Wu 2014-02-02 17:42:32 UTC

*** This bug has been marked as a duplicate of bug 329697 ***
Comment 2 caulier.gilles 2021-12-17 11:50:52 UTC
Fixed with #329697