Application: digikam (8.1.0) Qt Version: 5.15.11 Frameworks Version: 5.111.0 Operating System: Linux 6.2.0-35-generic x86_64 Windowing System: X11 Distribution: KDE neon 5.27 DrKonqi: 5.27.8 [KCrashBackend] -- Information about the crash: When using a new installation of digikam on a folder with old photos and db, digikam crashes when initially analyzing images. The crash can be reproduced every time. -- Backtrace: Application: digiKam (digikam), signal: Aborted [KCrash Handler] #4 __pthread_kill_implementation (no_tid=0, signo=6, threadid=139726451553856) at ./nptl/pthread_kill.c:44 #5 __pthread_kill_internal (signo=6, threadid=139726451553856) at ./nptl/pthread_kill.c:78 #6 __GI___pthread_kill (threadid=139726451553856, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #7 0x00007f14bac42476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #8 0x00007f14bac287f3 in __GI_abort () at ./stdlib/abort.c:79 #9 0x00007f14bb491bb3 in qt_message_fatal (message=<synthetic pointer>..., context=...) at global/qlogging.cpp:1919 #10 QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7f1499818b28, msg=msg@entry=0x7f14bb7a3000 "ASSERT: \"%s\" in file %s, line %d") at global/qlogging.cpp:898 #11 0x00007f14bb490ff0 in qt_assert(char const*, char const*, int) (assertion=assertion@entry=0x7f14bdbbad98 "d", file=file@entry=0x7f14bdbc0078 "./core/libs/database/similaritydb/similaritydbaccess.cpp", line=line@entry=103) at global/qglobal.cpp:3392 #12 0x00007f14bda6b10e in Digikam::SimilarityDbAccess::SimilarityDbAccess() (this=this@entry=0x7f1499818b80) at ./core/libs/database/similaritydb/similaritydbaccess.cpp:103 #13 0x00007f14bdb45d27 in Digikam::ItemScanner::commitCopyImageAttributes() (this=0x7f1499818c18) at ./core/libs/database/item/scanner/itemscanner_database.cpp:165 #14 0x00007f14bda7a3b7 in Digikam::CollectionScanner::Private::finishScanner(Digikam::ItemScanner&) (this=0x7f13fc15ef90, scanner=...) at ./core/libs/database/collection/collectionscanner_p.cpp:272 #15 0x00007f14bda7e5f3 in Digikam::CollectionScanner::scanNewFile(QFileInfo const&, int) (this=0x7f14998194a0, info=<optimized out>, albumId=386) at ./core/libs/database/collection/collectionscanner_scan.cpp:1063 #16 0x00007f14bda802cc in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&, bool) (this=0x7f14998194a0, location=..., album=..., checkDate=false) at ./core/libs/database/collection/collectionscanner_scan.cpp:792 #17 0x00007f14bda7ffd5 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&, bool) (this=0x7f14998194a0, location=..., album=..., checkDate=false) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h:147 #18 0x00007f14bda7ffd5 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&, bool) (this=0x7f14998194a0, location=..., album=..., checkDate=false) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h:147 #19 0x00007f14bda80b8d in Digikam::CollectionScanner::scanAlbumRoot(Digikam::CollectionLocation const&) (this=0x7f14998194a0, location=...) at ./core/libs/database/collection/collectionscanner_scan.cpp:467 #20 0x00007f14bda81bab in Digikam::CollectionScanner::completeScan() (this=this@entry=0x7f14998194a0) at ./core/libs/database/collection/collectionscanner_scan.cpp:87 #21 0x00007f14bdad555d in Digikam::CoreDbSchemaUpdater::updateV4toV7() (this=0x7f14998198f0) at ./core/libs/database/coredb/coredbschemaupdater.cpp:1243 #22 0x00007f14bdad6d25 in Digikam::CoreDbSchemaUpdater::makeUpdates() (this=0x7f14998198f0) at ./core/libs/database/coredb/coredbschemaupdater.cpp:426 #23 0x00007f14bdad7838 in Digikam::CoreDbSchemaUpdater::startUpdates() (this=0x7f14998198f0) at ./core/libs/database/coredb/coredbschemaupdater.cpp:325 #24 0x00007f14bdad7aa7 in Digikam::CoreDbSchemaUpdater::update() (this=this@entry=0x7f14998198f0) at ./core/libs/database/coredb/coredbschemaupdater.cpp:130 #25 0x00007f14bdada6c0 in Digikam::CoreDbBackend::initSchema(Digikam::CoreDbSchemaUpdater*) (this=<optimized out>, updater=updater@entry=0x7f14998198f0) at ./core/libs/database/coredb/coredbbackend.cpp:55 #26 0x00007f14bdae4851 in Digikam::CoreDbAccess::checkReadyForUse(Digikam::InitializationObserver*) (observer=observer@entry=0x7f14be659bd0 <Digikam::(anonymous namespace)::Q_QGS_creator::innerFunction()::holder+16>) at ./core/libs/database/coredb/coredbaccess.cpp:331 #27 0x00007f14be0eafd3 in Digikam::ScanController::run() (this=0x7f14be659bc0 <Digikam::(anonymous namespace)::Q_QGS_creator::innerFunction()::holder>) at ./core/libs/database/utils/scan/scancontroller.cpp:217 #28 0x00007f14bb4cecf3 in operator() (__closure=<optimized out>, __closure=<optimized out>) at thread/qthread_unix.cpp:350 #29 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>, t=<optimized out>) at thread/qthread_unix.cpp:287 #30 QThreadPrivate::start(void*) (arg=0x7f14be659bc0 <Digikam::(anonymous namespace)::Q_QGS_creator::innerFunction()::holder>) at thread/qthread_unix.cpp:310 #31 0x00007f14bac94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #32 0x00007f14bad26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 12 (Thread 0x7f14037fe640 (LWP 86845) "digikam"): #1 __pselect (nfds=nfds@entry=5, readfds=readfds@entry=0x7f14037e4980, writefds=writefds@entry=0x0, exceptfds=exceptfds@entry=0x0, timeout=<optimized out>, timeout@entry=0x7f14037e4970, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/pselect.c:56 #2 0x00007f14a362c03d in usbmuxd_listen_inotify () at /build/libusbmuxd-922SNR/libusbmuxd-2.0.2/src/libusbmuxd.c:923 #3 0x00007f14a362cd88 in usbmuxd_listen () at /build/libusbmuxd-922SNR/libusbmuxd-2.0.2/src/libusbmuxd.c:979 #4 device_monitor (data=<optimized out>) at /build/libusbmuxd-922SNR/libusbmuxd-2.0.2/src/libusbmuxd.c:1107 #5 0x00007f14bac94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #6 0x00007f14bad26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 11 (Thread 0x7f143a7fc640 (LWP 86808) "digikam:gdrv0"): #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55b990c5d948) at ./nptl/futex-internal.c:87 #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b990c5d948, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139 #3 0x00007f14bac93a41 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b990c5d8f8, cond=0x55b990c5d920) at ./nptl/pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55b990c5d920, mutex=0x55b990c5d8f8) at ./nptl/pthread_cond_wait.c:627 #5 0x00007f145610f89d in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007f14560bfb0b in util_queue_thread_func (input=input@entry=0x55b990c2b400) at ../src/util/u_queue.c:290 #7 0x00007f145610f7cb in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007f14bac94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #9 0x00007f14bad26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 10 (Thread 0x7f143affd640 (LWP 86807) "digika:traceq0"): #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55b990c467a0) at ./nptl/futex-internal.c:87 #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b990c467a0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139 #3 0x00007f14bac93a41 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b990c46750, cond=0x55b990c46778) at ./nptl/pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55b990c46778, mutex=0x55b990c46750) at ./nptl/pthread_cond_wait.c:627 #5 0x00007f145610f89d in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007f14560bfb0b in util_queue_thread_func (input=input@entry=0x55b990c58f00) at ../src/util/u_queue.c:290 #7 0x00007f145610f7cb in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007f14bac94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #9 0x00007f14bad26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 9 (Thread 0x7f143b7fe640 (LWP 86804) "digikam:sh5"): #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55b990d0e568) at ./nptl/futex-internal.c:87 #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b990d0e568, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139 #3 0x00007f14bac93a41 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b990d0e518, cond=0x55b990d0e540) at ./nptl/pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55b990d0e540, mutex=0x55b990d0e518) at ./nptl/pthread_cond_wait.c:627 #5 0x00007f145610f89d in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007f14560bfb0b in util_queue_thread_func (input=input@entry=0x55b990d0fa90) at ../src/util/u_queue.c:290 #7 0x00007f145610f7cb in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007f14bac94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #9 0x00007f14bad26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 8 (Thread 0x7f1433fff640 (LWP 86803) "digikam:sh4"): #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55b990d0e568) at ./nptl/futex-internal.c:87 #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b990d0e568, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139 #3 0x00007f14bac93a41 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b990d0e518, cond=0x55b990d0e540) at ./nptl/pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55b990d0e540, mutex=0x55b990d0e518) at ./nptl/pthread_cond_wait.c:627 #5 0x00007f145610f89d in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007f14560bfb0b in util_queue_thread_func (input=input@entry=0x55b990d0f090) at ../src/util/u_queue.c:290 #7 0x00007f145610f7cb in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007f14bac94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #9 0x00007f14bad26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 7 (Thread 0x7f143bfff640 (LWP 86802) "digikam:sh3"): #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55b990d0e568) at ./nptl/futex-internal.c:87 #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b990d0e568, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139 #3 0x00007f14bac93a41 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b990d0e518, cond=0x55b990d0e540) at ./nptl/pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55b990d0e540, mutex=0x55b990d0e518) at ./nptl/pthread_cond_wait.c:627 #5 0x00007f145610f89d in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007f14560bfb0b in util_queue_thread_func (input=input@entry=0x55b990d0f340) at ../src/util/u_queue.c:290 #7 0x00007f145610f7cb in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007f14bac94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #9 0x00007f14bad26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 6 (Thread 0x7f1448fff640 (LWP 86801) "digikam:sh2"): #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55b990d0e568) at ./nptl/futex-internal.c:87 #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b990d0e568, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139 #3 0x00007f14bac93a41 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b990d0e518, cond=0x55b990d0e540) at ./nptl/pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55b990d0e540, mutex=0x55b990d0e518) at ./nptl/pthread_cond_wait.c:627 #5 0x00007f145610f89d in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007f14560bfb0b in util_queue_thread_func (input=input@entry=0x55b990d0f490) at ../src/util/u_queue.c:290 #7 0x00007f145610f7cb in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007f14bac94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #9 0x00007f14bad26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 5 (Thread 0x7f1454ffd640 (LWP 86800) "digikam:sh1"): #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55b990d0e568) at ./nptl/futex-internal.c:87 #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b990d0e568, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139 #3 0x00007f14bac93a41 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b990d0e518, cond=0x55b990d0e540) at ./nptl/pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55b990d0e540, mutex=0x55b990d0e518) at ./nptl/pthread_cond_wait.c:627 #5 0x00007f145610f89d in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007f14560bfb0b in util_queue_thread_func (input=input@entry=0x55b990d0f410) at ../src/util/u_queue.c:290 #7 0x00007f145610f7cb in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007f14bac94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #9 0x00007f14bad26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 4 (Thread 0x7f14557fe640 (LWP 86799) "digikam:sh0"): #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55b990d0e568) at ./nptl/futex-internal.c:87 #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b990d0e568, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139 #3 0x00007f14bac93a41 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b990d0e518, cond=0x55b990d0e540) at ./nptl/pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55b990d0e540, mutex=0x55b990d0e518) at ./nptl/pthread_cond_wait.c:627 #5 0x00007f145610f89d in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007f14560bfb0b in util_queue_thread_func (input=input@entry=0x55b990d0f3f0) at ../src/util/u_queue.c:290 #7 0x00007f145610f7cb in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007f14bac94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #9 0x00007f14bad26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 3 (Thread 0x7f1455fff640 (LWP 86798) "digikam:disk$0"): #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55b990ca8118) at ./nptl/futex-internal.c:87 #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b990ca8118, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139 #3 0x00007f14bac93a41 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b990ca80c8, cond=0x55b990ca80f0) at ./nptl/pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55b990ca80f0, mutex=0x55b990ca80c8) at ./nptl/pthread_cond_wait.c:627 #5 0x00007f145610f89d in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007f14560bfb0b in util_queue_thread_func (input=input@entry=0x55b990d0f200) at ../src/util/u_queue.c:290 #7 0x00007f145610f7cb in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007f14bac94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #9 0x00007f14bad26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 2 (Thread 0x7f145d628640 (LWP 86796) "QDBusConnection"): #1 0x00007f14ac9761f6 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f14ac91e3e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f14bb715dee in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f1458000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #4 0x00007f14bb6bb1ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f145d616a50, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #5 0x00007f14bb4cda82 in QThread::exec() (this=this@entry=0x7f14ba7fed80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #6 0x00007f14ba7860eb in QDBusConnectionManager::run() (this=0x7f14ba7fed80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ./src/dbus/qdbusconnection.cpp:179 #7 0x00007f14bb4cecf3 in operator() (__closure=<optimized out>, __closure=<optimized out>) at thread/qthread_unix.cpp:350 #8 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>, t=<optimized out>) at thread/qthread_unix.cpp:287 #9 QThreadPrivate::start(void*) (arg=0x7f14ba7fed80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:310 #10 0x00007f14bac94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #11 0x00007f14bad26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 1 (Thread 0x7f14998e2a80 (LWP 86788) "digikam"): #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55b99155c3d0) at ./nptl/futex-internal.c:87 #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b99155c3d0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139 #3 0x00007f14bac93a41 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b99155c380, cond=0x55b99155c3a8) at ./nptl/pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55b99155c3a8, mutex=0x55b99155c380) at ./nptl/pthread_cond_wait.c:627 #5 0x00007f14bb4d4d2b in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., deadline=..., this=0x55b99155c380) at thread/qwaitcondition_unix.cpp:146 #6 QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=this@entry=0x7f145000c778, mutex=mutex@entry=0x7f145000c758, deadline=...) at thread/qwaitcondition_unix.cpp:225 #7 0x00007f14bb4ce9e9 in QThread::wait(QDeadlineTimer) (this=this@entry=0x7f14be659bc0 <Digikam::(anonymous namespace)::Q_QGS_creator::innerFunction()::holder>, deadline=...) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:294 #8 0x00007f14be0efdd3 in Digikam::ScanController::shutDown() (this=this@entry=0x7f14be659bc0 <Digikam::(anonymous namespace)::Q_QGS_creator::innerFunction()::holder>) at ./core/libs/database/utils/scan/scancontroller_stop.cpp:123 #9 0x00007f14be0eac0a in Digikam::ScanController::~ScanController() (this=0x7f14be659bc0 <Digikam::(anonymous namespace)::Q_QGS_creator::innerFunction()::holder>, __in_chrg=<optimized out>) at ./core/libs/database/utils/scan/scancontroller.cpp:111 #10 0x00007f14be0eacfd in Digikam::ScanControllerCreator::~ScanControllerCreator() (this=<optimized out>, __in_chrg=<optimized out>) at ./core/libs/database/utils/scan/scancontroller_p.h:168 #11 Holder::~Holder() (this=<optimized out>, __in_chrg=<optimized out>) at ./core/libs/database/utils/scan/scancontroller.cpp:41 #12 0x00007f14bac45495 in __run_exit_handlers (status=1, listp=0x7f14bae19838 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at ./stdlib/exit.c:113 #13 0x00007f14bac45610 in __GI_exit (status=<optimized out>) at ./stdlib/exit.c:143 #14 0x00007f145d6c3dcd in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55b990aca440, flags=...) at ./src/plugins/platforms/xcb/qxcbconnection.cpp:1047 #15 0x00007f145d6f4f57 in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at ./src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:103 #16 0x00007f14ac920d3b in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #17 0x00007f14ac976258 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #18 0x00007f14ac91e3e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #19 0x00007f14bb715d78 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55b990c257c0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #20 0x00007f14bb6bb1ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55b990f855d0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #21 0x00007f14be0ec8e9 in Digikam::ScanController::databaseInitialization() (this=0x7f14be659bc0 <Digikam::(anonymous namespace)::Q_QGS_creator::innerFunction()::holder>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h:121 #22 0x00007f14be1a5c6b in Digikam::AlbumManager::setDatabase(Digikam::DbEngineParameters const&, bool, QString const&, bool) (this=0x7f14be659e50 <Digikam::(anonymous namespace)::Q_QGS_creator::innerFunction()::holder>, params=..., priority=<optimized out>, suggestedAlbumRoot=..., ignoreDisappearedLocations=ignoreDisappearedLocations@entry=false) at ./core/libs/album/manager/albummanager_database.cpp:195 #23 0x000055b98f11a74d in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./core/app/main/main.cpp:397 [Inferior 1 (process 86788) detached] Reported using DrKonqi
Can you reproduce the crash using the Linux AppImage bundle 8.2.0 pre-release available here : https://files.kde.org/digikam/
The crash is possible, the scanning process can be started before the similarity database has been initialized. In commitCopyImageAttributes() it crashes. I'll fix it. Maik
Git commit 7c7a6406839ed9c233d14bf935b642cb96af6425 by Maik Qualmann. Committed on 27/10/2023 at 22:23. Pushed by mqualmann into branch 'master'. fix race condition with uninitialized similarity database Related: bug 430858 FIXED-IN: 8.2.0 M +1 -1 NEWS M +5 -5 core/libs/album/manager/albummanager_database.cpp M +2 -2 core/libs/database/utils/scan/scancontroller.cpp M +9 -0 core/libs/database/utils/scan/scancontroller.h M +11 -0 core/libs/database/utils/scan/scancontroller_start.cpp https://invent.kde.org/graphics/digikam/-/commit/7c7a6406839ed9c233d14bf935b642cb96af6425
WOW!!! That was a quick fix. Thank you!!!