Bug 295097

Summary: digikam crash
Product: [Applications] digikam Reporter: Gábor Ziegler <Gabor.Ziegler>
Component: Faces-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, marcel.wiesweg
Priority: NOR    
Version: 2.5.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 5.1.0
Sentry Crash Report:

Description Gábor Ziegler 2012-02-29 21:42:26 UTC
Application: digikam (2.5.0)
KDE Platform Version: 4.7.4 (4.7.4)
Qt Version: 4.7.4
Operating System: Linux 3.0.0-16-generic i686
Distribution: Ubuntu 11.10

-- Information about the crash:
- What I was doing when the application crashed:
Tagging unknown people afterface detection has just run. Detection has run over a small subalbum. Total databse size: 51k+ pieces photos, 50+Gb total albums, 1GB RAM, so digikam swaps frequently. Hyperthreaded CPU. Probably concurrency hazard due to slow system?

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

Thread 6 (Thread 0xb453db70 (LWP 7517)):
#0  0x00caa416 in __kernel_vsyscall ()
#1  0x00992a5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x055dfcfc in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x026e6cc0 in wait (time=4294967295, this=0x932d6e8) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x930f084, mutex=0x930f080, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x082025e5 in ?? ()
#6  0x026e67b3 in QThreadPrivate::start (arg=0x9307c10) at thread/qthread_unix.cpp:331
#7  0x0098ed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0x055d20ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 5 (Thread 0xb3d3cb70 (LWP 7518)):
#0  0x055e00c7 in ?? () from /lib/i386-linux-gnu/libc.so.6
#1  0x055c33f7 in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0x02e4534b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x02e36896 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x02e36c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0x0280fb37 in QEventDispatcherGlib::processEvents (this=0x93766d8, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#6  0x027e01dd in QEventLoop::processEvents (this=0xb3d3c100, flags=...) at kernel/qeventloop.cpp:149
#7  0x027e0421 in QEventLoop::exec (this=0xb3d3c100, flags=...) at kernel/qeventloop.cpp:201
#8  0x026e390b in QThread::exec (this=0x93b4b38) at thread/qthread.cpp:498
#9  0x027c0e2d in QInotifyFileSystemWatcherEngine::run (this=0x93b4b38) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x026e67b3 in QThreadPrivate::start (arg=0x93b4b38) at thread/qthread_unix.cpp:331
#11 0x0098ed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#12 0x055d20ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 4 (Thread 0xb33ffb70 (LWP 7531)):
#0  0x00caa416 in __kernel_vsyscall ()
#1  0x00992a5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x055dfcfc in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x026e6cc0 in wait (time=4294967295, this=0x92968c0) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x92c8f58, mutex=0x92c8f54, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x01901744 in ?? () from /usr/lib/libdigikamcore.so.2
#6  0x026e67b3 in QThreadPrivate::start (arg=0x92c8f48) at thread/qthread_unix.cpp:331
#7  0x0098ed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0x055d20ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 3 (Thread 0xa0e57b70 (LWP 7938)):
#0  0x00991d44 in __pthread_mutex_unlock_usercnt () from /lib/i386-linux-gnu/libpthread.so.0
#1  0x055dff54 in pthread_mutex_unlock () from /lib/i386-linux-gnu/libc.so.6
#2  0x02e36565 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x02e36c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x0280fb37 in QEventDispatcherGlib::processEvents (this=0xbad5e70, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x027e01dd in QEventLoop::processEvents (this=0xa0e57100, flags=...) at kernel/qeventloop.cpp:149
#6  0x027e0421 in QEventLoop::exec (this=0xa0e57100, flags=...) at kernel/qeventloop.cpp:201
#7  0x026e390b in QThread::exec (this=0xba49450) at thread/qthread.cpp:498
#8  0x027c0e2d in QInotifyFileSystemWatcherEngine::run (this=0xba49450) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x026e67b3 in QThreadPrivate::start (arg=0xba49450) at thread/qthread_unix.cpp:331
#10 0x0098ed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#11 0x055d20ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 2 (Thread 0x98ea6b70 (LWP 7939)):
#0  0x007b9d10 in clock_gettime () from /lib/i386-linux-gnu/librt.so.1
#1  0x0273d7d5 in do_gettime (frac=0x98ea5e70, sec=0x98ea5e68) at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0x028104b6 in QTimerInfoList::updateCurrentTime (this=0xcbd2cc4) at kernel/qeventdispatcher_unix.cpp:339
#4  0x0281080a in QTimerInfoList::timerWait (this=0xcbd2cc4, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x0280f053 in timerSourcePrepareHelper (src=<optimized out>, timeout=0x98ea5f7c) at kernel/qeventdispatcher_glib.cpp:136
#6  0x0280f0ed in timerSourcePrepare (source=0xcbd2c90, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0x02e3588c in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0x02e36637 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0x02e36c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0x0280fb37 in QEventDispatcherGlib::processEvents (this=0xb0ad5f0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#11 0x027e01dd in QEventLoop::processEvents (this=0x98ea6100, flags=...) at kernel/qeventloop.cpp:149
#12 0x027e0421 in QEventLoop::exec (this=0x98ea6100, flags=...) at kernel/qeventloop.cpp:201
#13 0x026e390b in QThread::exec (this=0xba46190) at thread/qthread.cpp:498
#14 0x027c0e2d in QInotifyFileSystemWatcherEngine::run (this=0xba46190) at io/qfilesystemwatcher_inotify.cpp:248
#15 0x026e67b3 in QThreadPrivate::start (arg=0xba46190) at thread/qthread_unix.cpp:331
#16 0x0098ed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#17 0x055d20ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 1 (Thread 0xb54728c0 (LWP 7508)):
[KCrash Handler]
#7  0x08243644 in ?? ()
#8  0x0195d6dd in Digikam::AbstractWidgetDelegateOverlay::checkIndexOnEnter(QModelIndex const&) const () from /usr/lib/libdigikamcore.so.2
#9  0x0195d75c in Digikam::PersistentWidgetDelegateOverlay::slotEntered(QModelIndex const&) () from /usr/lib/libdigikamcore.so.2
#10 0x0195dbeb in Digikam::PersistentWidgetDelegateOverlay::setPersistent(bool) () from /usr/lib/libdigikamcore.so.2
#11 0x0195ddc3 in Digikam::PersistentWidgetDelegateOverlay::leavePersistentMode() () from /usr/lib/libdigikamcore.so.2
#12 0x08243574 in ?? ()
#13 0x027e1336 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x925b0d8, receiver=0xd8a33f8, event=0xbf969d8c) at kernel/qcoreapplication.cpp:902
#14 0x06665d52 in notify_helper (e=0xbf969d8c, receiver=0xd8a33f8, this=0x925b0d8) at kernel/qapplication.cpp:4482
#15 QApplicationPrivate::notify_helper (this=0x925b0d8, receiver=0xd8a33f8, e=0xbf969d8c) at kernel/qapplication.cpp:4458
#16 0x0666b1d8 in QApplication::notify (this=0x925b0d8, receiver=0xd8a33f8, e=0xbf969d8c) at kernel/qapplication.cpp:4451
#17 0x01d0c971 in KApplication::notify (this=0xbf96aa00, receiver=0xd8a33f8, event=0xbf969d8c) at ../../kdeui/kernel/kapplication.cpp:311
#18 0x027e119e in QCoreApplication::notifyInternal (this=0xbf96aa00, receiver=0xd8a33f8, event=0xbf969d8c) at kernel/qcoreapplication.cpp:787
#19 0x066642c2 in sendEvent (event=0xbf969d8c, receiver=0xd8a33f8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#20 QApplicationPrivate::setFocusWidget (focus=0x94f1460, reason=Qt::MouseFocusReason) at kernel/qapplication.cpp:2246
#21 0x066b2b41 in QWidget::setFocus (this=0x94f1460, reason=Qt::MouseFocusReason) at kernel/qwidget.cpp:6391
#22 0x06663d60 in QApplicationPrivate::giveFocusAccordingToFocusPolicy (widget=0xc34b648, focusPolicy=Qt::ClickFocus, focusReason=Qt::MouseFocusReason) at kernel/qapplication.cpp:5516
#23 0x0666cf5c in QApplication::notify (this=0xbf96aa00, receiver=0xc34b648, e=0xbf96a15c) at kernel/qapplication.cpp:4004
#24 0x01d0c971 in KApplication::notify (this=0xbf96aa00, receiver=0xc34b648, event=0xbf96a15c) at ../../kdeui/kernel/kapplication.cpp:311
#25 0x027e119e in QCoreApplication::notifyInternal (this=0xbf96aa00, receiver=0xc34b648, event=0xbf96a15c) at kernel/qcoreapplication.cpp:787
#26 0x06666d45 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#27 QApplicationPrivate::sendMouseEvent (receiver=0xc34b648, event=0xbf96a15c, alienWidget=0xc34b648, nativeWidget=0x94f1460, buttonDown=0x6fd0eb4, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3146
#28 0x066f3304 in QETWidget::translateMouseEvent (this=0x94f1460, event=0xbf96a5dc) at kernel/qapplication_x11.cpp:4571
#29 0x066f1e8d in QApplication::x11ProcessEvent (this=0xbf96aa00, event=0xbf96a5dc) at kernel/qapplication_x11.cpp:3693
#30 0x0671e28c in x11EventSourceDispatch (s=0x925d8d8, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#31 0x02e3625f in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#32 0x02e36990 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#33 0x02e36c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#34 0x0280fada in QEventDispatcherGlib::processEvents (this=0x921b0f8, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#35 0x0671de7a in QGuiEventDispatcherGlib::processEvents (this=0x921b0f8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#36 0x027e01dd in QEventLoop::processEvents (this=0xbf96a8e4, flags=...) at kernel/qeventloop.cpp:149
#37 0x027e0421 in QEventLoop::exec (this=0xbf96a8e4, flags=...) at kernel/qeventloop.cpp:201
#38 0x027e519d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#39 0x06663924 in QApplication::exec () at kernel/qapplication.cpp:3760
#40 0x080b6984 in ?? ()
#41 0x05519113 in __libc_start_main () from /lib/i386-linux-gnu/libc.so.6
#42 0x080b82f1 in _start ()

Reported using DrKonqi
Comment 1 Marcel Wiesweg 2012-03-12 10:25:40 UTC
Debug info is missing, but from the situation the crash it can be assumed that frame 12 is AssignNameOverlay::eventFilter and 7 is AssignNameOverlay::checkIndex.
But that does not really help me. Was this crash reproducible?
Comment 2 caulier.gilles 2012-06-22 08:51:55 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 Marcel Wiesweg 2012-10-03 14:19:16 UTC
see comment 1
Comment 4 caulier.gilles 2015-06-27 13:44:19 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 5 caulier.gilles 2015-08-22 06:40:55 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 6 caulier.gilles 2016-07-14 05:56:47 UTC
With next 5.1.0 release, a lots of investigations have be done around OpenCV
face module integration with digiKam Face Engine.
See bug #365202 history for details.
I close this file now. Don't hesistate to re-open if necessary.
Gilles Caulier