Bug 326585

Summary: Digikam crash when rotate a picture, then enlarge face marker and confirm change
Product: [Applications] digikam Reporter: e.longuemare
Component: Faces-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR Keywords: drkonqi
Version: 4.0.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 5.1.0
Sentry Crash Report:

Description e.longuemare 2013-10-24 22:54:33 UTC
Application: digikam (4.0.0-beta1)
KDE Platform Version: 4.11.2
Qt Version: 4.8.2
Operating System: Linux 3.2.0-55-generic i686
Distribution: Ubuntu 12.04.3 LTS

-- Information about the crash:
- What I was doing when the application crashed:
1 - go to face management UI
2 - select a face thumb and switch to picture view
3 - change the orientation of the picture, rotate from paysage to portrait
4 - enlarge the face marker (was not "right" set round the face)
4 - confirm change by clicking on confirm

console output :
digikam(10619)/digikam (core) Digikam::FaceUtils::identityForTag: Adding new kface identity with attributes QMap(("fullName", "charlotte")("name", "charlotte")("uuid", "{a0ce44e0-bdd5-45cf-914d-8a93ca9c0396}"))
digikam(10619)/KFACE KFaceIface::trainIdentityBatch: Training 1 images for identity 1
KCrash: Application 'digikam' crashing...
digikam(10619)/digikam (core) Digikam::DatabaseCoreBackend::prepareQuery: Prepare failed!
digikam(10619)/digikam (core) Digikam::DatabaseCoreBackendPrivate::debugOutputFailedQuery: Failure executing query:
 "SELECT modificationDate, fileSize, uniqueHash FROM Images WHERE id=?;" 
Error messages: "QMYSQL3: Unable to prepare statement" "MySQL server has gone away" 2006 2 
Bound values:  ()
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
sock_file=/home/eric/.kde-dev-SC/socket-eric-laptop/kdeinit4__0
digikam(10619)/KFACE KFaceIface::DatabaseCoreBackendPrivate::debugOutputFailedQuery: Failure executing query:
 "INSERT INTO OpenCVLBPHRecognizer (version, radius, neighbors, grid_x, grid_y) VALUES (?,?,?,?,?)" 
Error messages: "Unable to fetch row" "disk I/O error" 10 1 
Bound values:  (QVariant(int, 1) ,  QVariant(int, 1) ,  QVariant(int, 8) ,  QVariant(int, 8) ,  QVariant(int, 8) )
digikam(10619)/KFACE KFaceIface::DatabaseCoreBackendPrivate::debugOutputFailedQuery: Failure executing query:
 "INSERT INTO OpenCVLBPHistograms (recognizerid, identity, context, type, rows, cols, data) VALUES (?,?,?,?,?,?,?)" 
Error messages: "Unable to fetch row" "disk I/O error" 10 1 
Bound values:  (QVariant(int, 0) ,  QVariant(int, 1) ,  QVariant(QString, "digikam") ,  QVariant(int, 5) ,  QVariant(int, 1) ,  QVariant(int, 16384) ,  QVariant(QByteArray, "
digikam(10619)/digikam (core) Digikam::DatabaseCoreBackend::prepareQuery: Prepare failed!
digikam(10619)/digikam (core) Digikam::DatabaseCoreBackendPrivate::debugOutputFailedQuery: Failure executing query:
 "SELECT tagid, property, value FROM ImageTagProperties WHERE imageid=? AND tagid=?;" 
Error messages: "QMYSQL3: Unable to prepare statement" "MySQL server has gone away" 2006 2 
Bound values:  ()
digikam(10619)/digikam (core) Digikam::DMetadata::getIccProfile: Exif color-space tag is sRGB. Using default sRGB ICC profile.
digikam(10619)/digikam (core) Digikam::DatabaseCoreBackend::prepareQuery: Prepare failed!
digikam(10619)/digikam (core) Digikam::DatabaseCoreBackendPrivate::debugOutputFailedQuery: Failure executing query:

recognition.db is empty : 13.3 ko

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0xb51d1780 (LWP 10619))]

Thread 8 (Thread 0xb2aacb40 (LWP 10621)):
#0  0x009e1416 in __kernel_vsyscall ()
#1  0x0060396b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169
#2  0x0349b6ec in __pthread_cond_wait (cond=0x8a69f58, mutex=0x8a69f40) at forward.c:139
#3  0x05b1e420 in wait (time=4294967295, this=0x8a69f40) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0x8952584, mutex=0x8952580, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0x0820b2ba in Digikam::ScanController::run (this=0x899a098) at /home/eric/digikamgit2/dkgitdigikamsoftwarecompilation/core/digikam/database/scancontroller.cpp:725
#6  0x05b1deb0 in QThreadPrivate::start (arg=0x899a098) at thread/qthread_unix.cpp:307
#7  0x005ffd4c in start_thread (arg=0xb2aacb40) at pthread_create.c:308
#8  0x0348ddde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 7 (Thread 0xb20ffb40 (LWP 10622)):
#0  0x00602c64 in __pthread_mutex_unlock_usercnt (mutex=0xb1700550, decr=1) at pthread_mutex_unlock.c:52
#1  0x0349b944 in pthread_mutex_unlock (mutex=0xb1700550) at forward.c:184
#2  0x07183430 in g_mutex_unlock () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x0714399d in g_main_context_query () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x07143fce in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0x071441c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0x05c65de7 in QEventDispatcherGlib::processEvents (this=0xb1700468, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#7  0x05c316ad in QEventLoop::processEvents (this=0xb20ff200, flags=...) at kernel/qeventloop.cpp:149
#8  0x05c31949 in QEventLoop::exec (this=0xb20ff200, flags=...) at kernel/qeventloop.cpp:204
#9  0x05b1aa1c in QThread::exec (this=0x89a2ae0) at thread/qthread.cpp:501
#10 0x05c0ecfd in QInotifyFileSystemWatcherEngine::run (this=0x89a2ae0) at io/qfilesystemwatcher_inotify.cpp:248
#11 0x05b1deb0 in QThreadPrivate::start (arg=0x89a2ae0) at thread/qthread_unix.cpp:307
#12 0x005ffd4c in start_thread (arg=0xb20ffb40) at pthread_create.c:308
#13 0x0348ddde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 6 (Thread 0xb16ffb40 (LWP 10624)):
#0  0x009e1416 in __kernel_vsyscall ()
#1  0x0060396b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169
#2  0x0349b6ec in __pthread_cond_wait (cond=0x8c20380, mutex=0x8c20368) at forward.c:139
#3  0x05b1e420 in wait (time=4294967295, this=0x8c20368) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0x8c1e6c8, mutex=0x8c1e6c4, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0x01ac1e54 in Digikam::ParkingThread::run (this=0x8c1e6b8) at /home/eric/digikamgit2/dkgitdigikamsoftwarecompilation/core/libs/threads/threadmanager.cpp:119
#6  0x05b1deb0 in QThreadPrivate::start (arg=0x8c1e6b8) at thread/qthread_unix.cpp:307
#7  0x005ffd4c in start_thread (arg=0xb16ffb40) at pthread_create.c:308
#8  0x0348ddde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 5 (Thread 0xa8e0ab40 (LWP 10759)):
#0  0x0718341f in g_mutex_unlock () from /lib/i386-linux-gnu/libglib-2.0.so.0
#1  0x07143b36 in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#2  0x07144002 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x071441c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x05c65de7 in QEventDispatcherGlib::processEvents (this=0x9265830, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x05c316ad in QEventLoop::processEvents (this=0xa8e0a210, flags=...) at kernel/qeventloop.cpp:149
#6  0x05c31949 in QEventLoop::exec (this=0xa8e0a210, flags=...) at kernel/qeventloop.cpp:204
#7  0x01ac13c0 in Digikam::WorkerObjectRunnable::run (this=0xc30d2e0) at /home/eric/digikamgit2/dkgitdigikamsoftwarecompilation/core/libs/threads/threadmanager.cpp:196
#8  0x05b1046b in QThreadPoolThread::run (this=0x99a89f0) at concurrent/qthreadpool.cpp:107
#9  0x05b1deb0 in QThreadPrivate::start (arg=0x99a89f0) at thread/qthread_unix.cpp:307
#10 0x005ffd4c in start_thread (arg=0xa8e0ab40) at pthread_create.c:308
#11 0x0348ddde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 4 (Thread 0x9aadbb40 (LWP 10760)):
#0  0x00602c64 in __pthread_mutex_unlock_usercnt (mutex=0xc67bcf8, decr=1) at pthread_mutex_unlock.c:52
#1  0x0349b944 in pthread_mutex_unlock (mutex=0xc67bcf8) at forward.c:184
#2  0x07183430 in g_mutex_unlock () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x07143825 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x07143f6f in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0x071441c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0x05c65de7 in QEventDispatcherGlib::processEvents (this=0xc653df8, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#7  0x05c316ad in QEventLoop::processEvents (this=0x9aadb210, flags=...) at kernel/qeventloop.cpp:149
#8  0x05c31949 in QEventLoop::exec (this=0x9aadb210, flags=...) at kernel/qeventloop.cpp:204
#9  0x01ac13c0 in Digikam::WorkerObjectRunnable::run (this=0xc69a910) at /home/eric/digikamgit2/dkgitdigikamsoftwarecompilation/core/libs/threads/threadmanager.cpp:196
#10 0x05b1046b in QThreadPoolThread::run (this=0x9a7f010) at concurrent/qthreadpool.cpp:107
#11 0x05b1deb0 in QThreadPrivate::start (arg=0x9a7f010) at thread/qthread_unix.cpp:307
#12 0x005ffd4c in start_thread (arg=0x9aadbb40) at pthread_create.c:308
#13 0x0348ddde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 3 (Thread 0x9f909b40 (LWP 10764)):
#0  0x0349b8d8 in pthread_mutex_lock (mutex=0xc246df8) at forward.c:182
#1  0x071833f0 in g_mutex_lock () from /lib/i386-linux-gnu/libglib-2.0.so.0
#2  0x071441aa in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x05c65de7 in QEventDispatcherGlib::processEvents (this=0xc29fcc0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x05c316ad in QEventLoop::processEvents (this=0x9f909210, flags=...) at kernel/qeventloop.cpp:149
#5  0x05c31949 in QEventLoop::exec (this=0x9f909210, flags=...) at kernel/qeventloop.cpp:204
#6  0x01ac13c0 in Digikam::WorkerObjectRunnable::run (this=0x8afd880) at /home/eric/digikamgit2/dkgitdigikamsoftwarecompilation/core/libs/threads/threadmanager.cpp:196
#7  0x05b1046b in QThreadPoolThread::run (this=0x99a9228) at concurrent/qthreadpool.cpp:107
#8  0x05b1deb0 in QThreadPrivate::start (arg=0x99a9228) at thread/qthread_unix.cpp:307
#9  0x005ffd4c in start_thread (arg=0x9f909b40) at pthread_create.c:308
#10 0x0348ddde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xa030ab40 (LWP 10765)):
#0  0x00299dcd in __GI_clock_gettime (clock_id=1, tp=0xa0309f98) at ../sysdeps/unix/clock_gettime.c:116
#1  0x05b7c3e5 in do_gettime (frac=0xa0309f90, sec=0xa0309f88) at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0x05c66726 in QTimerInfoList::updateCurrentTime (this=0xc69376c) at kernel/qeventdispatcher_unix.cpp:343
#4  0x05c66a7a in QTimerInfoList::timerWait (this=0xc69376c, tm=...) at kernel/qeventdispatcher_unix.cpp:450
#5  0x05c65323 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xa030a09c) at kernel/qeventdispatcher_glib.cpp:136
#6  0x05c653bd in timerSourcePrepare (source=0xc693738, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0x07143832 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0x07143f6f in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0x071441c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0x05c65de7 in QEventDispatcherGlib::processEvents (this=0xa627770, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#11 0x05c316ad in QEventLoop::processEvents (this=0xa030a210, flags=...) at kernel/qeventloop.cpp:149
#12 0x05c31949 in QEventLoop::exec (this=0xa030a210, flags=...) at kernel/qeventloop.cpp:204
#13 0x01ac13c0 in Digikam::WorkerObjectRunnable::run (this=0x8d276e0) at /home/eric/digikamgit2/dkgitdigikamsoftwarecompilation/core/libs/threads/threadmanager.cpp:196
#14 0x05b1046b in QThreadPoolThread::run (this=0x99a6b30) at concurrent/qthreadpool.cpp:107
#15 0x05b1deb0 in QThreadPrivate::start (arg=0x99a6b30) at thread/qthread_unix.cpp:307
#16 0x005ffd4c in start_thread (arg=0xa030ab40) at pthread_create.c:308
#17 0x0348ddde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb51d1780 (LWP 10619)):
[KCrash Handler]
#7  0x034159ef in _int_free (av=0xffffffff, p=0xc2525f8, have_lock=0) at malloc.c:4042
#8  0x003f651f in operator delete(void*) () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#9  0x05c598c3 in clear (d=0xd514d70) at kernel/qvariant.cpp:287
#10 0x0409eb49 in clear (d=0xd514d70) at kernel/qguivariant.cpp:280
#11 0x05c5663a in ~QVariant (this=0xd514d70, __in_chrg=<optimized out>) at kernel/qvariant.cpp:1400
#12 QVariant::~QVariant (this=0xd514d70, __in_chrg=<optimized out>) at kernel/qvariant.cpp:1397
#13 0x008a12d0 in QList<QVariant>::node_destruct (this=0x8c6e0fc, n=0xa151f1c) at /usr/include/qt4/QtCore/qlist.h:388
#14 0x0090ab00 in QList<QVariant>::erase (this=0x8c6e0fc, afirst=..., alast=...) at /usr/include/qt4/QtCore/qlist.h:811
#15 0x00907d7c in Digikam::ImageModel::removeRowPairs (this=0x8c6e070, toRemove=...) at /home/eric/digikamgit2/dkgitdigikamsoftwarecompilation/core/libs/models/imagemodel.cpp:1025
#16 0x0090733d in Digikam::ImageModel::finishIncrementalRefresh (this=0x8c6e070) at /home/eric/digikamgit2/dkgitdigikamsoftwarecompilation/core/libs/models/imagemodel.cpp:844
#17 0x081a695a in Digikam::ImageAlbumModel::slotResult (this=0x8c6e070, job=0x8f87288) at /home/eric/digikamgit2/dkgitdigikamsoftwarecompilation/core/libs/models/imagealbummodel.cpp:337
#18 0x081a5994 in Digikam::ImageAlbumModel::qt_static_metacall (_o=0x8c6e070, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0xbf9178a8) at /home/eric/digikamgit2/builddigikamsoftwarecompilation/core/digikam/imagealbummodel.moc:90
#19 0x05c49bb1 in QMetaObject::activate (sender=0x8f87288, m=0x274a46c, local_signal_index=3, argv=0xbf9178a8) at kernel/qobject.cpp:3547
#20 0x025935f5 in KJob::result (this=0x8f87288, _t1=0x8f87288) at ./kjob.moc:208
#21 0x02593648 in KJob::emitResult (this=0x8f87288) at ../../kdecore/jobs/kjob.cpp:318
#22 0x050777a4 in KIO::SimpleJob::slotFinished (this=0x8f87288) at ../../kio/kio/job.cpp:496
#23 0x05080b1d in KIO::TransferJob::slotFinished (this=0x8f87288) at ../../kio/kio/job.cpp:1099
#24 0x0507f0d8 in qt_static_metacall (_a=0xbf917b20, _id=7, _o=0x8f87288, _c=<optimized out>) at ./jobclasses.moc:388
#25 KIO::TransferJob::qt_static_metacall (_o=0x8f87288, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0xbf917b20) at ./jobclasses.moc:375
#26 0x05c49bb1 in QMetaObject::activate (sender=0x9e52218, m=0x525f420, local_signal_index=4, argv=0x0) at kernel/qobject.cpp:3547
#27 0x05139485 in KIO::SlaveInterface::finished (this=0x9e52218) at ./slaveinterface.moc:185
#28 0x0513a621 in KIO::SlaveInterface::dispatch (this=0x9e52218, _cmd=104, rawdata=...) at ../../kio/kio/slaveinterface.cpp:176
#29 0x0513784a in KIO::SlaveInterface::dispatch (this=0x9e52218) at ../../kio/kio/slaveinterface.cpp:92
#30 0x05128ff8 in KIO::Slave::gotInput (this=0x9e52218) at ../../kio/kio/slave.cpp:344
#31 0x05129660 in KIO::Slave::qt_static_metacall (_o=0x9e52218, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbf917de0) at ./slave.moc:57
#32 0x05c49bb1 in QMetaObject::activate (sender=0x8c36788, m=0x525c0b0, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3547
#33 0x05042025 in KIO::Connection::readyRead (this=0x8c36788) at ./connection.moc:106
#34 0x0504289a in dequeue (this=<optimized out>) at ../../kio/kio/connection.cpp:82
#35 KIO::ConnectionPrivate::dequeue (this=0xc699930) at ../../kio/kio/connection.cpp:71
#36 0x05c45101 in QMetaCallEvent::placeMetaCall (this=0xc318410, object=0x8c36788) at kernel/qobject.cpp:525
#37 0x05c4e17b in QObject::event (this=0x8c36788, e=0xc318410) at kernel/qobject.cpp:1195
#38 0x04060df4 in notify_helper (e=0xc318410, receiver=0x8c36788, this=0x8789770) at kernel/qapplication.cpp:4556
#39 QApplicationPrivate::notify_helper (this=0x8789770, receiver=0x8c36788, e=0xc318410) at kernel/qapplication.cpp:4528
#40 0x0406615d in QApplication::notify (this=0xc318410, receiver=0x8c36788, e=0xc318410) at kernel/qapplication.cpp:4285
#41 0x078a3ed1 in KApplication::notify (this=0xbf9186f8, receiver=0x8c36788, event=0xc318410) at ../../kdeui/kernel/kapplication.cpp:311
#42 0x05c32e0e in QCoreApplication::notifyInternal (this=0xbf9186f8, receiver=0x8c36788, event=0xc318410) at kernel/qcoreapplication.cpp:915
#43 0x05c36f68 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#44 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x872d050) at kernel/qcoreapplication.cpp:1539
#45 0x05c3729c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1432
#46 0x05c65994 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#47 postEventSourceDispatch (s=0x8789a58) at kernel/qeventdispatcher_glib.cpp:279
#48 0x07143d46 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#49 0x071440e5 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#50 0x071441c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#51 0x05c65d87 in QEventDispatcherGlib::processEvents (this=0x872dbb0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#52 0x04119a1a in QGuiEventDispatcherGlib::processEvents (this=0x872dbb0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#53 0x05c316ad in QEventLoop::processEvents (this=0xbf9185c4, flags=...) at kernel/qeventloop.cpp:149
#54 0x05c31949 in QEventLoop::exec (this=0xbf9185c4, flags=...) at kernel/qeventloop.cpp:204
#55 0x05c3734a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#56 0x0405e9c4 in QApplication::exec () at kernel/qapplication.cpp:3817
#57 0x0830de1b in main (argc=1, argv=0xbf918954) at /home/eric/digikamgit2/dkgitdigikamsoftwarecompilation/core/digikam/main/main.cpp:235

Reported using DrKonqi
Comment 1 e.longuemare 2013-10-24 23:01:19 UTC
Restart digikam.

The face marker has been well changed and image is rotated.

Only data in recognition.db are missing.
Comment 2 e.longuemare 2013-10-24 23:03:18 UTC
digiKam version 4.0.0-beta1
Codec PGF parallélisé: Non
Composant graphique Marble: 0.16.2 (stable version)
Demosaic GPL2 pack support: Non
Demosaic GPL3 pack support: Non
Dématriçage parallélisé: Non
Exiv2 peut écrire dans un fichier JP2: Oui
Exiv2 peut écrire dans un fichier JPEG: Oui
Exiv2 peut écrire dans un fichier PGF: Oui
Exiv2 peut écrire dans un fichier PNG: Oui
Exiv2 peut écrire dans un fichier TIFF: Oui
Exiv2 prend en charge les métadonnées XMP: Oui
LibCImg: 130
LibEigen: 3.0.5
LibExiv2: 0.22
LibJPEG: 80
LibJasper: 1.900.1
LibKDE: 4.11.2
LibKExiv2: 2.3.1
LibKGeoMap: 2.0.0
LibKdcraw: 2.4.0
LibLCMS: 2040
LibLensFun: 0.2.7-0
LibPGF: 6.12.24 - bibliothèque partagée externe
LibPNG: 1.2.46
LibQt: 4.8.2
LibRaw: 0.15.4
LibTIFF: LIBTIFF, Version 3.9.5 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc.
Prise en charge du codec RawSpeed: Non
LibGphoto2: 2.4.14
LibKface: 3.0.0
LibKipi: 2.1.0
LibOpenCV: 2.4.5
Modules externes KIPI: 3.5.0
Moteur de base de données: QMYSQL
Serveur interne de base de données: Non
Comment 3 caulier.gilles 2014-05-16 07:29:51 UTC
digiKam 4.0.0 is out :

http://www.digikam.org/node/713

Please check if this entry still valid with this new version.

Thanks in advance

Gilles Caulier
Comment 4 caulier.gilles 2014-06-11 21:13:58 UTC
Git commit fa909aa96e7e41225551cd9e866618717f1ea546 by Gilles Caulier.
Committed on 11/06/2014 at 21:06.
Pushed by cgilles into branch 'master'.

use a better C++ exception wrapper to handle non OpenCV exceptions (as pure C++ one)
Related: bug 335624, bug 330342, bug 329873, bug 326742, bug 326586, bug 324774, bug 323888, bug 323361, bug 320812, bug 312440, bug 309027, bug 308645, bug 301611, bug 297558, bug 285517

M  +4    -0    libkface/facedetector.cpp
M  +17   -2    libkface/recognitiondatabase.cpp

http://commits.kde.org/libkface/fa909aa96e7e41225551cd9e866618717f1ea546
Comment 5 caulier.gilles 2014-06-11 21:31:35 UTC
With next digiKam 4.1.0, i fixed libkface to handle all C++ exception (and not only OpenCV exception).

So, at least, digiKam must crash lesser now. If you want to review this entry again, use current implementation from git/master, or wait next 4.1.0 release...

Thanks to update your feedback

Gilles Caulier
Comment 6 caulier.gilles 2014-06-18 14:26:17 UTC
Git commit 4662dd94102f8144bc65ce1cb66d6b6cb1d500fd by Gilles Caulier.
Committed on 18/06/2014 at 14:22.
Pushed by cgilles into branch 'master'.

Libkface now depand of last stable OpenCV library version 2.4.9
This prevent internal crash int Cv:Algorithm that we cannot handle in libkface as exception.
Now, Face Recognition do not crash but still report Exception at training operations, especially about wrong Cv:Matrix size :

digikam(8673)/digikam (core) Digikam::DImg::load:"/mnt/data2/photos/GILLES/NEW/Adrien/2010-04-13/20100413_009.jpg"  :
JPEG file identified
OpenCV Error: Assertion failed (0 <= _dims && _dims <= CV_MAX_DIM) in setSize, file /mnt/devel/opencv/modules/core/src/matrix.cpp, line 89
digikam(8673)/KFACE: cv::Exception training LBPH: /mnt/devel/opencv/modules/core/src/matrix.cpp:89: error: (-215) 0 <=_dims && _dims <= CV_MAX_DIM in function setSize

It still a problem somwhere, but it's better than previous state.
Related: bug 335624, bug 330342, bug 329873, bug 326742, bug 326586, bug 324774, bug 323888, bug 323361, bug 320812, bug 312440, bug 309027, bug 308645, bug 301611, bug 297558, bug 285517

M  +1    -1    CMakeLists.txt

http://commits.kde.org/libkface/4662dd94102f8144bc65ce1cb66d6b6cb1d500fd
Comment 7 caulier.gilles 2014-06-24 12:43:29 UTC
Git commit 1fff86f31e3bf47a2a2cfa6eaa98bb1bdf1a863b by Gilles Caulier.
Committed on 24/06/2014 at 12:32.
Pushed by cgilles into branch 'master'.

add more test before to commit/checkout compressed histogram data in Face database, to prevent crashes, especially if data are corrupted from database.
Related: bug 335624, bug 330342, bug 329873, bug 326742, bug 326586, bug 324774, bug 323888, bug 320812, bug 312440, bug 309027, bug 308645, bug 301611, bug 297558, bug 285517

M  +62   -28   libkface/database/trainingdb.cpp

http://commits.kde.org/libkface/1fff86f31e3bf47a2a2cfa6eaa98bb1bdf1a863b
Comment 8 caulier.gilles 2014-06-24 13:53:46 UTC
With next digiKam 4.1.0, a lots of improvements/fixes have be done around face management. Please give us a fresh feedback.

Note i recommend to delete face recognition database to prevent dysfunction due to possible wrong data store in this container. Look where file is located in my computer :

[gilles@localhost database]$ pwd
/home/gilles/.kde4/share/apps/libkface/database
[gilles@localhost database]$ ls -al
total 397028
drwx------ 2 gilles gilles      4096 juin  24 14:22 ./
drwx------ 3 gilles gilles      4096 juin  18 19:08 ../
-rw-r--r-- 1 gilles gilles 406543360 juin  24 14:22 recognition.db
[gilles@localhost database]$
Comment 9 caulier.gilles 2014-08-24 09:00:15 UTC
We need a fresh feedback of this file using last digiKam 4.2.0

Gilles Caulier
Comment 10 caulier.gilles 2015-06-24 16:16:58 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 11 caulier.gilles 2015-08-17 11:26:46 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.

Gilles Caulier
Comment 12 caulier.gilles 2016-07-14 05:53:58 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