Bug 279266

Summary: digiKam crashes while trying to tag faces
Product: [Applications] digikam Reporter: mohamed malik <i>
Component: Faces-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: major    
Priority: NOR    
Version: 2.0.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 7.0.0
Sentry Crash Report:

Description mohamed malik 2011-08-03 08:15:27 UTC
Version:           2.0.0 (using KDE 4.7.0) 
OS:                Linux

digiKam crashes while trying to tag faces. When many like faces are selected and when trying to tag the name of the faces digikam crashes everytime. However if one like face is selected at a time it doesn't crash.

For an example if 15 faces of the same person is selected and when trying to assign the name tag to the person the application crashes.

This seems to be working well from 2.0 beta 3 - 2.0 RC..!


Reproducible: Always

Steps to Reproduce:
Make sure digiKam doesn't crash when trying to tag like faces all at once.

Actual Results:  
Make sure digiKam doesn't crash when trying to tag like faces all at once.

Expected Results:  
Make sure digiKam doesn't crash when trying to tag like faces all at once.
Comment 1 caulier.gilles 2011-08-03 08:34:47 UTC
We need a GDB backtrace to investiguate...

Gilles Caulier
Comment 2 mohamed malik 2011-08-03 15:39:18 UTC
Hi Gilles Caulier, here is the backtrace..

Application: digiKam (digikam), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fc04e0a4a40 (LWP 19733))]

Thread 11 (Thread 0x7fc02da83700 (LWP 19734)):
#0  0x00007fc04554df03 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=<value optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fc03f665104 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fc03f6659f2 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fc034e18c44 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007fc03f68c3e4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fc03214ec13 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#6  0x00007fc04525dd8c in start_thread (arg=0x7fc02da83700) at pthread_create.c:304
#7  0x00007fc04555b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7fc0202e8700 (LWP 19736)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fc04658182b in wait (this=<value optimized out>, mutex=0x12e6f58, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x12e6f58, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00000000005b7228 in Digikam::ScanController::run (this=0x12d08c0) at /build/buildd/digikam2-2.0.0/core/digikam/database/scancontroller.cpp:618
#4  0x00007fc046581175 in QThreadPrivate::start (arg=0x12d08c0) at thread/qthread_unix.cpp:320
#5  0x00007fc03214ec13 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#6  0x00007fc04525dd8c in start_thread (arg=0x7fc0202e8700) at pthread_create.c:304
#7  0x00007fc04555b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7fc01fae7700 (LWP 19737)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007fc01fae6760 in ?? ()
#2  0x00007fff5eb137b2 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 8 (Thread 0x7fc01f2e6700 (LWP 19739)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fc04658182b in wait (this=<value optimized out>, mutex=0x7fc0280b9f88, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x7fc0280b9f88, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fc04abcb287 in Digikam::ParkingThread::run (this=0x7fc0280b9f70) at /build/buildd/digikam2-2.0.0/core/libs/threads/threadmanager.cpp:119
#4  0x00007fc046581175 in QThreadPrivate::start (arg=0x7fc0280b9f70) at thread/qthread_unix.cpp:320
#5  0x00007fc03214ec13 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#6  0x00007fc04525dd8c in start_thread (arg=0x7fc01f2e6700) at pthread_create.c:304
#7  0x00007fc04555b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7fc00bfb0700 (LWP 20127)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
#1  0x00007fc04658179e in wait (this=<value optimized out>, mutex=0x7fc0280ba540, time=30000) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x7fc0280ba540, time=30000) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fc046576218 in QThreadPoolThread::run (this=0x7fc02852ae20) at concurrent/qthreadpool.cpp:140
#4  0x00007fc046581175 in QThreadPrivate::start (arg=0x7fc02852ae20) at thread/qthread_unix.cpp:320
#5  0x00007fc03214ec13 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#6  0x00007fc04525dd8c in start_thread (arg=0x7fc00bfb0700) at pthread_create.c:304
#7  0x00007fc04555b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fc00c7b1700 (LWP 20128)):
#0  0x00007fc04132053e in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#1  0x00007fc04131efc6 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#2  0x00007fc03214ec13 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#3  0x00007fc04525dd8c in start_thread (arg=0x7fc00c7b1700) at pthread_create.c:304
#4  0x00007fc04555b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fc00a8a7700 (LWP 20129)):
#0  __pthread_mutex_unlock_usercnt (mutex=0x1a364b8) at pthread_mutex_unlock.c:46
#1  __pthread_mutex_unlock (mutex=0x1a364b8) at pthread_mutex_unlock.c:290
#2  0x00007fc03f66484e in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fc03f665122 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fc03f665639 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fc046693446 in QEventDispatcherGlib::processEvents (this=0x121bee0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#6  0x00007fc046667882 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fc046667abc in QEventLoop::exec (this=0x7fc00a8a6a20, flags=...) at kernel/qeventloop.cpp:201
#8  0x00007fc04abca92f in Digikam::WorkerObjectRunnable::run (this=0x7fc0299995a0) at /build/buildd/digikam2-2.0.0/core/libs/threads/threadmanager.cpp:196
#9  0x00007fc046576188 in QThreadPoolThread::run (this=0x7fc02976b770) at concurrent/qthreadpool.cpp:106
#10 0x00007fc046581175 in QThreadPrivate::start (arg=0x7fc02976b770) at thread/qthread_unix.cpp:320
#11 0x00007fc03214ec13 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#12 0x00007fc04525dd8c in start_thread (arg=0x7fc00a8a7700) at pthread_create.c:304
#13 0x00007fc04555b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#14 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fc017ab6700 (LWP 20133)):
#0  0x00007fc04554df03 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=<value optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fc03f665104 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fc03f665639 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fc046693446 in QEventDispatcherGlib::processEvents (this=0x1cbf180, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007fc046667882 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fc046667abc in QEventLoop::exec (this=0x7fc017ab5a20, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007fc04abca92f in Digikam::WorkerObjectRunnable::run (this=0x7fc02a5753e0) at /build/buildd/digikam2-2.0.0/core/libs/threads/threadmanager.cpp:196
#7  0x00007fc046576188 in QThreadPoolThread::run (this=0x7fc0299460e0) at concurrent/qthreadpool.cpp:106
#8  0x00007fc046581175 in QThreadPrivate::start (arg=0x7fc0299460e0) at thread/qthread_unix.cpp:320
#9  0x00007fc03214ec13 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#10 0x00007fc04525dd8c in start_thread (arg=0x7fc017ab6700) at pthread_create.c:304
#11 0x00007fc04555b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fc0246a3700 (LWP 20134)):
#0  0x00007fc04132053e in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#1  0x00007fc04131efc6 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#2  0x00007fc03214ec13 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#3  0x00007fc04525dd8c in start_thread (arg=0x7fc0246a3700) at pthread_create.c:304
#4  0x00007fc04555b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fc0089a1700 (LWP 20135)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
#1  0x00007fc04658179e in wait (this=<value optimized out>, mutex=0x7fc0280ba540, time=30000) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x7fc0280ba540, time=30000) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fc046576218 in QThreadPoolThread::run (this=0x7fc02a3ec640) at concurrent/qthreadpool.cpp:140
#4  0x00007fc046581175 in QThreadPrivate::start (arg=0x7fc02a3ec640) at thread/qthread_unix.cpp:320
#5  0x00007fc03214ec13 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#6  0x00007fc04525dd8c in start_thread (arg=0x7fc0089a1700) at pthread_create.c:304
#7  0x00007fc04555b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fc04e0a4a40 (LWP 19733)):
[KCrash Handler]
#6  Digikam::ImageModel::imageInfo (this=0x0, row=0) at /build/buildd/digikam2-2.0.0/core/libs/models/imagemodel.cpp:191
#7  0x00007fc04a5e85cb in Digikam::ImageModel::retrieveImageInfo (index=<value optimized out>) at /build/buildd/digikam2-2.0.0/core/libs/models/imagemodel.cpp:302
#8  0x00000000005e1c80 in Digikam::DigikamImageView::removeFaces (this=0x7fc028067540, indexes=<value optimized out>) at /build/buildd/digikam2-2.0.0/core/digikam/items/digikamimageview.cpp:264
#9  0x00000000005e23e7 in Digikam::DigikamImageView::qt_metacall (this=0x7fc028067540, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff5ea09b00) at /build/buildd/digikam2-2.0.0/obj-x86_64-linux-gnu/core/digikam/digikamimageview.moc:186
#10 0x00007fc04667d5f8 in QMetaObject::activate (sender=0x7fc0281262c0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff5ea09b00) at kernel/qobject.cpp:3287
#11 0x00000000005f3220 in Digikam::FaceRejectionOverlay::rejectFaces (this=<value optimized out>, _t1=<value optimized out>) at /build/buildd/digikam2-2.0.0/obj-x86_64-linux-gnu/core/digikam/facerejectionoverlay.moc:90
#12 0x00000000005f33ac in Digikam::FaceRejectionOverlay::slotClicked (this=0x7fc0281262c0) at /build/buildd/digikam2-2.0.0/core/digikam/items/facerejectionoverlay.cpp:108
#13 0x00000000005f3451 in Digikam::FaceRejectionOverlay::qt_metacall (this=0x7fc0281262c0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff5ea09c50) at /build/buildd/digikam2-2.0.0/obj-x86_64-linux-gnu/core/digikam/facerejectionoverlay.moc:78
#14 0x00007fc04667d5f8 in QMetaObject::activate (sender=0x7fc0285780f0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff5ea09c50) at kernel/qobject.cpp:3287
#15 0x00007fc0478f2942 in QAbstractButton::clicked (this=<value optimized out>, _t1=true) at .moc/release-shared/moc_qabstractbutton.cpp:206
#16 0x00007fc04763bf2e in QAbstractButtonPrivate::emitClicked (this=0x7fc029a67dd0) at widgets/qabstractbutton.cpp:546
#17 0x00007fc04763d4ab in QAbstractButtonPrivate::click (this=0x7fc029a67dd0) at widgets/qabstractbutton.cpp:539
#18 0x00007fc04763d71c in QAbstractButton::mouseReleaseEvent (this=0x7fc0285780f0, e=0x7fff5ea0a590) at widgets/qabstractbutton.cpp:1121
#19 0x00007fc0472cbcc8 in QWidget::event (this=0x7fc0285780f0, event=0x7fff5ea0a590) at kernel/qwidget.cpp:8259
#20 0x00007fc04727a9f4 in QApplicationPrivate::notify_helper (this=0x1037570, receiver=0x7fc0285780f0, e=0x7fff5ea0a590) at kernel/qapplication.cpp:4462
#21 0x00007fc04727fdc3 in QApplication::notify (this=<value optimized out>, receiver=0x7fc0285780f0, e=0x7fff5ea0a590) at kernel/qapplication.cpp:4023
#22 0x00007fc047f8a796 in KApplication::notify (this=0x7fff5ea0b390, receiver=0x7fc0285780f0, event=0x7fff5ea0a590) at ../../kdeui/kernel/kapplication.cpp:311
#23 0x00007fc04666849c in QCoreApplication::notifyInternal (this=0x7fff5ea0b390, receiver=0x7fc0285780f0, event=0x7fff5ea0a590) at kernel/qcoreapplication.cpp:731
#24 0x00007fc04727ba1d in sendEvent (receiver=0x7fc0285780f0, event=0x7fff5ea0a590, alienWidget=0x7fc0285780f0, nativeWidget=0x7fc028067540, buttonDown=0x7fc047d5e218, lastMouseReceiver=..., spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#25 QApplicationPrivate::sendMouseEvent (receiver=0x7fc0285780f0, event=0x7fff5ea0a590, alienWidget=0x7fc0285780f0, nativeWidget=0x7fc028067540, buttonDown=0x7fc047d5e218, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3122
#26 0x00007fc0472fd190 in QETWidget::translateMouseEvent (this=0x7fc028067540, event=<value optimized out>) at kernel/qapplication_x11.cpp:4558
#27 0x00007fc0472fbab7 in QApplication::x11ProcessEvent (this=0x7fff5ea0b390, event=0x7fff5ea0aee0) at kernel/qapplication_x11.cpp:3680
#28 0x00007fc047324842 in x11EventSourceDispatch (s=0x103af50, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#29 0x00007fc03f664bcd in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007fc03f6653a8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007fc03f665639 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007fc0466933ef in QEventDispatcherGlib::processEvents (this=0xfb37c0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#33 0x00007fc0473244de in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#34 0x00007fc046667882 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#35 0x00007fc046667abc in QEventLoop::exec (this=0x7fff5ea0b1e0, flags=...) at kernel/qeventloop.cpp:201
#36 0x00007fc04666becb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#37 0x000000000068db54 in main (argc=5, argv=0x7fff5ea0bbe8) at /build/buildd/digikam2-2.0.0/core/digikam/main/main.cpp:232
Comment 3 Marcel Wiesweg 2011-08-03 19:10:34 UTC
Thanks. Similar problem: 277808

*** This bug has been marked as a duplicate of bug 277808 ***
Comment 4 caulier.gilles 2019-12-23 06:22:09 UTC
Problem is fixed with new 7.0.0-beta1 through this long story from this bug

https://bugs.kde.org/show_bug.cgi?id=399923

You can test digiKam 7.0.0-beta1 with bundle available here:

https://download.kde.org/unstable/digikam/

Don't hesitate to give us a fresh feedback about his entry.

Thanks in advance

Gilles Caulier