Bug 275387

Summary: Digikam crashes on face recognition
Product: [Applications] digikam Reporter: Marten de Vries <marten_miemie>
Component: Faces-RecognitionAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR    
Version: 2.0.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 7.0.0
Sentry Crash Report:

Description Marten de Vries 2011-06-11 11:57:06 UTC
Application: digikam (2.0.0-beta6)
KDE Platform Version: 4.6.2 (4.6.2)
Qt Version: 4.7.2
Operating System: Linux 2.6.38-8-generic x86_64
Distribution: Ubuntu 11.04

-- Information about the crash:
- What I was doing when the application crashed:

I tried to let digiKam re-recognize my pictures after I had tagged some. Then it crashed with the supplied backtrace.

The crash can be reproduced every time.

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

Thread 8 (Thread 0x7f96870cf700 (LWP 3276)):
#0  0x00007f969cdb9f03 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=<value optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f9696cf9104 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9696cf99f2 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9691d58c44 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f9696d203e4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f969cac9d8c in start_thread (arg=0x7f96870cf700) at pthread_create.c:304
#6  0x00007f969cdc704d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f967c66d700 (LWP 3278)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f969ddf282b in wait (this=<value optimized out>, mutex=0x2acd328, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x2acd328, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00000000005b64a8 in Digikam::ScanController::run (this=0x2ac8910) at /build/buildd/digikam2-2.0.0~beta6/core/digikam/database/scancontroller.cpp:618
#4  0x00007f969ddf2175 in QThreadPrivate::start (arg=0x2ac8910) at thread/qthread_unix.cpp:320
#5  0x00007f969cac9d8c in start_thread (arg=0x7f967c66d700) at pthread_create.c:304
#6  0x00007f969cdc704d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f967be6c700 (LWP 3279)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007f967be6b840 in ?? ()
#2  0x00007fff38ba47b2 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 5 (Thread 0x7f967b66b700 (LWP 3281)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f969ddf282b in wait (this=<value optimized out>, mutex=0x2d400d8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x2d400d8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f96a2253f77 in Digikam::ParkingThread::run (this=0x2d400c0) at /build/buildd/digikam2-2.0.0~beta6/core/libs/threads/threadmanager.cpp:119
#4  0x00007f969ddf2175 in QThreadPrivate::start (arg=0x2d400c0) at thread/qthread_unix.cpp:320
#5  0x00007f969cac9d8c in start_thread (arg=0x7f967b66b700) at pthread_create.c:304
#6  0x00007f969cdc704d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f9669868700 (LWP 3291)):
#0  0x00007f969cdb9f03 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=<value optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f9696cf9104 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9696cf9639 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f969df04446 in QEventDispatcherGlib::processEvents (this=0x3b673b0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f969ded8882 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f969ded8abc in QEventLoop::exec (this=0x7f9669867b00, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007f96a225361f in Digikam::WorkerObjectRunnable::run (this=0x6074850) at /build/buildd/digikam2-2.0.0~beta6/core/libs/threads/threadmanager.cpp:196
#7  0x00007f969dde7188 in QThreadPoolThread::run (this=0x3aff1d0) at concurrent/qthreadpool.cpp:106
#8  0x00007f969ddf2175 in QThreadPrivate::start (arg=0x3aff1d0) at thread/qthread_unix.cpp:320
#9  0x00007f969cac9d8c in start_thread (arg=0x7f9669868700) at pthread_create.c:304
#10 0x00007f969cdc704d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f966e0d0700 (LWP 3294)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
#1  0x00007f969ddf279e in wait (this=<value optimized out>, mutex=0x3fbc100, time=30000) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x3fbc100, time=30000) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f969dde7218 in QThreadPoolThread::run (this=0x3fbc150) at concurrent/qthreadpool.cpp:140
#4  0x00007f969ddf2175 in QThreadPrivate::start (arg=0x3fbc150) at thread/qthread_unix.cpp:320
#5  0x00007f969cac9d8c in start_thread (arg=0x7f966e0d0700) at pthread_create.c:304
#6  0x00007f969cdc704d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f9663434700 (LWP 3307)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007f9663433800 in ?? ()
#2  0x00007fff38ba47b2 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 1 (Thread 0x7f96a5739a20 (LWP 3275)):
[KCrash Handler]
#6  0x00007f96a36ff737 in KFaceIface::Image::toQImage() const () from /usr/lib/libkface.so.1
#7  0x0000000000504b54 in Digikam::BatchFaceDetector::slotShowOneDetected (this=0x6068fd0, package=...) at /build/buildd/digikam2-2.0.0~beta6/core/utilities/batch/batchfacedetector.cpp:370
#8  0x00000000005059f1 in Digikam::BatchFaceDetector::qt_metacall (this=0x6068fd0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff38a6ab30) at /build/buildd/digikam2-2.0.0~beta6/obj-x86_64-linux-gnu/core/digikam/batchfacedetector.moc:91
#9  0x00007f969deee5f8 in QMetaObject::activate (sender=0x3d15470, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff38a6ab30) at kernel/qobject.cpp:3287
#10 0x0000000000677400 in Digikam::FacePipeline::processed (this=<value optimized out>, _t1=<value optimized out>) at /build/buildd/digikam2-2.0.0~beta6/obj-x86_64-linux-gnu/core/digikam/facepipeline.moc:155
#11 0x000000000067fdac in Digikam::FacePipeline::FacePipelinePriv::finishProcess (this=0x6030030, package=...) at /build/buildd/digikam2-2.0.0~beta6/core/utilities/facedetection/facepipeline.cpp:956
#12 0x0000000000680252 in Digikam::FacePipeline::FacePipelinePriv::qt_metacall (this=0x6030030, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x5cd7b70) at /build/buildd/digikam2-2.0.0~beta6/obj-x86_64-linux-gnu/core/digikam/facepipeline_p.moc:668
#13 0x00007f969deed49a in QObject::event (this=0x6030030, e=<value optimized out>) at kernel/qobject.cpp:1226
#14 0x00007f969eaf09e4 in QApplicationPrivate::notify_helper (this=0x2857c10, receiver=0x6030030, e=0x2da39a0) at kernel/qapplication.cpp:4462
#15 0x00007f969eaf53aa in QApplication::notify (this=<value optimized out>, receiver=0x6030030, e=0x2da39a0) at kernel/qapplication.cpp:4341
#16 0x00007f969f80f866 in KApplication::notify (this=0x7fff38a6b6a0, receiver=0x6030030, event=0x2da39a0) at ../../kdeui/kernel/kapplication.cpp:311
#17 0x00007f969ded949c in QCoreApplication::notifyInternal (this=0x7fff38a6b6a0, receiver=0x6030030, event=0x2da39a0) at kernel/qcoreapplication.cpp:731
#18 0x00007f969dedcc25 in sendEvent (receiver=0x0, event_type=0, data=0x27d4c30) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#19 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x27d4c30) at kernel/qcoreapplication.cpp:1372
#20 0x00007f969df04253 in sendPostedEvents (s=0x285a960) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#21 postEventSourceDispatch (s=0x285a960) at kernel/qeventdispatcher_glib.cpp:277
#22 0x00007f9696cf8bcd in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007f9696cf93a8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007f9696cf9639 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007f969df043ef in QEventDispatcherGlib::processEvents (this=0x27d43d0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#26 0x00007f969eb97dfe in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#27 0x00007f969ded8882 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#28 0x00007f969ded8abc in QEventLoop::exec (this=0x7fff38a6b4f0, flags=...) at kernel/qeventloop.cpp:201
#29 0x00007f969dedcecb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#30 0x000000000068ae34 in main (argc=1, argv=0x7fff38a6bef8) at /build/buildd/digikam2-2.0.0~beta6/core/digikam/main/main.cpp:232

This bug may be a duplicate of or related to bug 274660.

Possible duplicates by query: bug 274850, bug 274727, bug 274660.

Reported using DrKonqi
Comment 1 caulier.gilles 2011-06-11 12:41:46 UTC

*** This bug has been marked as a duplicate of bug 274660 ***
Comment 2 caulier.gilles 2019-12-23 06:22:23 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