[Digikam-devel] [digikam] [Bug 323888] Face recognition makes digikam fill all the available memory

e.longuemare at laposte.net e.longuemare at laposte.net
Fri Oct 18 11:18:58 BST 2013


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

--- Comment #38 from e.longuemare at laposte.net ---
Hello,

I have a new try with digikam 4.0 beta, compiled from git for eclipse and debug
in eclipse+gdb.
I have made a test with two folders move from original source albums to the
folder image then tag only one person in those folders (recognition.db about
86k). I use  2 sqlite db for digikam and digikam_thumb. I should do anything
without problem. Memory usage remain stable.

Then I clone my working databases (mysql) into two new mysql databases : one
for the thumb and the other for digikam, clone all the albums collection too. I
configure digikam for using those clones dbs and the clone collection. Do a
learning pass with facetagging tools wich was a succes (as in precedent tests -
digikam 3.3, 3.4, 3.5) and do a new face scan  in the same folders that
precedent test : memory usage grow, then digikam crash with segfault at :

digikam [5359] [cores: 0]    
    Thread [63] 12305 [core: 0] (Suspended : Signal : SIGSEGV:Segmentation
fault)    
        Digikam::DImg::DImg() at dimg.cpp:165 0xe3e148    
        Digikam::PreviewLoadingTask::execute() at previewtask.cpp:288 0x104d2ac 
        Digikam::LoadSaveThread::run() at loadsavethread.cpp:136 0x1038e58    
        Digikam::DynamicThread::DynamicThreadPriv::run() at
dynamicthread.cpp:186 0x106c11e    
        QThreadPoolThread::run() at qthreadpool.cpp:107 0x30f346b    
        QThreadPrivate::start() at qthread_unix.cpp:307 0x3100eb0    
        start_thread() at pthread_create.c:308 0x495ad4c    
        clone() at clone.S:130 0x3614dde    
    Thread [60] 12011 [core: 0] (Suspended : Container)    
        __kernel_vsyscall() at 0x132416    
        __GI___poll() at poll.c:87 0x3606690    
        g_poll() at 0x516aa3b    
        0x515d06e    
        g_main_context_iteration() at 0x515d1c1    
        QEventDispatcherGlib::processEvents() at qeventdispatcher_glib.cpp:424
0x3248d87    
        QEventLoop::processEvents() at qeventloop.cpp:149 0x32146ad    
        QEventLoop::exec() at qeventloop.cpp:204 0x3214949    
        Digikam::WorkerObjectRunnable::run() at threadmanager.cpp:196 0x1069a8e 
        QThreadPoolThread::run() at qthreadpool.cpp:107 0x30f346b    
        QThreadPrivate::start() at qthread_unix.cpp:307 0x3100eb0    
        start_thread() at pthread_create.c:308 0x495ad4c    
        clone() at clone.S:130 0x3614dde    
    Thread [59] 12010 [core: 0] (Suspended : Container)    
        __kernel_vsyscall() at 0x132416    
        __GI___poll() at poll.c:87 0x3606690    
        g_poll() at 0x516aa3b    
        0x515d06e    
        g_main_context_iteration() at 0x515d1c1    
        QEventDispatcherGlib::processEvents() at qeventdispatcher_glib.cpp:424
0x3248d87    
        QEventLoop::processEvents() at qeventloop.cpp:149 0x32146ad    
        QEventLoop::exec() at qeventloop.cpp:204 0x3214949    
        Digikam::WorkerObjectRunnable::run() at threadmanager.cpp:196 0x1069a8e 
        QThreadPoolThread::run() at qthreadpool.cpp:107 0x30f346b    
        QThreadPrivate::start() at qthread_unix.cpp:307 0x3100eb0    
        start_thread() at pthread_create.c:308 0x495ad4c    
        clone() at clone.S:130 0x3614dde    
    Thread [58] 12009 [core: 0] (Suspended : Container)    
        icvEvalHidHaarClassifier() at haar.cpp:812 0x3f5bd36    
        cvRunHaarClassifierCascadeSum() at haar.cpp:1 258 0x3f5d3ff    
        cvRunHaarClassifierCascade() at haar.cpp:1 274 0x3f5d60d    
        cv::HaarDetectObjects_ScaleCascade_Invoker::operator() at haar.cpp:1
463 0x3f5df5c    
        () at parallel.cpp:142 0x16dbbff    
        () at parallel.cpp:162 0x16dbcd2    
        tbb::interface6::internal::start_for<tbb::blocked_range<int>,
{anonymous}::ProxyLoopBody, tbb::auto_partitioner>::run_body() at
parallel_for.h:110 0x16dcc46    
       
tbb::interface6::internal::partition_type_base<tbb::interface6::internal::auto_partition_type>::execute<tbb::interface6::internal::start_for<tbb::blocked_range<int>,
{anonymous}::ProxyLoopBody, tbb::auto_partitioner>, tbb::blocked_range<int> >()
at partitioner.h:265 0x16dc9b5    
        tbb::interface6::internal::start_for<tbb::blocked_range<int>,
{anonymous}::ProxyLoopBody, tbb::auto_partitioner>::execute() at
parallel_for.h:116 0x16dc500    
       
tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::local_wait_for_all()
at custom_scheduler.h:449 0x4e538c9    
        tbb::internal::generic_scheduler::local_spawn_root_and_wait() at
scheduler.cpp:627 0x4e51ea0    
        tbb::internal::generic_scheduler::spawn_root_and_wait() at
scheduler.h:535 0x4e52509    
        tbb::task::spawn_root_and_wait() at task.h:692 0x16db51b    
        tbb::interface6::internal::start_for<tbb::blocked_range<int>,
{anonymous}::ProxyLoopBody, tbb::auto_partitioner>::run() at parallel_for.h:94
0x16dc239    
        tbb::parallel_for<tbb::blocked_range<int>,
{anonymous}::ProxyLoopBody>() at parallel_for.h:162 0x16dc0cc    
        cv::parallel_for_() at parallel.cpp:238 0x16dbd78    
        cvHaarDetectObjectsForROC() at haar.cpp:1 720 0x3f5ff4c    
        cv::CascadeClassifier::detectMultiScale() at cascadedetect.cpp:1 109
0x3f77c32    
        cv::CascadeClassifier::detectMultiScale() at cascadedetect.cpp:1 204
0x3f7875e    
        KFaceIface::OpenCVFaceDetector::cascadeResult() at
opencvfacedetector.cpp:419 0xa218ab    
        KFaceIface::OpenCVFaceDetector::detectFaces() at
opencvfacedetector.cpp:699 0xa266ad    
        KFaceIface::FaceDetector::detectFaces() at facedetector.cpp:152
0xa1e712    
        Digikam::DetectionWorker::process() at facepipeline.cpp:482 0x834745b   
        Digikam::DetectionWorker::qt_static_metacall() at
facepipeline_p.moc:318 0x8347cdc    
        QMetaCallEvent::placeMetaCall() at qobject.cpp:525 0x3228101    
        QObject::event() at qobject.cpp:1 195 0x323117b    
        Digikam::WorkerObject::event() at workerobject.cpp:160 0x106a762    
        notify_helper() at qapplication.cpp:4 556 0x242adf4    
        QApplicationPrivate::notify_helper() at qapplication.cpp:4 528
0x242adf4    
        QApplication::notify() at qapplication.cpp:4 285 0x243015d    
        KApplication::notify() at kapplication.cpp:311 0x2099ed1    
        QCoreApplication::notifyInternal() at qcoreapplication.cpp:915
0x3215e0e    
        sendEvent() at qcoreapplication.h:231 0x3219f68    
        QCoreApplicationPrivate::sendPostedEvents() at qcoreapplication.cpp:1
539 0x3219f68    
        QCoreApplication::sendPostedEvents() at qcoreapplication.cpp:1 432
0x321a29c    
        sendPostedEvents() at qcoreapplication.h:236 0x3248994    
        postEventSourceDispatch() at qeventdispatcher_glib.cpp:279 0x3248994    
        g_main_context_dispatch() at 0x515cd46    
        0x515d0e5    
        g_main_context_iteration() at 0x515d1c1    
        QEventDispatcherGlib::processEvents() at qeventdispatcher_glib.cpp:424
0x3248d87    
        QEventLoop::processEvents() at qeventloop.cpp:149 0x32146ad    
        QEventLoop::exec() at qeventloop.cpp:204 0x3214949    
        Digikam::WorkerObjectRunnable::run() at threadmanager.cpp:196 0x1069a8e 
        QThreadPoolThread::run() at qthreadpool.cpp:107 0x30f346b    
        QThreadPrivate::start() at qthread_unix.cpp:307 0x3100eb0    
        start_thread() at pthread_create.c:308 0x495ad4c    
        clone() at clone.S:130 0x3614dde    
    Thread [7] 5640 [core: 0] (Suspended : Container)    
    Thread [3] 5552 [core: 0] (Suspended : Container)    
    Thread [2] 5550 [core: 0] (Suspended : Container)    
    Thread [1] 5359 [core: 0] (Suspended : Container)

Please view attached variables

Thanks,

Eric

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Digikam-devel mailing list