Bug 500961 - Digikam Crash when face detection is triggered
Summary: Digikam Crash when face detection is triggered
Status: RESOLVED NOT A BUG
Alias: None
Product: digikam
Classification: Applications
Component: Faces-Detection (show other bugs)
Version: 8.6.0
Platform: Appimage Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-03-02 14:34 UTC by Petr Schonmann
Modified: 2025-03-03 06:24 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Petr Schonmann 2025-03-02 14:34:54 UTC
SUMMARY

Digikam crash when click on face detection

STEPS TO REPRODUCE

#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140732029470272) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=140732029470272) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=140732029470272, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007ffff3642476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007ffff36287f3 in __GI_abort () at ./stdlib/abort.c:79
#5  0x00007ffff3ab042a in __gnu_cxx::__verbose_terminate_handler() () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007ffff3aae20c in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007ffff3aad1e9 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007ffff3aad959 in __gxx_personality_v0 () from /lib/x86_64-linux-gnu/libstdc++.so.6
#9  0x00007ffff589e884 in ?? () from /lib/x86_64-linux-gnu/libgcc_s.so.1
#10 0x00007ffff589f2dd in _Unwind_Resume () from /lib/x86_64-linux-gnu/libgcc_s.so.1
#11 0x00007fffe6dae834 in ?? () from /tmp/.mount_digiKaJjIqsf/usr/lib/libopencv_core.so.411
#12 0x00007fffe6e127c6 in cv::UMat::release() () from /tmp/.mount_digiKaJjIqsf/usr/lib/libopencv_core.so.411
#13 0x00007fffe6e12911 in cv::UMat::~UMat() () from /tmp/.mount_digiKaJjIqsf/usr/lib/libopencv_core.so.411
#14 0x00007fffe71f1a2b in cv::resize(cv::_InputArray const&, cv::_OutputArray const&, cv::Size_<int>, double, double, int) () from /tmp/.mount_digiKaJjIqsf/usr/lib/libopencv_imgproc.so.411
#15 0x00007ffff7b950cb in Digikam::FacePipelineDetectRecognize::extractor (this=0x7fffcc011fd0) at ././/include/opencv4/opencv2/core/mat.inl.hpp:92
#16 0x00007ffff6367396 in std::__invoke_impl<bool, bool (Digikam::MLPipelineFoundation::*&)(), Digikam::MLPipelineFoundation*&> (__f=<synthetic pointer>: <optimized out>, __t=<synthetic pointer>: <optimized out>, __f=<synthetic pointer>: <optimized out>, __t=<synthetic pointer>: <optimized out>)
    at ././/include/c++/11/bits/invoke.h:74
#17 std::__invoke<bool (Digikam::MLPipelineFoundation::*&)(), Digikam::MLPipelineFoundation*&> (__fn=<synthetic pointer>: <optimized out>) at ././/include/c++/11/bits/invoke.h:96
#18 std::invoke<bool (Digikam::MLPipelineFoundation::*&)(), Digikam::MLPipelineFoundation*&> (__fn=<synthetic pointer>: <optimized out>) at ././/include/c++/11/functional:97
#19 QtConcurrent::StoredFunctionCall<bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*>::runFunctor()::{lambda(bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*)#1}::operator()(bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*) const (
    args#0=<optimized out>, function=<optimized out>, __closure=<synthetic pointer>) at ././/include/QtConcurrent/qtconcurrentstoredfunctioncall.h:116
#20 std::__invoke_impl<bool, QtConcurrent::StoredFunctionCall<bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*>::runFunctor()::{lambda(bool (Digikam::MLPipelineFoundation::* const&)(), Digikam::MLPipelineFoundation*)#1}, bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*>(std::__invoke_other, QtConcurrent::StoredFunctionCall<bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*>::runFunctor()::{lambda(bool (Digikam::MLPipelineFoundation::* const&)(), Digikam::MLPipelineFoundation*)#1}, bool (Digikam::MLPipelineFoundation::*&&)(), Digikam::MLPipelineFoundation*&&) (__f=<synthetic pointer>...) at ././/include/c++/11/bits/invoke.h:61
#21 std::__invoke<QtConcurrent::StoredFunctionCall<bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*>::runFunctor()::{lambda(bool (Digikam::MLPipelineFoundation::* const&)(), Digikam::MLPipelineFoundation*)#1}, bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*>(QtConcurrent::StoredFunctionCall<bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*>::runFunctor()::{lambda(bool (Digikam::MLPipelineFoundation::* const&)(), Digikam::MLPipelineFoundation*)#1}, bool (Digikam::MLPipelineFoundation::*&&)(), Digikam::MLPipelineFoundation*&&) (__fn=<synthetic pointer>...)
    at ././/include/c++/11/bits/invoke.h:96
#22 std::__apply_impl<QtConcurrent::StoredFunctionCall<bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*>::runFunctor()::{lambda(bool (Digikam::MLPipelineFoundation::* const&)(), Digikam::MLPipelineFoundation*)#1}, std::tuple<bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*>, 0ul, 1ul>(QtConcurrent::StoredFunctionCall<bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*>::runFunctor()::{lambda(bool (Digikam::MLPipelineFoundation::* const&)(), Digikam::MLPipelineFoundation*)#1}, std::tuple<bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*>&&, std::integer_sequence<unsigned long, 0ul, 1ul>) (__t=..., __f=<synthetic pointer>...) at ././/include/c++/11/tuple:1854
#23 std::apply<QtConcurrent::StoredFunctionCall<bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*>::runFunctor()::{lambda(bool (Digikam::MLPipelineFoundation::* const&)(), Digikam::MLPipelineFoundation*)#1}, std::tuple<bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*> >(QtConcurrent::StoredFunctionCall<bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*>::runFunctor()::{lambda(bool (Digikam::MLPipelineFoundation::* const&)(), Digikam::MLPipelineFoundation*)#1}, std::tuple<bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*>&&) (
    __t=..., __f=<synthetic pointer>...) at ././/include/c++/11/tuple:1865
#24 QtConcurrent::StoredFunctionCall<bool (Digikam::MLPipelineFoundation::*)(), Digikam::MLPipelineFoundation*>::runFunctor (this=0x55555a644810) at ././/include/QtConcurrent/qtconcurrentstoredfunctioncall.h:122
#25 QtConcurrent::RunFunctionTaskBase<bool>::run (this=0x55555a644810) at ././/include/QtConcurrent/qtconcurrentrunbase.h:83
#26 0x00007ffff412a12b in ?? () from /tmp/.mount_digiKaJjIqsf/usr/lib/libQt6Core.so.6
#27 0x00007ffff41211f9 in ?? () from /tmp/.mount_digiKaJjIqsf/usr/lib/libQt6Core.so.6
#28 0x00007ffff3694ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#29 0x00007ffff3726850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81


OBSERVED RESULT
App is killed

EXPECTED RESULT
Just works

ADDITIONAL INFORMATION
Freshly installed linux mint 21.3 - digikamrc file copied from old one
Comment 1 Michael Miller 2025-03-02 19:05:12 UTC
Hi Petr,
I'm working on the problem now.  I'll let you know when there is a new build of digiKam for you to test.

Cheers,
Mike
Comment 2 Michael Miller 2025-03-02 21:18:41 UTC
Hi Petr,
Can you please create a debug log and attach it here?

Open a terminal and set the QT_LOGGING_RULES environment variable to enable debug traces for digiKam:

export QT_LOGGING_RULES="digikam*=true"

To save the debug output to a file, redirect the output when launching digiKam:

digikam > digikam_debug.log 2>&1

This will create a file named digikam_debug.log in your current directory containing all the debug information.

With the debug log running, please do another face scan.

Cheers,
Mike
Comment 3 Petr Schonmann 2025-03-02 21:26:30 UTC
It was something opencl related
ive installed 
sudo amdgpu-install --usecase=opencl,graphics,multimedia --no-dkms
sudo apt remove --purge mesa-opencl-icd
and problem is gone

The issue was when i run clinfo, ive got
fatal error: cannot open file '/usr/lib/clc/gfx1103-amdgcn-mesa-mesa3d.bc': Adresář nebo soubor neexistuje
Comment 4 Michael Miller 2025-03-02 21:27:54 UTC
(In reply to Petr Schonmann from comment #3)
> It was something opencl related
> ive installed 
> sudo amdgpu-install --usecase=opencl,graphics,multimedia --no-dkms
> sudo apt remove --purge mesa-opencl-icd
> and problem is gone
> 
> The issue was when i run clinfo, ive got
> fatal error: cannot open file '/usr/lib/clc/gfx1103-amdgcn-mesa-mesa3d.bc':
> Adresář nebo soubor neexistuje

Hi Petr,
I had a feeling it was opencl.  I'm happy you figured it out.  May I close the issue now?

Cheers,
Mike
Comment 5 Petr Schonmann 2025-03-02 21:28:46 UTC
Sure, close it.