Bug 282948

Summary: Face recognition crashes Digikam (again)
Product: [Applications] digikam Reporter: BartOtten <bartotten>
Component: Faces-RecognitionAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: bartotten, caulier.gilles
Priority: NOR    
Version: 2.1.1   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 2.2.0
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description BartOtten 2011-09-28 01:37:38 UTC
Application: digikam (2.1.1)
KDE Platform Version: 4.7.1 (4.7.1)
Qt Version: 4.7.4
Operating System: Linux 3.1.0-rc6-2-desktop x86_64
Distribution: "openSUSE 12.1 Beta 1 (x86_64)"

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

just enter in the people tags label
click "scan collection for faces"
select "recognize faces" and start the scan... the program crashes!

The crash can be reproduced every time.

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

Thread 9 (Thread 0x7fd2fa570700 (LWP 30980)):
#0  0x00007fd30e5b2e5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fd3121f94ab in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00000000005cdae0 in Digikam::ScanController::run (this=0xc4d250) at /usr/src/debug/digikam-2.1.1/core/digikam/database/scancontroller.cpp:647
#3  0x00007fd3121f9015 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007fd30e5aeef5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fd31083b20d in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7fd2f9d6f700 (LWP 30981)):
#0  0x00007fd308a722f3 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#1  0x00007fd308a72b62 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fd308a73009 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fd31230a3a6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007fd3122de882 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007fd3122dea7f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007fd3121f65cf in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007fd3122c194f in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007fd3121f9015 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007fd30e5aeef5 in start_thread () from /lib64/libpthread.so.0
#10 0x00007fd31083b20d in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7fd2f956e700 (LWP 31056)):
#0  0x00007fd30e5b2e5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fd3121f94ab in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007fd314913717 in Digikam::ParkingThread::run (this=0x1344d60) at /usr/src/debug/digikam-2.1.1/core/libs/threads/threadmanager.cpp:119
#3  0x00007fd3121f9015 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007fd30e5aeef5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fd31083b20d in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7fd2ede34700 (LWP 31070)):
#0  0x00007fd30e5b2e5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fd2f056a51d in ?? () from /usr/lib64/libvlccore.so.5
#2  0x00007fd30e5aeef5 in start_thread () from /lib64/libpthread.so.0
#3  0x00007fd31083b20d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7fd2db2d2700 (LWP 5922)):
#0  0x00007fffbe3778de in ?? ()
#1  0x0000000000000001 in ?? ()
#2  0x0000000000000001 in ?? ()
#3  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fd2d9989700 (LWP 6045)):
#0  0x00007fd30c5f9b36 in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007fd30c5f869e in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007fd30e5aeef5 in start_thread () from /lib64/libpthread.so.0
#3  0x00007fd31083b20d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fd2d3125700 (LWP 6375)):
#0  0x00007fd308a729a4 in ?? () from /usr/lib64/libglib-2.0.so.0
#1  0x00007fd308a73009 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fd31230a3a6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#3  0x00007fd3122de882 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007fd3122dea7f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007fd314912e21 in Digikam::WorkerObjectRunnable::run (this=0xb779f0) at /usr/src/debug/digikam-2.1.1/core/libs/threads/threadmanager.cpp:196
#6  0x00007fd3121ede05 in ?? () from /usr/lib64/libQtCore.so.4
#7  0x00007fd3121f9015 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007fd30e5aeef5 in start_thread () from /lib64/libpthread.so.0
#9  0x00007fd31083b20d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fd2d2123700 (LWP 6420)):
#0  0x00007fd30c5f9b36 in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007fd30c5f869e in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007fd30e5aeef5 in start_thread () from /lib64/libpthread.so.0
#3  0x00007fd31083b20d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fd31705d7c0 (LWP 30971)):
[KCrash Handler]
#6  0x00007fd315707ee7 in KFaceIface::Image::toQImage() const () from /usr/lib64/libkface.so.1
#7  0x000000000051a19f in Digikam::BatchFaceDetector::slotShowOneDetected (this=0x1048180, package=...) at /usr/src/debug/digikam-2.1.1/core/utilities/batch/batchfacedetector.cpp:370
#8  0x000000000051af71 in Digikam::BatchFaceDetector::qt_metacall (this=0x1048180, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fffbe2b8b30) at /usr/src/debug/digikam-2.1.1/build/core/digikam/batchfacedetector.moc:91
#9  0x00007fd3122f23fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#10 0x000000000068ce70 in Digikam::FacePipeline::processed (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/digikam-2.1.1/build/core/digikam/facepipeline.moc:155
#11 0x0000000000694efc in Digikam::FacePipeline::FacePipelinePriv::finishProcess (this=0x10452d0, package=<optimized out>) at /usr/src/debug/digikam-2.1.1/core/utilities/facedetection/facepipeline.cpp:973
#12 0x00000000006952dd in Digikam::FacePipeline::FacePipelinePriv::qt_metacall (this=0x10452d0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x5565b90) at /usr/src/debug/digikam-2.1.1/build/core/digikam/facepipeline_p.moc:668
#13 0x00007fd3122f5faa in QObject::event(QEvent*) () from /usr/lib64/libQtCore.so.4
#14 0x00007fd311437be4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#15 0x00007fd31143ca71 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#16 0x00007fd312d2fec6 in KApplication::notify (this=0x7fffbe2b9650, receiver=0x10452d0, event=0xe1a500) at /usr/src/debug/kdelibs-4.7.1/kdeui/kernel/kapplication.cpp:311
#17 0x00007fd3122df67c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#18 0x00007fd3122e2a58 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQtCore.so.4
#19 0x00007fd312309ee3 in ?? () from /usr/lib64/libQtCore.so.4
#20 0x00007fd308a7263d in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#21 0x00007fd308a72e38 in ?? () from /usr/lib64/libglib-2.0.so.0
#22 0x00007fd308a73009 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#23 0x00007fd31230a33f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#24 0x00007fd3114dacae in ?? () from /usr/lib64/libQtGui.so.4
#25 0x00007fd3122de882 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#26 0x00007fd3122dea7f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#27 0x00007fd3122e2c47 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#28 0x0000000000493acd in main (argc=5, argv=<optimized out>) at /usr/src/debug/digikam-2.1.1/core/digikam/main/main.cpp:232

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

Reported using DrKonqi
Comment 1 caulier.gilles 2011-09-28 07:04:21 UTC
Crash is in libkface :

[KCrash Handler]
#6  0x00007fd315707ee7 in KFaceIface::Image::toQImage() const () from
/usr/lib64/libkface.so.1

Can you install debug symbol for this library to have more info in this area ?

Also, which libkface, libface, opencv version you use ? Go to Help/Components Info for details.

Gilles Caulier
Comment 2 BartOtten 2011-09-28 11:36:38 UTC
Created attachment 64031 [details]
New crash information added by DrKonqi

digikam (2.1.1) on KDE Platform 4.7.1 (4.7.1) using Qt 4.7.4

digiKam version 2.1.1
Exiv2 kan naar Jp2 schrijven: Ja
Exiv2 kan naar Jpeg schrijven: Ja
Exiv2 kan naar Pgf schrijven: Ja
Exiv2 kan naar Png schrijven: Ja
Exiv2 kan naar Tiff schrijven: Ja
Exiv2 ondersteunt XMP-metadata: Ja
Geparalleliseerde mozaiek verwijdering: Ja
LibCImg: 130
LibClapack: interne bibliotheek
LibExiv2: 0.22
LibJPEG: 62
LibJasper: 1.900.1
LibKDE: 4.7.1 (4.7.1)
LibKExiv2: 2.0.0
LibKGeoMap: 2.0.0
LibKdcraw: 2.0.0
LibLCMS: 119
LibPGF: 6.11.24 - interne bibliotheek
LibPNG: 1.4.8
LibQt: 4.7.4
LibRaw: 0.13.5
LibTIFF: LIBTIFF, Version 3.9.5 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc.
Marble-widget: 0.12.0 (stable release)
Database-backend: QSQLITE
LibGphoto2: 2.4.11
LibKface: 2.0.0
LibKipi: 1.2.0
LibOpenCV: 2.3.1
Libface: 0.1

-- Backtrace (Reduced):
#6  KFaceIface::Image::toQImage (this=0x7fff111fc8d0) at /usr/src/debug/libkface-4.6.41_20110301/libkface/image.cpp:135
#7  0x000000000051a19f in Digikam::BatchFaceDetector::slotShowOneDetected (this=0x44df760, package=...) at /usr/src/debug/digikam-2.1.1/core/utilities/batch/batchfacedetector.cpp:370
#8  0x000000000051af71 in Digikam::BatchFaceDetector::qt_metacall (this=0x44df760, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff111fca10) at /usr/src/debug/digikam-2.1.1/build/core/digikam/batchfacedetector.moc:91
[...]
#10 0x000000000068ce70 in Digikam::FacePipeline::processed (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/digikam-2.1.1/build/core/digikam/facepipeline.moc:155
#11 0x0000000000694efc in Digikam::FacePipeline::FacePipelinePriv::finishProcess (this=0x44fb310, package=<optimized out>) at /usr/src/debug/digikam-2.1.1/core/utilities/facedetection/facepipeline.cpp:973
Comment 3 BartOtten 2011-09-29 21:42:38 UTC
I found the problem :D

It found by coincident that it was just a wrong version of klibface that was installed. Don't know why it went wrong, guess I should blame YaST for that little mistake (and myself for working with a openSUSE milestone 5).

This bug can be closed.