Bug 385313 - Crash on attempting to create fingerprints
Summary: Crash on attempting to create fingerprints
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Database-Similarity (show other bugs)
Version: 5.4.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2017-10-02 23:42 UTC by Con Kolivas
Modified: 2020-07-09 20:34 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 7.0.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Con Kolivas 2017-10-02 23:42:12 UTC
Application: digikam (5.4.0)

Qt Version: 5.7.1
Frameworks Version: 5.31.0
Operating System: Linux 4.12.14-ck2+ x86_64
Distribution: Ubuntu 17.04

-- Information about the crash:
- What I was doing when the application crashed:

I have a large catalogue of pictures on an NFS shared directory (10,000) and I try to perform maintenance->find duplicates or create fingerprints it crashed a few times in a row.

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
[Current thread is 1 (Thread 0x7f205dfc8b40 (LWP 32190))]

Thread 16 (Thread 0x7f1f6affd700 (LWP 32314)):
[KCrash Handler]
#6  0x00007f20596b0494 in __memmove_sse2_unaligned_erms () at ../sysdeps/x86_64/multiarch/../multiarch/memmove-vec-unaligned-erms.S:242
#7  0x00007f2055b1b0fa in  () at /usr/lib/x86_64-linux-gnu/libpng16.so.16
#8  0x00007f2055b0e8e5 in png_read_row () at /usr/lib/x86_64-linux-gnu/libpng16.so.16
#9  0x00007f2055b102e9 in png_read_rows () at /usr/lib/x86_64-linux-gnu/libpng16.so.16
#10 0x00007f205c79e48a in Digikam::PNGLoader::load(QString const&, Digikam::DImgLoaderObserver*) () at /usr/lib/digikam/libdigikamcore.so.5.4.0
#11 0x00007f205c8fccb1 in Digikam::DImg::load(QString const&, int, Digikam::DImgLoaderObserver*, Digikam::DRawDecoding const&) () at /usr/lib/digikam/libdigikamcore.so.5.4.0
#12 0x00007f205c9af4a2 in  () at /usr/lib/digikam/libdigikamcore.so.5.4.0
#13 0x00007f205c9ad8ec in Digikam::PreviewLoadThread::loadSynchronously(Digikam::LoadingDescription const&) () at /usr/lib/digikam/libdigikamcore.so.5.4.0
#14 0x00007f205c9adb80 in Digikam::PreviewLoadThread::loadFastSynchronously(QString const&, int, Digikam::IccProfile const&) () at /usr/lib/digikam/libdigikamcore.so.5.4.0
#15 0x00007f205d7e3235 in  () at /usr/lib/digikam/libdigikamgui.so.5.4.0
#16 0x00007f205a400fdf in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007f205a404c38 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007f20562046da in start_thread (arg=0x7f1f6affd700) at pthread_create.c:456
#19 0x00007f2059727d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 15 (Thread 0x7f1f6bfff700 (LWP 32313)):
#0  0x00007f205620a510 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f205a405aeb in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f205c9d61e4 in Digikam::ActionThreadBase::run() () at /usr/lib/digikam/libdigikamcore.so.5.4.0
#3  0x00007f205a404c38 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f20562046da in start_thread (arg=0x7f1f6bfff700) at pthread_create.c:456
#5  0x00007f2059727d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 14 (Thread 0x7f1fc97fa700 (LWP 32205)):
#0  0x00007f205620a510 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f204dbac8d3 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2  0x00007f204ded4641 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3  0x00007f20562046da in start_thread (arg=0x7f1fc97fa700) at pthread_create.c:456
#4  0x00007f2059727d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 13 (Thread 0x7f1fc9ffb700 (LWP 32204)):
#0  0x00007f205620a510 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f204dbac8d3 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2  0x00007f204ded4641 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3  0x00007f20562046da in start_thread (arg=0x7f1fc9ffb700) at pthread_create.c:456
#4  0x00007f2059727d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 12 (Thread 0x7f1fca7fc700 (LWP 32203)):
#0  0x00007f205620a510 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f204dbac8d3 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2  0x00007f204ded4641 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3  0x00007f20562046da in start_thread (arg=0x7f1fca7fc700) at pthread_create.c:456
#4  0x00007f2059727d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 11 (Thread 0x7f1fcaffd700 (LWP 32202)):
#0  0x00007f205620a510 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f204dbac8d3 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2  0x00007f204ded4641 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3  0x00007f20562046da in start_thread (arg=0x7f1fcaffd700) at pthread_create.c:456
#4  0x00007f2059727d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 10 (Thread 0x7f1fcb7fe700 (LWP 32201)):
#0  0x00007f205620a510 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f204dbac8d3 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2  0x00007f204ded4641 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3  0x00007f20562046da in start_thread (arg=0x7f1fcb7fe700) at pthread_create.c:456
#4  0x00007f2059727d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 9 (Thread 0x7f1fcbfff700 (LWP 32200)):
#0  0x00007f205620a510 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f204dbac8d3 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2  0x00007f204ded4641 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3  0x00007f20562046da in start_thread (arg=0x7f1fcbfff700) at pthread_create.c:456
#4  0x00007f2059727d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 8 (Thread 0x7f1fd0f03700 (LWP 32199)):
#0  0x00007f205620a510 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f204dbab7b1 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2  0x00007f204ded4641 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3  0x00007f20562046da in start_thread (arg=0x7f1fd0f03700) at pthread_create.c:456
#4  0x00007f2059727d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 7 (Thread 0x7f1fd1942700 (LWP 32198)):
#0  0x00007f20597178ad in read () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f204fea4b30 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f204fe60042 in g_main_context_check () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f204fe60514 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f204fe6068c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f205a6280bb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f205a5d1bea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f205a3fff83 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f205a404c38 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f20562046da in start_thread (arg=0x7f1fd1942700) at pthread_create.c:456
#10 0x00007f2059727d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 6 (Thread 0x7f2012145700 (LWP 32197)):
#0  0x00007f205620a510 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f204dea394b in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2  0x00007f204dea3989 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3  0x00007f20562046da in start_thread (arg=0x7f2012145700) at pthread_create.c:456
#4  0x00007f2059727d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 5 (Thread 0x7f2028c56700 (LWP 32196)):
#0  0x00007f205620a510 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f205a405aeb in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f205c9d74b2 in  () at /usr/lib/digikam/libdigikamcore.so.5.4.0
#3  0x00007f205a404c38 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f20562046da in start_thread (arg=0x7f2028c56700) at pthread_create.c:456
#5  0x00007f2059727d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 4 (Thread 0x7f2029457700 (LWP 32194)):
#0  0x00007f205620a510 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f205a405aeb in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f205d618c5a in Digikam::ScanController::run() () at /usr/lib/digikam/libdigikamgui.so.5.4.0
#3  0x00007f205a404c38 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f20562046da in start_thread (arg=0x7f2029457700) at pthread_create.c:456
#5  0x00007f2059727d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 3 (Thread 0x7f202a193700 (LWP 32193)):
#0  0x00007f20597178ad in read () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f204fea4b30 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f204fe60042 in g_main_context_check () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f204fe60514 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f204fe6068c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f205a6280bb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f205a5d1bea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f205a3fff83 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f20564335d5 in  () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#9  0x00007f205a404c38 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f20562046da in start_thread (arg=0x7f202a193700) at pthread_create.c:456
#11 0x00007f2059727d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 2 (Thread 0x7f202e1ce700 (LWP 32191)):
#0  0x00007f2059728d20 in __libc_recvmsg (fd=3, msg=0x7f202e1cb9a0, flags=0) at ../sysdeps/unix/sysv/linux/recvmsg.c:28
#1  0x00007f205e0b6b2f in udev_monitor_receive_device () at /lib/x86_64-linux-gnu/libudev.so.1
#2  0x00007f20392e17bb in  () at /lib/x86_64-linux-gnu/libusb-1.0.so.0
#3  0x00007f20562046da in start_thread (arg=0x7f202e1ce700) at pthread_create.c:456
#4  0x00007f2059727d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 1 (Thread 0x7f205dfc8b40 (LWP 32190)):
#0  0x00007f205620a510 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f205a405aeb in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f205a400732 in QThreadPoolPrivate::waitForDone(int) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f205a400b31 in QThreadPool::waitForDone(int) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f205c9d58a2 in Digikam::ActionThreadBase::~ActionThreadBase() () at /usr/lib/digikam/libdigikamcore.so.5.4.0
#5  0x00007f205a050dd9 in Digikam::DatesDBJobsThread::~DatesDBJobsThread() () at /usr/lib/digikam/libdigikamdatabase.so.5.4.0
#6  0x00007f205a5fdfb1 in QObjectPrivate::deleteChildren() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f205a60727f in QObject::~QObject() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f205a05b497 in  () at /usr/lib/digikam/libdigikamdatabase.so.5.4.0
#9  0x00007f2059659270 in __run_exit_handlers (status=1, listp=0x7f20599e05d8 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:83
#10 0x00007f20596592ca in __GI_exit (status=<optimized out>) at exit.c:105
#11 0x00007f202d3d7673 in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#12 0x00007f205a600639 in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007f205b2aa35c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007f205b2b1b21 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007f205a5d3c00 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007f205a5d639d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007f205a627c93 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007f204fe60377 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007f204fe605e0 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007f204fe6068c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007f205a62809f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007f205a5d1bea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007f205a5da33c in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x0000558bee92ed11 in  ()
#25 0x00007f205963f3f1 in __libc_start_main (main=0x558bee92d8e0, argc=3, argv=0x7ffeb41296f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffeb41296e8) at ../csu/libc-start.c:291
#26 0x0000558bee92f61a in _start ()

Reported using DrKonqi
Comment 1 Con Kolivas 2017-10-03 00:13:15 UTC
I'm getting this crash on every single startup of digikam now rendering it completely unusable.
Comment 2 caulier.gilles 2017-10-03 01:50:29 UTC
Carsh appear in libpng read function. This must never appear...

Please use digiKam AppImage Linux bundle 5.7.0 available in download section :

https://www.digikam.org/download/

Note: it's possible that database is corrupted now. So i startup loading data is problematic. So, i recommend to backup the database sqlite files and regenerate it with a new scan from scratch and replay the fingerprints processing again to see if problem still exist with AppImage.

Gilles Caulier
Comment 3 Con Kolivas 2017-10-03 03:16:55 UTC
I have to break distro packages again for yet another app? Sigh. I tried deleting the database and starting from scratch, it still failed. I'm going to hold off till my next distribution update and simply not use it till then.
Comment 4 Maik Qualmann 2017-10-03 13:09:14 UTC
Can you determine the problematic PNG image with the output from the console and make available?

Maik
Comment 5 caulier.gilles 2018-08-17 21:27:40 UTC
Can you reproduce the dysfunction using digiKam 6.0.0 pre-release bundle available here :

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

Gilles Caulier
Comment 6 caulier.gilles 2018-12-31 11:50:46 UTC
Can you reproduce the dysfunction using the last digiKam 6.0.0-beta3 just
released ?

https://www.digikam.org/news/2018-12-30-6.0.0-beta3_release_announcement/
Comment 7 caulier.gilles 2019-03-07 05:13:57 UTC
Good news,

After 2 weeks of works, the pre-release 6.1.0 bundles are now reconstructed from scratch with:

- All OpenCV options for CUDA, OPenMP, and OPenCL disabled to prevent crashes
in face management.
- A large upgrade of Qt5 from 5.9.7 to 5.11.3.
- An upgrade to KF5 5.55.
- An upgrade to Ffmpeg 3.3.9
- The fontconfig/freetype integration in the bundle to reduce system
dependencies

Files can be downloaded here :

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

Please test and report.

Gilles Caulier
Comment 8 caulier.gilles 2020-07-08 03:11:06 UTC
Maik, Marcel,

I think this one is fixed with next 7.0.0. Can you confirm ?

At least, i cannot reproduce here with my computer...

Gilles
Comment 9 Marcel 2020-07-09 05:54:09 UTC
I also cannot reproduce this error on my computer.
Comment 10 Maik Qualmann 2020-07-09 20:34:14 UTC
I also can't reproduce a crash. I close the bug. If necessary, reopen the bug.

Maik