3.3.0-beta2 sources (tarball), compiled on gentoo linux, were used to test the recognition feature. However, recognition did not work in my case yet, as digikam crashes reproducibly just after clicking on "Scan" button (after selecting Recognize radio button). The face detection however is successful (but that was already the case before 3.3). Reproducible: Always Steps to Reproduce: 1. start digikam 2. (detect faces, tag some of them with names) 3. let digikam recognize faces => crash Actual Results: digikam crashes (segfault). Expected Results: no crash, but successfull recognition of faces The crash is even reproducible when running digikam under gdb, see http://paste.kde.org/~digikam/784166/ Fatal Error: Accessed global static 'FileReadWriteLockStaticPrivate *static_d()' after destruction. Defined at digikam-3.3.0-beta2/core/libs/threadimageio/filereadwritelock.cpp:385
This happens for me too in with the same error message in digikam 3.4.0: ------------------------------ digikam: Fatal IO error: client killed KCrash: Application 'digikam' crashing... KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit sock_file=/home/user/.kde/socket-linuxfront/kdeinit4__0 Fatal Error: Accessed global static 'FileReadWriteLockStaticPrivate *static_d()' after destruction. Defined at /tmp/buildd/digikam-3.4.0/core/libs/threadimageio/filereadwritelock.cpp:385 Unable to start Dr. Konqi ------------------------------ Strange thing is that this doesn't happen when I run digikam in gdb. Not sure if this might have something to do with threads or just that digikams runs slower in gdb-mode and everything can keep up. ------------------------------ digiKam version 3.4.0 Exiv2 can write to Jp2: Yes Exiv2 can write to Jpeg: Yes Exiv2 can write to Pgf: Yes Exiv2 can write to Png: Yes Exiv2 can write to Tiff: Yes Exiv2 supports XMP metadata: Yes LibCImg: 130 LibEigen: 3.1.2 LibExiv2: 0.23 LibJPEG: 80 LibJasper: 1.900.1 LibKDE: 4.11.1 LibKExiv2: 2.3.1 LibKGeoMap: 2.0.0 LibKdcraw: 2.3.1 LibLCMS: 2040 LibLensFun: 0.2.7-0 LibPGF: 6.12.24 - external shared library LibPNG: 1.2.49 LibQt: 4.8.4 LibRaw: 0.15.3 LibTIFF: LIBTIFF, Version 4.0.2 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Marble Widget: 0.15.97 (0.16 RC 1) Parallelized PGF codec: No Parallelized demosaicing: No RawSpeed codec support: No Database backend: QSQLITE Kipi-Plugins: 3.4.0 LibGphoto2: 2.4.14 LibKface: 3.0.0 LibKipi: 2.1.0 LibOpenCV: 2.4.5
when startin g face recognition digikam 3.3. crashes Application: digikam (3.3.0) KDE Platform Version: 4.8.5 (4.8.5) Qt Version: 4.8.1 Operating System: Linux 3.2.0-48-generic-pae i686 Distribution: Ubuntu 12.04.3 LTS -- Information about the crash: <In detail, tell us what you were doing when the application crashed.> The crash can be reproduced every time. -- 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 0xad9d68c0 (LWP 3634))] Thread 7 (Thread 0xabc76b40 (LWP 3637)): #0 0xb31afc70 in __pthread_mutex_unlock_usercnt () from /lib/i386-linux-gnu/libpthread.so.0 #1 0xb4a16944 in pthread_mutex_unlock () from /lib/i386-linux-gnu/libc.so.6 #2 0xb2dd0430 in g_mutex_unlock () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb2d9105b in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb2d9152b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xac08a134 in ?? () from /usr/lib/i386-linux-gnu/gio/modules/libdconfsettings.so #6 0xb2db4673 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #7 0xb31acd4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 #8 0xb4a08dde in clone () from /lib/i386-linux-gnu/libc.so.6 Thread 6 (Thread 0xab2ffb40 (LWP 3638)): #0 0xb4a16944 in pthread_mutex_unlock () from /lib/i386-linux-gnu/libc.so.6 #1 0xb2dd0430 in g_mutex_unlock () from /lib/i386-linux-gnu/libglib-2.0.so.0 #2 0xb2d90aeb in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb2d91002 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb2d9152b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xae5804aa in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0 #6 0xb2db4673 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #7 0xb31acd4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 #8 0xb4a08dde in clone () from /lib/i386-linux-gnu/libc.so.6 Thread 5 (Thread 0xa94e5b40 (LWP 3640)): #0 0xb771d424 in __kernel_vsyscall () #1 0xb31b096b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0 #2 0xb4a166ec in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6 #3 0xb4cdb350 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #4 0x08219ee2 in ?? () #5 0xb4cdade0 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #6 0xb31acd4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 #7 0xb4a08dde in clone () from /lib/i386-linux-gnu/libc.so.6 Thread 4 (Thread 0xa8ce4b40 (LWP 3641)): #0 0xb31aedc8 in pthread_mutex_lock () from /lib/i386-linux-gnu/libpthread.so.0 #1 0xb4a16904 in pthread_mutex_lock () from /lib/i386-linux-gnu/libc.so.6 #2 0xb2dd03f0 in g_mutex_lock () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb2d909d6 in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb2d91002 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xb2d911c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #6 0xb4e228e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #7 0xb4dee50d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #8 0xb4dee7a9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #9 0xb4cd794c in QThread::exec() () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #10 0xb4dcbb5d in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #11 0xb4cdade0 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #12 0xb31acd4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 #13 0xb4a08dde in clone () from /lib/i386-linux-gnu/libc.so.6 Thread 3 (Thread 0x9b38fb40 (LWP 4076)): #0 0xb771d424 in __kernel_vsyscall () #1 0xb49f848b in read () from /lib/i386-linux-gnu/libc.so.6 #2 0xb2dcf6ce in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb2d90b92 in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb2d91002 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xb2d911c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #6 0xb4e228e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #7 0xb4dee50d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #8 0xb4dee7a9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #9 0xb69a74ae in ?? () from /usr/lib/digikam/libdigikamcore.so.3 #10 0xb4ccd39b in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #11 0xb4cdade0 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #12 0xb31acd4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 #13 0xb4a08dde in clone () from /lib/i386-linux-gnu/libc.so.6 Thread 2 (Thread 0x91b7cb40 (LWP 4077)): [KCrash Handler] #7 0xb6e25bd4 in KFaceIface::Identity::isNull() const () from /usr/lib/libkface.so.2 #8 0x083260bc in ?? () #9 0x083269e9 in ?? () #10 0xb4e01c01 in QMetaCallEvent::placeMetaCall(QObject*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #11 0xb4e0ac7b in QObject::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #12 0xb69a8182 in Digikam::WorkerObject::event(QEvent*) () from /usr/lib/digikam/libdigikamcore.so.3 #13 0xb535bed4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #14 0xb536130d in QApplication::notify(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #15 0xb5ee0e01 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #16 0xb4def97e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #17 0xb4df3ad8 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #18 0xb4df3e0c in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #19 0xb4e22494 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #20 0xb2d90d46 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0 #21 0xb2d910e5 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #22 0xb2d911c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #23 0xb4e228e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #24 0xb4dee50d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #25 0xb4dee7a9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #26 0xb69a74ae in ?? () from /usr/lib/digikam/libdigikamcore.so.3 #27 0xb4ccd39b in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #28 0xb4cdade0 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #29 0xb31acd4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 #30 0xb4a08dde in clone () from /lib/i386-linux-gnu/libc.so.6 Thread 1 (Thread 0xad9d68c0 (LWP 3634)): #0 0xb771d424 in __kernel_vsyscall () #1 0xb31b096b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0 #2 0xb4a166ec in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6 #3 0xb4cdb350 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #4 0xb4cccb81 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #5 0xb4cce598 in QThreadPool::~QThreadPool() () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #6 0xb4cce5f2 in QThreadPool::~QThreadPool() () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #7 0xb4e04d11 in QObjectPrivate::deleteChildren() () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #8 0xb4e0a481 in QObject::~QObject() () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #9 0xb69a6a38 in Digikam::ThreadManager::~ThreadManager() () from /usr/lib/digikam/libdigikamcore.so.3 #10 0xb69a6ac9 in ?? () from /usr/lib/digikam/libdigikamcore.so.3 #11 0xb6782bd9 in ?? () from /usr/lib/digikam/libdigikamcore.so.3 #12 0xb494cf51 in ?? () from /lib/i386-linux-gnu/libc.so.6 #13 0xb494cfdd in exit () from /lib/i386-linux-gnu/libc.so.6 #14 0xb0181abf in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 #15 0xb5edeec9 in KApplication::xioErrhandler(_XDisplay*) () from /usr/lib/libkdeui.so.5 #16 0xb5edef04 in ?? () from /usr/lib/libkdeui.so.5 #17 0xb451bad4 in _XIOError () from /usr/lib/i386-linux-gnu/libX11.so.6 #18 0xb451939f in _XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6 #19 0xb450a0a8 in XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6 #20 0xb5414875 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #21 0xb2d90b3b in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0 #22 0xb2d91002 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #23 0xb2d911c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #24 0xb4e22887 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #25 0xb5414aaa in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #26 0xb4dee50d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #27 0xb4dee7a9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #28 0xb4df3eba in QCoreApplication::exec() () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #29 0xb5359a74 in QApplication::exec() () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #30 0x080bbbe1 in ?? () #31 0xb49334d3 in __libc_start_main () from /lib/i386-linux-gnu/libc.so.6 #32 0x080be569 in _start () Report to https://bugs.kde.org
I recommend to check again with last digiKam 3.4.0 where libkface code have been completely changed for face recognition stuff...
unfortunantly this version does not have an ubuntu istall yet. When I tried to compile it, it needen tos of extra lib i had to install, and unto now could not find. I give it a rest for now... 2013/9/23 Gilles Caulier <caulier.gilles@gmail.com> > https://bugs.kde.org/show_bug.cgi?id=321680 > > Gilles Caulier <caulier.gilles@gmail.com> changed: > > What |Removed |Added > > ---------------------------------------------------------------------------- > CC| |caulier.gilles@gmail.com > > --- Comment #3 from Gilles Caulier <caulier.gilles@gmail.com> --- > I recommend to check again with last digiKam 3.4.0 where libkface code > have > been completely changed for face recognition stuff... > > -- > You are receiving this mail because: > You are on the CC list for the bug. >
Can you check if this crash still reproducible with last 4.0.0 release ? Thanks in advance Gilles Caulier
Created attachment 87727 [details] Valgrind messages
Same problem with 4.0.0 on Arch linux. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fff9a7fc700 (LWP 12837)] Digikam::FaceTags::getOrCreateTagForIdentity (attributes=...) at /tmp/digikam/src/digikam-4.0.0/core/libs/database/faces/facetags.cpp:286 286 if (attributes.isEmpty()) (gdb) bt #0 Digikam::FaceTags::getOrCreateTagForIdentity (attributes=...) at /tmp/digikam/src/digikam-4.0.0/core/libs/database/faces/facetags.cpp:286 #1 0x00000000006f9744 in Digikam::DatabaseWriter::process (this=0x5663280, package=...) at /tmp/digikam/src/digikam-4.0.0/core/utilities/facemanagement/facepipeline.cpp:661 #2 0x00000000006fa0b1 in Digikam::DatabaseWriter::qt_static_metacall ( _o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /tmp/digikam/src/build/core/digikam/facepipeline_p.moc:493 #3 0x00007ffff29e46ae in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4 #4 0x00007ffff1af0f0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #5 0x00007ffff1af748d in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #6 0x00007ffff346a42a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #7 0x00007ffff29cc58d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #8 0x00007ffff29cf6dd in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4 #9 0x00007ffff29f99e3 in ?? () from /usr/lib/libQtCore.so.4 ---Type <return> to continue, or q <return> to quit--- #10 0x00007fffe9becb84 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #11 0x00007fffe9becdc8 in ?? () from /usr/lib/libglib-2.0.so.0 #12 0x00007fffe9bece6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #13 0x00007ffff29f92a5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #14 0x00007ffff29cb15f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #15 0x00007ffff29cb455 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #16 0x00007ffff5546d83 in Digikam::WorkerObjectRunnable::run (this=0x394d0e0) at /tmp/digikam/src/digikam-4.0.0/core/libs/threads/threadmanager.cpp:196 #17 0x00007ffff28bddfe in ?? () from /usr/lib/libQtCore.so.4 #18 0x00007ffff28c9ebf in ?? () from /usr/lib/libQtCore.so.4 #19 0x00007fffef129124 in start_thread () from /usr/lib/libpthread.so.0 #20 0x00007ffff0efb4bd in clone () from /usr/lib/libc.so.6 I also atached a valgrind output (but it stopped event before the splash screen)
It's clear. Your problem is located is libsqlite3 : ==13178== valgrind: Unrecognised instruction at address 0xd8dffb0. ==13178== at 0xD8DFFB0: __lll_trylock_elision (in /usr/lib/libpthread-2.19.so) ==13178== by 0xD8D8BE3: pthread_mutex_trylock (in /usr/lib/libpthread-2.19.so) ==13178== by 0x1FC9F888: ??? (in /usr/lib/libsqlite3.so.0.8.6) ==13178== by 0x1FCA51DD: ??? (in /usr/lib/libsqlite3.so.0.8.6) ==13178== by 0x1FCDA116: ??? (in /usr/lib/libsqlite3.so.0.8.6) ==13178== by 0x1FD23DF6: ??? (in /usr/lib/libsqlite3.so.0.8.6) ==13178== by 0x37AF685E: ??? (in /usr/lib/qt4/plugins/sqldrivers/libqsqlite.so) ==13178== by 0x4E45D60: QSqlDatabase::open() (in /usr/lib/libQtSql.so.4.8.6) ==13178== by 0x75AD1D9: Digikam::DatabaseCoreBackendPrivate::open(QSqlDatabase&) (databasecorebackend.cpp:214) ==13178== by 0x75ADC7C: Digikam::DatabaseCoreBackendPrivate::databaseForThread() (databasecorebackend.cpp:120) ==13178== by 0x75B3DCB: Digikam::DatabaseCoreBackend::open(Digikam::DatabaseParameters const&) (databasecorebackend.cpp:769) ==13178== by 0x7AC508D: Digikam::DatabaseAccess::checkReadyForUse(Digikam::InitializationObserver*) (databaseaccess.cpp:286) Problem is know. See my comment in this entry : https://bugs.kde.org/show_bug.cgi?id=323888#c89 Gilles Caulier
For information I'm already using sqlite 3.8.5. Shall I report it to sqlite upstream or as it already be done ?
Nothing have been yet reported as i know as Upstream to sqlite team. Please do it, and use bugzilla #323888 entry as reference. Thanks in advance Gilles Caulier
New digiKam 4.11.0 is available with official PKG installer for OSX. https://www.digikam.org/node/740 Can you reproduce the problem with this release ?
Created attachment 93708 [details] attachment-1280-0.html No, I just tried and it seems to work ok. Thank you for asking ! On Thu, Jun 25, 2015 at 3:11 PM Gilles Caulier <caulier.gilles@gmail.com> wrote: > https://bugs.kde.org/show_bug.cgi?id=321680 > > --- Comment #11 from Gilles Caulier <caulier.gilles@gmail.com> --- > New digiKam 4.11.0 is available with official PKG installer for OSX. > > https://www.digikam.org/node/740 > > Can you reproduce the problem with this release ? > > -- > You are receiving this mail because: > You are on the CC list for the bug. >