Bug 298639

Summary: Digikam crash when clicking on "next photo" button on lower right corner
Product: [Applications] digikam Reporter: Jim Shipman <JimShip>
Component: Geolocation-WorkflowAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, nino
Priority: NOR    
Version: 2.5.0   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 4.12.0
Sentry Crash Report:

Description Jim Shipman 2012-04-23 06:21:49 UTC
Application: digikam (2.5.0)
KDE Platform Version: 4.8.2 (4.8.2)
Qt Version: 4.8.1
Operating System: Linux 3.3.2-1.fc16.x86_64 x86_64
Distribution: "Fedora release 16 (Verne)"

-- Information about the crash:
I was sequencing through photos by clicking on the "next" button in the lower right hand corner of the screen.  I clicked after the last photo.

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

Thread 9 (Thread 0x7ff64db4e700 (LWP 7280)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x0000003479c7c02b in wait (time=18446744073709551615, this=0x2f173b0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2ef6d28, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00000000005c8450 in Digikam::ScanController::run (this=0x2f17140) at /usr/src/debug/digikam-2.5.0/core/digikam/database/scancontroller.cpp:647
#4  0x0000003479c7bb1b in QThreadPrivate::start (arg=0x2f17140) at thread/qthread_unix.cpp:298
#5  0x000000388d607d90 in start_thread (arg=0x7ff64db4e700) at pthread_create.c:309
#6  0x000000388caf0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 8 (Thread 0x7ff64d34d700 (LWP 7281)):
#0  0x000000388d609de5 in __pthread_mutex_lock (mutex=0x7ff6400009a8) at pthread_mutex_lock.c:65
#1  0x000000388ea443d1 in g_main_context_query (context=0x7ff6400009a0, max_priority=2147483647, timeout=0x7ff64d34c9ec, fds=0x7ff640002150, n_fds=2) at gmain.c:2831
#2  0x000000388ea44eda in g_main_context_iterate (context=0x7ff6400009a0, block=1, dispatch=1, self=<optimized out>) at gmain.c:3071
#3  0x000000388ea4549c in g_main_context_iteration (context=0x7ff6400009a0, may_block=1) at gmain.c:3152
#4  0x0000003479da8626 in QEventDispatcherGlib::processEvents (this=0x7ff6400008c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426
#5  0x0000003479d78a12 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x0000003479d78c67 in QEventLoop::exec (this=0x7ff64d34cb10, flags=...) at kernel/qeventloop.cpp:204
#7  0x0000003479c78ad7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x0000003479d5870f in QInotifyFileSystemWatcherEngine::run (this=0x2f19410) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x0000003479c7bb1b in QThreadPrivate::start (arg=0x2f19410) at thread/qthread_unix.cpp:298
#10 0x000000388d607d90 in start_thread (arg=0x7ff64d34d700) at pthread_create.c:309
#11 0x000000388caf0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 7 (Thread 0x7ff64cb4c700 (LWP 7283)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x0000003479c7c02b in wait (time=18446744073709551615, this=0x317f5c0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x317f328, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x000000348b3465d9 in Digikam::ParkingThread::run (this=0x317f310) at /usr/src/debug/digikam-2.5.0/core/libs/threads/threadmanager.cpp:119
#4  0x0000003479c7bb1b in QThreadPrivate::start (arg=0x317f310) at thread/qthread_unix.cpp:298
#5  0x000000388d607d90 in start_thread (arg=0x7ff64cb4c700) at pthread_create.c:309
#6  0x000000388caf0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 6 (Thread 0x7ff62cd8a700 (LWP 7310)):
#0  0x000000388d60afaa in __pthread_mutex_unlock (mutex=0x7ff6180009a8) at pthread_mutex_unlock.c:299
#1  0x000000388ea4500a in g_main_context_iterate (context=0x7ff6180009a0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3092
#2  0x000000388ea4549c in g_main_context_iteration (context=0x7ff6180009a0, may_block=1) at gmain.c:3152
#3  0x0000003479da8626 in QEventDispatcherGlib::processEvents (this=0x7ff6180008c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426
#4  0x0000003479d78a12 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x0000003479d78c67 in QEventLoop::exec (this=0x7ff62cd89b10, flags=...) at kernel/qeventloop.cpp:204
#6  0x0000003479c78ad7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x0000003479d5870f in QInotifyFileSystemWatcherEngine::run (this=0x343b5550) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x0000003479c7bb1b in QThreadPrivate::start (arg=0x343b5550) at thread/qthread_unix.cpp:298
#9  0x000000388d607d90 in start_thread (arg=0x7ff62cd8a700) at pthread_create.c:309
#10 0x000000388caf0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 5 (Thread 0x7ff61e364700 (LWP 7311)):
#0  0x00007fffafbe470c in ?? ()
#1  0x00007fffafbe4959 in ?? ()
#2  0x000000388de041f1 in __GI_clock_gettime (clock_id=1, tp=0x7ff61e363880) at ../sysdeps/unix/clock_gettime.c:100
#3  0x0000003479cd27d4 in do_gettime (frac=0x7ff61e363898, sec=0x7ff61e363890) at tools/qelapsedtimer_unix.cpp:123
#4  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#5  0x0000003479da8d2d in QTimerInfoList::updateCurrentTime (this=0x7ff6140017a0) at kernel/qeventdispatcher_unix.cpp:343
#6  0x0000003479da9063 in QTimerInfoList::timerWait (this=0x7ff6140017a0, tm=...) at kernel/qeventdispatcher_unix.cpp:450
#7  0x0000003479da7b0c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7ff61e36397c) at kernel/qeventdispatcher_glib.cpp:136
#8  0x0000003479da7bb5 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#9  0x000000388ea44062 in g_main_context_prepare (context=0x7ff6140009a0, priority=0x7ff61e3639e8) at gmain.c:2762
#10 0x000000388ea44e6d in g_main_context_iterate (context=0x7ff6140009a0, block=1, dispatch=1, self=<optimized out>) at gmain.c:3069
#11 0x000000388ea4549c in g_main_context_iteration (context=0x7ff6140009a0, may_block=1) at gmain.c:3152
#12 0x0000003479da8626 in QEventDispatcherGlib::processEvents (this=0x7ff6140008c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426
#13 0x0000003479d78a12 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#14 0x0000003479d78c67 in QEventLoop::exec (this=0x7ff61e363b10, flags=...) at kernel/qeventloop.cpp:204
#15 0x0000003479c78ad7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#16 0x0000003479d5870f in QInotifyFileSystemWatcherEngine::run (this=0x341d7ae0) at io/qfilesystemwatcher_inotify.cpp:248
#17 0x0000003479c7bb1b in QThreadPrivate::start (arg=0x341d7ae0) at thread/qthread_unix.cpp:298
#18 0x000000388d607d90 in start_thread (arg=0x7ff61e364700) at pthread_create.c:309
#19 0x000000388caf0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7ff62f765700 (LWP 7362)):
#0  0x000000388d60af9d in __pthread_mutex_unlock_usercnt (mutex=<optimized out>, decr=<optimized out>) at pthread_mutex_unlock.c:53
#1  __pthread_mutex_unlock (mutex=0x7ff634000918) at pthread_mutex_unlock.c:298
#2  0x000000388ea44de9 in g_main_context_iterate (context=0x7ff634000910, block=1, dispatch=1, self=<optimized out>) at gmain.c:3030
#3  0x000000388ea4549c in g_main_context_iteration (context=0x7ff634000910, may_block=1) at gmain.c:3152
#4  0x0000003479da8626 in QEventDispatcherGlib::processEvents (this=0x7ff6340024c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426
#5  0x0000003479d78a12 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x0000003479d78c67 in QEventLoop::exec (this=0x7ff62f764b10, flags=...) at kernel/qeventloop.cpp:204
#7  0x0000003479c78ad7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x0000003479d5870f in QInotifyFileSystemWatcherEngine::run (this=0x2dcb300) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x0000003479c7bb1b in QThreadPrivate::start (arg=0x2dcb300) at thread/qthread_unix.cpp:298
#10 0x000000388d607d90 in start_thread (arg=0x7ff62f765700) at pthread_create.c:309
#11 0x000000388caf0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7ff603fff700 (LWP 7384)):
#0  0x000000388cae85c3 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x000000388ea44fd8 in g_main_context_poll (n_fds=1, fds=0x7ff5f0085450, priority=<optimized out>, timeout=-1, context=0x7ff5f0001300) at gmain.c:3402
#2  g_main_context_iterate (context=0x7ff5f0001300, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3084
#3  0x000000388ea4549c in g_main_context_iteration (context=0x7ff5f0001300, may_block=1) at gmain.c:3152
#4  0x0000003479da8626 in QEventDispatcherGlib::processEvents (this=0x7ff5f0148950, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426
#5  0x0000003479d78a12 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x0000003479d78c67 in QEventLoop::exec (this=0x7ff603ffeb40, flags=...) at kernel/qeventloop.cpp:204
#7  0x0000003479c78ad7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x0000003479c7bb1b in QThreadPrivate::start (arg=0x34bff8a0) at thread/qthread_unix.cpp:298
#9  0x000000388d607d90 in start_thread (arg=0x7ff603fff700) at pthread_create.c:309
#10 0x000000388caf0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7ff62d58b700 (LWP 7385)):
#0  0x000000388cae85c3 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x000000388ea44fd8 in g_main_context_poll (n_fds=1, fds=0x7ff5e04d4f20, priority=<optimized out>, timeout=-1, context=0x7ff5e0001b80) at gmain.c:3402
#2  g_main_context_iterate (context=0x7ff5e0001b80, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3084
#3  0x000000388ea4549c in g_main_context_iteration (context=0x7ff5e0001b80, may_block=1) at gmain.c:3152
#4  0x0000003479da8626 in QEventDispatcherGlib::processEvents (this=0x7ff5e0373fe0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426
#5  0x0000003479d78a12 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x0000003479d78c67 in QEventLoop::exec (this=0x7ff62d58ab40, flags=...) at kernel/qeventloop.cpp:204
#7  0x0000003479c78ad7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x0000003479c7bb1b in QThreadPrivate::start (arg=0x3499b7d0) at thread/qthread_unix.cpp:298
#9  0x000000388d607d90 in start_thread (arg=0x7ff62d58b700) at pthread_create.c:309
#10 0x000000388caf0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7ff653844a40 (LWP 7278)):
[KCrash Handler]
#6  QAction::setEnabled (this=0x347fc880, b=false) at kernel/qaction.cpp:1114
#7  0x000000347b80a7fb in QMenu::changeEvent (this=0x347fabd0, e=0x7fffafb01af0) at widgets/qmenu.cpp:2389
#8  0x000000347b419b9f in QWidget::event (this=0x347fabd0, event=0x7fffafb01af0) at kernel/qwidget.cpp:8652
#9  0x000000347b8132cb in QMenu::event (this=0x347fabd0, e=0x7fffafb01af0) at widgets/qmenu.cpp:2469
#10 0x000000347b3c9bc4 in notify_helper (e=0x7fffafb01af0, receiver=0x347fabd0, this=0x2c791d0) at kernel/qapplication.cpp:4554
#11 QApplicationPrivate::notify_helper (this=0x2c791d0, receiver=0x347fabd0, e=0x7fffafb01af0) at kernel/qapplication.cpp:4526
#12 0x000000347b3cea43 in QApplication::notify (this=0x7fffafb02bd0, receiver=0x347fabd0, e=0x7fffafb01af0) at kernel/qapplication.cpp:4415
#13 0x000000347e451f96 in KApplication::notify (this=0x7fffafb02bd0, receiver=0x347fabd0, event=0x7fffafb01af0) at /usr/src/debug/kdelibs-4.8.2/kdeui/kernel/kapplication.cpp:311
#14 0x0000003479d798dc in QCoreApplication::notifyInternal (this=0x7fffafb02bd0, receiver=0x347fabd0, event=0x7fffafb01af0) at kernel/qcoreapplication.cpp:876
#15 0x000000347b417a93 in sendEvent (event=0x7fffafb01af0, receiver=0x347fabd0) at ../../src/corelib/kernel/qcoreapplication.h:231
#16 QWidgetPrivate::setEnabled_helper (this=<optimized out>, enable=false) at kernel/qwidget.cpp:3420
#17 0x000000347b4179ec in QWidgetPrivate::setEnabled_helper (this=0x34f33f10, enable=false) at kernel/qwidget.cpp:3394
#18 0x000000347b4179ec in QWidgetPrivate::setEnabled_helper (this=0x3a14e70, enable=false) at kernel/qwidget.cpp:3394
#19 0x000000347b4179ec in QWidgetPrivate::setEnabled_helper (this=0x3a147f0, enable=false) at kernel/qwidget.cpp:3394
#20 0x000000347b4179ec in QWidgetPrivate::setEnabled_helper (this=0x3a14060, enable=false) at kernel/qwidget.cpp:3394
#21 0x000000348b3eaf40 in Digikam::ImagePropertiesGPSTab::setCurrentURL (this=0x3a13860, url=...) at /usr/src/debug/digikam-2.5.0/core/libs/imageproperties/imagepropertiesgpstab.cpp:318
#22 0x000000348b3d4d62 in Digikam::ImagePropertiesSideBar::slotNoCurrentItem (this=0x38c84e0) at /usr/src/debug/digikam-2.5.0/core/libs/imageproperties/imagepropertiessidebar.cpp:120
#23 0x000000000049da00 in Digikam::ImagePropertiesSideBarDB::slotNoCurrentItem (this=0x38c84e0) at /usr/src/debug/digikam-2.5.0/core/libs/imageproperties/imagepropertiessidebardb.cpp:200
#24 0x0000003479d8d571 in QMetaObject::activate (sender=0x30bc7a0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3547
#25 0x000000000064ae67 in Digikam::DigikamView::slotDispatchImageSelected (this=0x30bc7a0) at /usr/src/debug/digikam-2.5.0/core/digikam/views/digikamview.cpp:1181
#26 0x0000003479d8d571 in QMetaObject::activate (sender=0x3ed1a50, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3547
#27 0x0000003479d924d9 in QObject::event (this=0x3ed1a50, e=<optimized out>) at kernel/qobject.cpp:1157
#28 0x000000347b3c9bc4 in notify_helper (e=0x7fffafb027b0, receiver=0x3ed1a50, this=0x2c791d0) at kernel/qapplication.cpp:4554
#29 QApplicationPrivate::notify_helper (this=0x2c791d0, receiver=0x3ed1a50, e=0x7fffafb027b0) at kernel/qapplication.cpp:4526
#30 0x000000347b3cea43 in QApplication::notify (this=0x7fffafb02bd0, receiver=0x3ed1a50, e=0x7fffafb027b0) at kernel/qapplication.cpp:4415
#31 0x000000347e451f96 in KApplication::notify (this=0x7fffafb02bd0, receiver=0x3ed1a50, event=0x7fffafb027b0) at /usr/src/debug/kdelibs-4.8.2/kdeui/kernel/kapplication.cpp:311
#32 0x0000003479d798dc in QCoreApplication::notifyInternal (this=0x7fffafb02bd0, receiver=0x3ed1a50, event=0x7fffafb027b0) at kernel/qcoreapplication.cpp:876
#33 0x0000003479daa392 in sendEvent (event=0x7fffafb027b0, receiver=<optimized out>) at kernel/qcoreapplication.h:231
#34 QTimerInfoList::activateTimers (this=0x2c7bd10) at kernel/qeventdispatcher_unix.cpp:611
#35 0x0000003479da7d9d in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:186
#36 timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:180
#37 0x0000003479da7dc1 in idleTimerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:233
#38 0x000000388ea44acd in g_main_dispatch (context=0x2c7b840) at gmain.c:2441
#39 g_main_context_dispatch (context=0x2c7b840) at gmain.c:3011
#40 0x000000388ea452c8 in g_main_context_iterate (context=0x2c7b840, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3089
#41 0x000000388ea4549c in g_main_context_iteration (context=0x2c7b840, may_block=1) at gmain.c:3152
#42 0x0000003479da85bf in QEventDispatcherGlib::processEvents (this=0x2c78ef0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#43 0x000000347b46c8ce in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:207
#44 0x0000003479d78a12 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#45 0x0000003479d78c67 in QEventLoop::exec (this=0x7fffafb02a50, flags=...) at kernel/qeventloop.cpp:204
#46 0x0000003479d7d665 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#47 0x000000000048bd7d in main (argc=5, argv=<optimized out>) at /usr/src/debug/digikam-2.5.0/core/digikam/main/main.cpp:232

Possible duplicates by query: bug 286133.

Reported using DrKonqi
Comment 1 caulier.gilles 2012-04-23 06:28:47 UTC
It crash in Geolocation tab from right sidebar. Sound like a crash into libkgeomap. In fact debug symbol for this ib are missing. So i'm not 100% sure...

Gilles Caulier
Comment 2 caulier.gilles 2012-06-22 08:50:58 UTC
Official digiKam 2.6.0 release is out since few days now :

http://www.digikam.org/drupal/node/656

Please, check if this entry still valid, or update report accordingly.

Thanks in advance.

Gilles Caulier
Comment 3 caulier.gilles 2012-11-24 12:58:37 UTC
*** Bug 310573 has been marked as a duplicate of this bug. ***
Comment 4 caulier.gilles 2012-11-24 12:59:14 UTC
We need feedback with 2.9.0 release

Gilles Caulier
Comment 5 caulier.gilles 2015-06-27 13:47:20 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 6 Jim Shipman 2015-06-27 15:40:49 UTC
I have not experienced a crash while clicking through photos in the preview pane with digikam 4.10.0.