Application: digikam (8.3.0) Qt Version: 5.15.13 Frameworks Version: 5.115.0 Operating System: Linux 6.7.12-amd64 x86_64 Windowing System: X11 Distribution: Debian GNU/Linux trixie/sid DrKonqi: 5.27.11 [KCrashBackend] -- Information about the crash: I've been doing a lot of cleaning up of unconfirmed face tags, and Digikam is crashing frequently. I cannot find a pattern to the crashes. It happens when confirming a single face at a time and when doing multiple pictures with the same face. The crash can be reproduced sometimes. -- Backtrace: Application: digiKam (digikam), signal: Aborted [KCrash Handler] #4 0x00007f807a6a3b0c in ?? () from /lib/x86_64-linux-gnu/libc.so.6 #5 0x00007f807a6554e2 in raise () from /lib/x86_64-linux-gnu/libc.so.6 #6 0x00007f807a63e4ed in abort () from /lib/x86_64-linux-gnu/libc.so.6 #7 0x00007f807a63f395 in ?? () from /lib/x86_64-linux-gnu/libc.so.6 #8 0x00007f807a6ad455 in ?? () from /lib/x86_64-linux-gnu/libc.so.6 #9 0x00007f807a6b1a1c in malloc () from /lib/x86_64-linux-gnu/libc.so.6 #10 0x00007f807ace66c2 in QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #11 0x00007f807ad5f9b7 in QString::QString(int, Qt::Initialization) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #12 0x00007f807c15e563 in ?? () from /lib/x86_64-linux-gnu/libKF5Solid.so.5 #13 0x00007f807c15ea36 in ?? () from /lib/x86_64-linux-gnu/libKF5Solid.so.5 #14 0x00007f807c161188 in ?? () from /lib/x86_64-linux-gnu/libKF5Solid.so.5 #15 0x00007f807c157cdd in ?? () from /lib/x86_64-linux-gnu/libKF5Solid.so.5 #16 0x00007f807c158740 in ?? () from /lib/x86_64-linux-gnu/libKF5Solid.so.5 #17 0x00007f807af07c32 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #18 0x00007f807af07c32 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #19 0x00007f807af0b253 in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #20 0x00007f807af0ba95 in QSocketNotifier::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #21 0x00007f807bb62f82 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #22 0x00007f807aece0e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #23 0x00007f807af2a345 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #24 0x00007f8075109e3f in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #25 0x00007f807510bec7 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #26 0x00007f807510c4e0 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #27 0x00007f807af2979a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #28 0x00007f807aecca8b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #29 0x00007f807aed5244 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #30 0x000056147f0b30d4 in ?? () #31 0x00007f807a63fc8a in ?? () from /lib/x86_64-linux-gnu/libc.so.6 #32 0x00007f807a63fd45 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6 #33 0x000056147f0b3ce1 in ?? () [Inferior 1 (process 62322) detached] Reported using DrKonqi
Your backtrace contains practically nothing from digiKam. It could be that Solid is sending or receiving a drive event. What type of drive is your image collection (local, USB, network)? Maik
This collection is all on a local hard drive, although not the same one digikam is installed on. Digikam is installed through the debian package manager on the / drive. The photos reside on the /home partition, which is on a different physical disk.
Can you run digiKam in GDB to get a better backtrace? See how to create a backtrace here: https://www.digikam.org/contribute/ Maik
I apologize, I don't exactly know what you need here, I'm not a developer. These are the last lines from gdm after a crash: [New Thread 0x7fff5b4006c0 (LWP 225213)] [New Thread 0x7fff43e006c0 (LWP 225216)] [New Thread 0x7fff5be006c0 (LWP 225217)] [New Thread 0x7fff5aa006c0 (LWP 225218)] [New Thread 0x7fff416006c0 (LWP 225219)] [Thread 0x7fff5aa006c0 (LWP 225218) exited] [Thread 0x7fff43e006c0 (LWP 225216) exited] [Thread 0x7fff416006c0 (LWP 225219) exited] [Thread 0x7fff5be006c0 (LWP 225217) exited] malloc(): unaligned tcache chunk detected malloc(): unaligned tcache chunk detected Thread 1 "digikam" received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 44 ./nptl/pthread_kill.c: No such file or directory. And the backtrace: #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x00007ffff42a6b6f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #2 0x00007ffff42584e2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007ffff42414ed in __GI_abort () at ./stdlib/abort.c:79 #4 0x00007ffff4242395 in __libc_message (fmt=fmt@entry=0x7ffff43b655e "%s\n") at ../sysdeps/posix/libc_fatal.c:150 #5 0x00007ffff42b0455 in malloc_printerr (str=str@entry=0x7ffff43b99a8 "malloc(): unaligned tcache chunk detected") at ./malloc/malloc.c:5765 #6 0x00007ffff42b4a1c in tcache_get_n (ep=<optimized out>, tc_idx=<optimized out>) at ./malloc/malloc.c:3176 #7 tcache_get (tc_idx=<optimized out>) at ./malloc/malloc.c:3192 #8 __GI___libc_malloc (bytes=128) at ./malloc/malloc.c:3313 #9 0x00007ffff48e66c2 in QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #10 0x00007ffff495fee3 in QString::reallocData(unsigned int, bool) () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #11 0x00007ffff495ffdc in QString::resize(int) () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #12 0x00007ffff729485f in () at /usr/lib/digikam/libdigikamdatabase.so.8.3.0 #13 0x00007ffff7299fa7 in Digikam::CollectionManager::updateLocations() () at /usr/lib/digikam/libdigikamdatabase.so.8.3.0 #14 0x00007ffff4b07bd3 in () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #15 0x00007ffff55529a8 in Solid::StorageAccess::accessibilityChanged(bool, QString const&) () at /lib/x86_64-linux-gnu/libKF5Solid.so.5 #16 0x00007ffff4b07bd3 in () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #17 0x00007ffff55b43dd in () at /lib/x86_64-linux-gnu/libKF5Solid.so.5 #18 0x00007ffff4b07bd3 in () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #19 0x00007ffff55b0159 in () at /lib/x86_64-linux-gnu/libKF5Solid.so.5 #20 0x00007ffff4b07c32 in () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #21 0x00007ffff55af791 in () at /lib/x86_64-linux-gnu/libKF5Solid.so.5 #22 0x00007ffff4b07c32 in () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #23 0x00007ffff4b07c32 in () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #24 0x00007ffff4b0b253 in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #25 0x00007ffff4b0ba95 in QSocketNotifier::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #26 0x00007ffff5762f82 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #27 0x00007ffff4ace0e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #28 0x00007ffff4b2a345 in () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #29 0x00007fffeeb0de3f in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #30 0x00007fffeeb0fec7 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #31 0x00007fffeeb104e0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #32 0x00007ffff4b2979a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #33 0x00007ffff4acca8b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #34 0x00007ffff4ad5244 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #35 0x000055555555a0d4 in () #36 0x00007ffff4242c8a in __libc_start_call_main (main=main@entry=0x555555558f60, argc=argc@entry=1, argv=argv@entry=0x7fffffffdc78) at ../sysdeps/nptl/libc_start_call_main.h:58 #37 0x00007ffff4242d45 in __libc_start_main_impl (main=0x555555558f60, argc=1, argv=0x7fffffffdc78, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdc68) at ../csu/libc-start.c:360 #38 0x000055555555ace1 in ()
OK, interesting. Your drive is sending an "accessibility changed" signal (which is unusual and not normal). We'll ignore this for now. digiKam reacts to this by updating the collection. The collection update is probably called several times. Are there digiKam packages with debug symbols for installation in Debian? If so, please install these digiKam packages and create a new backtrace so that we can determine the location of the crash even more precisely. Thank you in advance. Maik
One more thing, so that we can see more debug output from digiKam in the terminal, please set this environment variable beforehand: export QT_LOGGING_RULES="digikam*=true" Maik
Git commit 4dcc2ade925b02a774dc5400259eed0dd13194f8 by Maik Qualmann. Committed on 09/06/2024 at 08:11. Pushed by mqualmann into branch 'master'. this QStringList must definitely be protected with a lock M +10 -2 core/libs/database/collection/collectionmanager_p.cpp https://invent.kde.org/graphics/digikam/-/commit/4dcc2ade925b02a774dc5400259eed0dd13194f8
(In reply to Maik Qualmann from comment #6) > One more thing, so that we can see more debug output from digiKam in the > terminal, please set this environment variable beforehand: > > export QT_LOGGING_RULES="digikam*=true" > > Maik I installed the digikam-dbgsym package, and set the environment variable you gave, then opened digikam and crashed it again. Drkonqi provided crash info of over 600 lines. See it at https://pastebin.com/ZS0XCdG4
This last backtrace is more related to removing an album from the model. We recently made a change for digiKam-8.4.0 that we think fixes this problem. We will see if the problem can still be reproduced with digiKam-8.4.0. The drive "accessibility changed" signal is definitely not normal. Possibly a bug in the Solid API related to Debian. Maik
Alternatively, you can also test our AppImage to see if the problem can be reproduced. https://files.kde.org/digikam/ Maik
Hi, It's reproducible with last 8.4.0 release ? https://download.kde.org/stable/digikam/8.4.0/ Best Gilles Caulier
Chris, Any feedback here ? Did you seen the previous comments? Best Gilles Caulier
(In reply to caulier.gilles from comment #12) > Chris, > > Any feedback here ? Did you seen the previous comments? > > Best > > Gilles Caulier My distribution was slow to update to 8.4.0, and I finished the work I was doing with face tags, so I'm not confirming them anymore. As such, I haven't seen the crash re-occur, but I'm not doing the same things that caused it before.
digiKam 8.5.0 is out with many improvements in face detection and recognition. Please update these entry accordingly with this version. Thanks in advance... https://www.digikam.org/news/2024-11-16-8.5.0_release_announcement/
Hi, digiKam 8.5.0. is out with many fixes and improvements. https://www.digikam.org/news/2024-11-16-8.5.0_release_announcement/ This report still valid with this version? Thanks in advance Gilles Caulier
Closing because the entire face pipeline has been rewritten since this issue was created. Cheers, Mike