Bug 426888 - Digikam crashes shortly after I attempt to start it
Summary: Digikam crashes shortly after I attempt to start it
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Faces-Recognition (show other bugs)
Version: 7.2.0
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2020-09-23 01:09 UTC by Steven P. Ulrick
Modified: 2020-09-27 09:45 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 7.2.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Steven P. Ulrick 2020-09-23 01:09:57 UTC
Application: digikam (7.2.0-beta1)

Qt Version: 5.13.2
Frameworks Version: 5.70.0
Operating System: Linux 5.8.9-101.fc31.x86_64 x86_64
Windowing system: X11
Distribution: Fedora 31 (KDE Plasma)

-- Information about the crash:
- What I was doing when the application crashed:
I attempted to open Digikam, the splash screen came up for a few seconds, and then it crashed.
It does the exact same  thing every time I try to start Digikam.
I compile Digikam from the GIT repo.

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f508206fa00 (LWP 2213029))]

Thread 7 (Thread 0x7f50625ed700 (LWP 2213036)):
#0  0x00007f50a16c7d45 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f50a1b35943 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /lib64/libQt5Core.so.5
#2  0x00007f50a1b359d1 in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#3  0x00007f50a3da63c3 in Digikam::ParkingThread::run() () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamcore.so.7.2.0
#4  0x00007f50a1b2fe26 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5  0x00007f50a16c14e2 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f50a15f06c3 in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f5062dee700 (LWP 2213034)):
#0  0x00007f50a16c7d45 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f50a1b35943 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /lib64/libQt5Core.so.5
#2  0x00007f50a1b359d1 in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#3  0x00007f50a4e395e4 in Digikam::ScanController::run() () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#4  0x00007f50a1b2fe26 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5  0x00007f50a16c14e2 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f50a15f06c3 in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f5063fff700 (LWP 2213033)):
#0  0x00007f50a16cb87c in read () at /lib64/libpthread.so.0
#1  0x00007f50972335af in g_wakeup_acknowledge () at /lib64/libglib-2.0.so.0
#2  0x00007f50971eb3b7 in g_main_context_check () at /lib64/libglib-2.0.so.0
#3  0x00007f50971eb812 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#4  0x00007f50971eb9a3 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#5  0x00007f50a1d348a3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f50a1cde23b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#7  0x00007f50a1b2ecd5 in QThread::exec() () at /lib64/libQt5Core.so.5
#8  0x00007f50a2daaf6a in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#9  0x00007f50a1b2fe26 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#10 0x00007f50a16c14e2 in start_thread () at /lib64/libpthread.so.0
#11 0x00007f50a15f06c3 in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f5068aed700 (LWP 2213032)):
#0  0x00007f50a16c7d45 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f506f2afedb in util_queue_thread_func () at /usr/lib64/dri/r600_dri.so
#2  0x00007f506f2afaeb in impl_thrd_routine () at /usr/lib64/dri/r600_dri.so
#3  0x00007f50a16c14e2 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f50a15f06c3 in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f5069c34700 (LWP 2213031)):
#0  0x00007f50a16c7d45 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f506f2afedb in util_queue_thread_func () at /usr/lib64/dri/r600_dri.so
#2  0x00007f506f2afaeb in impl_thrd_routine () at /usr/lib64/dri/r600_dri.so
#3  0x00007f50a16c14e2 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f50a15f06c3 in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f5074d99700 (LWP 2213030)):
#0  0x00007f50a15e5a5f in poll () at /lib64/libc.so.6
#1  0x00007f5093dc738a in _xcb_conn_wait () at /lib64/libxcb.so.1
#2  0x00007f5093dc8fea in xcb_wait_for_event () at /lib64/libxcb.so.1
#3  0x00007f5074ebfd48 in QXcbEventQueue::run() () at /lib64/libQt5XcbQpa.so.5
#4  0x00007f50a1b2fe26 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5  0x00007f50a16c14e2 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f50a15f06c3 in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f508206fa00 (LWP 2213029)):
[KCrash Handler]
#4  0x00007f50a152b625 in raise () at /lib64/libc.so.6
#5  0x00007f50a15148d9 in abort () at /lib64/libc.so.6
#6  0x00007f50a1914756 in __gnu_cxx::__verbose_terminate_handler() [clone .cold] () at /lib64/libstdc++.so.6
#7  0x00007f50a19206dc in __cxxabiv1::__terminate(void (*)()) () at /lib64/libstdc++.so.6
#8  0x00007f50a1920747 in  () at /lib64/libstdc++.so.6
#9  0x00007f50a19209b9 in  () at /lib64/libstdc++.so.6
#10 0x00007f50974cd21e in cv::error(cv::Exception const&) [clone .cold] () at /lib64/libopencv_core.so.3.4
#11 0x00007f50976c9153 in cv::error(int, cv::String const&, char const*, char const*, int) () at /lib64/libopencv_core.so.3.4
#12 0x00007f50981a5c05 in cv::errorNoReturn(int, cv::String const&, char const*, char const*, int) [clone .constprop.0] () at /lib64/libopencv_dnn.so.3.4
#13 0x00007f50981a7310 in TH::THDiskFile_new(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int) () at /lib64/libopencv_dnn.so.3.4
#14 0x00007f50981b623e in cv::dnn::experimental_dnn_34_v17::readNetFromTorch(cv::String const&, bool, bool) () at /lib64/libopencv_dnn.so.3.4
#15 0x00007f50a4e725c0 in Digikam::DNNFaceExtractor::DNNFaceExtractor() () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#16 0x00007f50a4e6ebcb in Digikam::OpenCVDNNFaceRecognizer::Private::Private(Digikam::OpenCVDNNFaceRecognizer::Classifier) () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#17 0x00007f50a4e6c642 in Digikam::OpenCVDNNFaceRecognizer::OpenCVDNNFaceRecognizer(Digikam::OpenCVDNNFaceRecognizer::Classifier) () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#18 0x00007f50a4e3dded in Digikam::FacialRecognitionWrapper::Private::Private() () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#19 0x00007f50a4e3d7e5 in Digikam::FacialRecognitionWrapper::FacialRecognitionWrapper() () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#20 0x00007f50a50f2aa0 in Digikam::TrainerWorker::TrainerWorker(Digikam::FacePipeline::Private*) () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#21 0x00007f50a50dcdf0 in Digikam::FacePipeline::plugTrainer() () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#22 0x00007f50a4da016d in Digikam::DigikamItemView::DigikamItemView(QWidget*) () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#23 0x00007f50a4e01b45 in Digikam::StackedView::StackedView(QWidget*) () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#24 0x00007f50a4df19bd in Digikam::ItemIconView::ItemIconView(QWidget*, Digikam::DModelFactory*) () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#25 0x00007f50a4d66aa5 in Digikam::DigikamApp::setupView() () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#26 0x00007f50a4d5844b in Digikam::DigikamApp::DigikamApp() () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#27 0x0000000000405a41 in main ()
[Inferior 1 (process 2213029) detached]

Reported using DrKonqi
Comment 1 Steven P. Ulrick 2020-09-23 01:13:42 UTC
When I delete digikamrc & digikam_systemrc and attempt to restart Digikam, it starts up fine. We'll see what happens now.
Comment 2 Steven P. Ulrick 2020-09-23 01:16:36 UTC
Digikam scanned my rather large directory of photos and then promptly crashed when it finished. Here is the backtrace that was produced after Digikam finished scanning my photos and then proceeded to crash:
Application: digiKam (digikam), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f3c1d253a00 (LWP 2213549))]

Thread 7 (Thread 0x7f3c0092c700 (LWP 2213690)):
#0  0x00007f3c3c8abd45 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3c3cd19943 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /lib64/libQt5Core.so.5
#2  0x00007f3c3cd199d1 in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#3  0x00007f3c3ef8a3c3 in Digikam::ParkingThread::run() () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamcore.so.7.2.0
#4  0x00007f3c3cd13e26 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5  0x00007f3c3c8a54e2 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f3c3c7d46c3 in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f3c0112d700 (LWP 2213595)):
#0  0x00007f3c3c8abd45 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3c3cd19943 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /lib64/libQt5Core.so.5
#2  0x00007f3c3cd199d1 in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#3  0x00007f3c4001d5e4 in Digikam::ScanController::run() () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#4  0x00007f3c3cd13e26 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5  0x00007f3c3c8a54e2 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f3c3c7d46c3 in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f3c0328c700 (LWP 2213553)):
#0  0x00007f3c3c79b6b7 in clock_gettime@GLIBC_2.2.5 () at /lib64/libc.so.6
#1  0x00007f3c3cf18095 in qt_gettime() () at /lib64/libQt5Core.so.5
#2  0x00007f3c3cf16bdd in QTimerInfoList::updateCurrentTime() () at /lib64/libQt5Core.so.5
#3  0x00007f3c3cf16fe9 in QTimerInfoList::timerWait(timespec&) () at /lib64/libQt5Core.so.5
#4  0x00007f3c3cf18554 in timerSourcePrepareHelper(GTimerSource*, int*) () at /lib64/libQt5Core.so.5
#5  0x00007f3c3cf18602 in timerSourcePrepare(_GSource*, int*) () at /lib64/libQt5Core.so.5
#6  0x00007f3c323cedea in g_main_context_prepare () at /lib64/libglib-2.0.so.0
#7  0x00007f3c323cf79b in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#8  0x00007f3c323cf9a3 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#9  0x00007f3c3cf188a3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#10 0x00007f3c3cec223b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#11 0x00007f3c3cd12cd5 in QThread::exec() () at /lib64/libQt5Core.so.5
#12 0x00007f3c3df8ef6a in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#13 0x00007f3c3cd13e26 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#14 0x00007f3c3c8a54e2 in start_thread () at /lib64/libpthread.so.0
#15 0x00007f3c3c7d46c3 in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f3c0ca4b700 (LWP 2213552)):
#0  0x00007f3c3c8abd45 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3c0e4a6edb in util_queue_thread_func () at /usr/lib64/dri/r600_dri.so
#2  0x00007f3c0e4a6aeb in impl_thrd_routine () at /usr/lib64/dri/r600_dri.so
#3  0x00007f3c3c8a54e2 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f3c3c7d46c3 in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f3c0db9e700 (LWP 2213551)):
#0  0x00007f3c3c8abd45 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3c0e4a6edb in util_queue_thread_func () at /usr/lib64/dri/r600_dri.so
#2  0x00007f3c0e4a6aeb in impl_thrd_routine () at /usr/lib64/dri/r600_dri.so
#3  0x00007f3c3c8a54e2 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f3c3c7d46c3 in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f3c0ff7d700 (LWP 2213550)):
#0  0x00007f3c3c7c9a5f in poll () at /lib64/libc.so.6
#1  0x00007f3c2efab38a in _xcb_conn_wait () at /lib64/libxcb.so.1
#2  0x00007f3c2efacfea in xcb_wait_for_event () at /lib64/libxcb.so.1
#3  0x00007f3c100a3d48 in QXcbEventQueue::run() () at /lib64/libQt5XcbQpa.so.5
#4  0x00007f3c3cd13e26 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5  0x00007f3c3c8a54e2 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f3c3c7d46c3 in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f3c1d253a00 (LWP 2213549)):
[KCrash Handler]
#4  0x00007f3c3c70f625 in raise () at /lib64/libc.so.6
#5  0x00007f3c3c6f88d9 in abort () at /lib64/libc.so.6
#6  0x00007f3c3caf8756 in __gnu_cxx::__verbose_terminate_handler() [clone .cold] () at /lib64/libstdc++.so.6
#7  0x00007f3c3cb046dc in __cxxabiv1::__terminate(void (*)()) () at /lib64/libstdc++.so.6
#8  0x00007f3c3cb04747 in  () at /lib64/libstdc++.so.6
#9  0x00007f3c3cb049b9 in  () at /lib64/libstdc++.so.6
#10 0x00007f3c326b121e in cv::error(cv::Exception const&) [clone .cold] () at /lib64/libopencv_core.so.3.4
#11 0x00007f3c328ad153 in cv::error(int, cv::String const&, char const*, char const*, int) () at /lib64/libopencv_core.so.3.4
#12 0x00007f3c33389c05 in cv::errorNoReturn(int, cv::String const&, char const*, char const*, int) [clone .constprop.0] () at /lib64/libopencv_dnn.so.3.4
#13 0x00007f3c3338b310 in TH::THDiskFile_new(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int) () at /lib64/libopencv_dnn.so.3.4
#14 0x00007f3c3339a23e in cv::dnn::experimental_dnn_34_v17::readNetFromTorch(cv::String const&, bool, bool) () at /lib64/libopencv_dnn.so.3.4
#15 0x00007f3c400565c0 in Digikam::DNNFaceExtractor::DNNFaceExtractor() () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#16 0x00007f3c40052bcb in Digikam::OpenCVDNNFaceRecognizer::Private::Private(Digikam::OpenCVDNNFaceRecognizer::Classifier) () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#17 0x00007f3c40050642 in Digikam::OpenCVDNNFaceRecognizer::OpenCVDNNFaceRecognizer(Digikam::OpenCVDNNFaceRecognizer::Classifier) () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#18 0x00007f3c40021ded in Digikam::FacialRecognitionWrapper::Private::Private() () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#19 0x00007f3c400217e5 in Digikam::FacialRecognitionWrapper::FacialRecognitionWrapper() () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#20 0x00007f3c402d6aa0 in Digikam::TrainerWorker::TrainerWorker(Digikam::FacePipeline::Private*) () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#21 0x00007f3c402c0df0 in Digikam::FacePipeline::plugTrainer() () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#22 0x00007f3c3ff8416d in Digikam::DigikamItemView::DigikamItemView(QWidget*) () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#23 0x00007f3c3ffe5b45 in Digikam::StackedView::StackedView(QWidget*) () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#24 0x00007f3c3ffd59bd in Digikam::ItemIconView::ItemIconView(QWidget*, Digikam::DModelFactory*) () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#25 0x00007f3c3ff4aaa5 in Digikam::DigikamApp::setupView() () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#26 0x00007f3c3ff3c44b in Digikam::DigikamApp::DigikamApp() () at /usr/local/spu/kde/kde-20200922/lib64/libdigikamgui.so.7.2.0
#27 0x0000000000405a41 in main ()
[Inferior 1 (process 2213549) detached]
Comment 3 caulier.gilles 2020-09-23 01:54:46 UTC
Nghia,

It crash in opencv with Face recognition. 

Why ? At startup face recognition is not processed while scanning collection...

Gilles
Comment 4 caulier.gilles 2020-09-23 01:56:00 UTC
Steven,

Please try to reproduce the problem with the weekly AppImage 7.2.0 beta1 bundle available here :

https://files.kde.org/digikam/

Gilles Caulier
Comment 5 Maik Qualmann 2020-09-23 04:24:38 UTC
It crashes in DNNFaceExtractor::DNNFaceExtractor(). And if the data file "openface_nn4.small2.v1.t7" is not found. The data files are probably not installed in the Fedora version.

Maik
Comment 6 Minh Nghia Duong 2020-09-23 07:23:24 UTC
Hi,

It crashed in function readNetFromTorch() so the data file for neural net is not found. Can you see the location of neural net files in the debug message while digikam is loading? 

And is the data files are copied to '/usr/share/digikam/facesengine' or other location where digikam is installed in your system?

Nghia
Comment 7 Maik Qualmann 2020-09-23 13:30:28 UTC
I would suggest that we check for the presence of these files when digiKam is started and then exit with an appropriate error message. There is always the risk that distributions will split up the digiKam packages and that the dependencies will not be resolved correctly.

Maik
Comment 8 caulier.gilles 2020-09-27 09:02:40 UTC
Git commit fb027d2ac403ca25c2ac81f81e4682d658845df3 by Gilles Caulier.
Committed on 27/09/2020 at 09:01.
Pushed by cgilles into branch 'master'.

Prevent a crash in OpenCV is DNN faces engine model cannot be loaded.

M  +41   -7    core/libs/facesengine/recognition/opencv-dnn/dnnfaceextractor.cpp
M  +7    -1    core/libs/facesengine/recognition/opencv-dnn/dnnfaceextractor.h

https://invent.kde.org/graphics/digikam/commit/fb027d2ac403ca25c2ac81f81e4682d658845df3
Comment 9 caulier.gilles 2020-09-27 09:27:00 UTC
Git commit c736c41f918a9b37988bb70044434f07f229a8ec by Gilles Caulier.
Committed on 27/09/2020 at 09:26.
Pushed by cgilles into branch 'master'.

Improve shapes preditor model loading check

M  +10   -6    core/libs/facesengine/preprocessing/recognition/openfacepreprocessor.cpp
M  +5    -1    core/libs/facesengine/preprocessing/recognition/openfacepreprocessor.h
M  +1    -1    core/libs/facesengine/preprocessing/recognition/recognitionpreprocessor.cpp
M  +2    -2    core/libs/facesengine/recognition/opencv-dnn/dnnfaceextractor.cpp
M  +1    -1    core/libs/facesengine/recognition/opencv-dnn/dnnfaceextractor.h

https://invent.kde.org/graphics/digikam/commit/c736c41f918a9b37988bb70044434f07f229a8ec
Comment 10 caulier.gilles 2020-09-27 09:45:32 UTC
Git commit b8e9a18a3686edcfd1bfdbfe8a34165c3fbf2ab6 by Gilles Caulier.
Committed on 27/09/2020 at 09:44.
Pushed by cgilles into branch 'master'.

Check if loading models from SSD and Yolo DNN detection engine is done properly.
FIXED-IN: 7.2.0

M  +27   -7    core/libs/facesengine/detection/opencv-dnn/dnnfacedetectorssd.cpp
M  +2    -0    core/libs/facesengine/detection/opencv-dnn/dnnfacedetectorssd.h
M  +29   -9    core/libs/facesengine/detection/opencv-dnn/dnnfacedetectoryolo.cpp
M  +2    -0    core/libs/facesengine/detection/opencv-dnn/dnnfacedetectoryolo.h
M  +1    -0    core/libs/facesengine/detection/opencv-dnn/opencvdnnfacedetector.cpp
M  +17   -17   core/libs/facesengine/recognition/opencv-dnn/dnnfaceextractor.cpp
M  +1    -1    core/libs/facesengine/recognition/opencv-dnn/dnnfaceextractor.h

https://invent.kde.org/graphics/digikam/commit/b8e9a18a3686edcfd1bfdbfe8a34165c3fbf2ab6