digiKam crashes every time I launch: Scan collection for faces -> Detect and recognize faces -> Scan. --- BT: Thread 51 (Thread 0x7ffed4ff9700 (LWP 11968)): #0 0x00007ffff294ddd4 in cv::face::FaceRecognizer::getLabelsByString(cv::String const&) const () at /usr/lib/libopencv_face.so.3.4 #1 0x00007ffff294dc4f in cv::face::FaceRecognizer::predict(cv::_InputArray const&, int&, double&) const () at /usr/lib/libopencv_face.so.3.4 #2 0x00007ffff73d0e54 in () at /usr/lib/libdigikamgui.so.5.8.0 #3 0x00007ffff73c7a34 in Digikam::RecognitionDatabase::recognizeFaces(Digikam::ImageListProvider*) () at /usr/lib/libdigikamgui.so.5.8.0 #4 0x00007ffff73c7f00 in Digikam::RecognitionDatabase::recognizeFaces(QList<QImage> const&) () at /usr/lib/libdigikamgui.so.5.8.0 #5 0x00007ffff777dcf5 in () at /usr/lib/libdigikamgui.so.5.8.0 #6 0x00007ffff778c174 in () at /usr/lib/libdigikamgui.so.5.8.0 #7 0x00007ffff3eacac2 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5 #8 0x00007ffff4bf5ecc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5 #9 0x00007ffff4bfd8a6 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5 #10 0x00007ffff3e7b850 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5 #11 0x00007ffff3e7e4b6 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5 #12 0x00007ffff3ed8714 in () at /usr/lib/libQt5Core.so.5 #13 0x00007fffe5893e38 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0 #14 0x00007fffe5894081 in () at /usr/lib/libglib-2.0.so.0 #15 0x00007fffe589410e in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #16 0x00007ffff3ed7d01 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #17 0x00007ffff3e79e9b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #18 0x00007ffff63f19d9 in () at /usr/lib/libdigikamcore.so.5.8.0 #19 0x00007ffff3c8bb02 in () at /usr/lib/libQt5Core.so.5 #20 0x00007ffff3c8eb2d in () at /usr/lib/libQt5Core.so.5 #21 0x00007fffecf4d08c in start_thread () at /usr/lib/libpthread.so.0 #22 0x00007ffff2f7ae7f in clone () at /usr/lib/libc.so.6 Thread 48 (Thread 0x7ffed67fc700 (LWP 11965)): #0 0x00007ffff62ec60f in () at /usr/lib/libdigikamcore.so.5.8.0 #1 0x00007ffff62ef58f in Digikam::DImg::smoothScaleClipped(int, int, int, int, int, int) const () at /usr/lib/libdigikamcore.so.5.8.0 #2 0x00007ffff62ef611 in Digikam::DImg::smoothScaleClipped(QSize const&, QRect const&) const () at /usr/lib/libdigikamcore.so.5.8.0 #3 0x00007ffff62ef6f3 in Digikam::DImg::smoothScale(QSize const&, Qt::AspectRatioMode) const () at /usr/lib/libdigikamcore.so.5.8.0 #4 0x00007ffff62ef72b in Digikam::DImg::smoothScale(int, int, Qt::AspectRatioMode) const () at /usr/lib/libdigikamcore.so.5.8.0 #5 0x00007ffff777546b in () at /usr/lib/libdigikamgui.so.5.8.0 #6 0x00007ffff777d891 in () at /usr/lib/libdigikamgui.so.5.8.0 #7 0x00007ffff778bbb4 in () at /usr/lib/libdigikamgui.so.5.8.0 #8 0x00007ffff3eacac2 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5 #9 0x00007ffff4bf5ecc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5 #10 0x00007ffff4bfd8a6 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5 #11 0x00007ffff3e7b850 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5 #12 0x00007ffff3e7e4b6 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5 #13 0x00007ffff3ed8714 in () at /usr/lib/libQt5Core.so.5 #14 0x00007fffe5893e38 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0 #15 0x00007fffe5894081 in () at /usr/lib/libglib-2.0.so.0 #16 0x00007fffe589410e in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #17 0x00007ffff3ed7d01 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #18 0x00007ffff3e79e9b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #19 0x00007ffff63f19d9 in () at /usr/lib/libdigikamcore.so.5.8.0 #20 0x00007ffff3c8bb02 in () at /usr/lib/libQt5Core.so.5 #21 0x00007ffff3c8eb2d in () at /usr/lib/libQt5Core.so.5 #22 0x00007fffecf4d08c in start_thread () at /usr/lib/libpthread.so.0 #23 0x00007ffff2f7ae7f in clone () at /usr/lib/libc.so.6
Can you reproduce the crash using the Linux AppImage 5.9.0 instead your system package ? https://files.kde.org/digikam/ Gilles Caulier
I've downloaded 5.8 appimage and it already seems that I cannot reproduce the same problem. :/ It crashed once, but I was not able to get the BT. Then I've restarted it and from then on it worked fine.
So i suspect that OpenCV from you computer is compiled with all options enabled, and especially the famous Intel thread support. OpenCV is a big puzzle. For the digiKam AppImage bundle i disable all and let's only the core of library. After all we use only a small part of the library here. AppImage bundle use also openCV 3.4. About others crash, where these happen ? What's the trace on the console ? What's the GDB trace using "debug" CLI option from the bundle ? Gilles Caulier
Unfortunately, when it crashed I was not able to get the BT. And it seems that it was a transient crash, since after a restart it worked fine. I think that in order to reproduce this crash I would need to clear my faces DB, which I would not want to do right now. As this seems to be dependent on an external dependency, which seems to be configured correctly in a release image, I'll mark the bug as resolved.
(In reply to Žygimantas Bruzgys from comment #4) > Unfortunately, when it crashed I was not able to get the BT. And it seems > that it was a transient crash, since after a restart it worked fine. I think > that in order to reproduce this crash I would need to clear my faces DB, > which I would not want to do right now. > > As this seems to be dependent on an external dependency, which seems to be > configured correctly in a release image, I'll mark the bug as resolved. Hey Žygimantas, if you have a SQLite DB, you can just copy your current faces DB file to some safe place so you have a backup. Then you can delete the original face DB file and digiKam will automatically generate the empty faces DB. Then you could probably get a stack trace.
In case any other packager stumbles upon this, it's fixed by 6ea9e4289a88c167526d7cb6fdadadbbfc83e0b8