Bug 339088

Summary: GIT master: crash when clicking through images in preview, with face recognition running in background
Product: [Applications] digikam Reporter: Matthias Andree <matthias.andree>
Component: Metadata-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 6.0.0
Sentry Crash Report:

Description Matthias Andree 2014-09-15 00:51:29 UTC
Application: digikam (4.4.0)
KDE Platform Version: 4.13.3
Qt Version: 4.8.6
Operating System: Linux 3.13.0-35-generic x86_64
Distribution: Ubuntu 14.04.1 LTS

-- Information about the crash:
- What I was doing when the application crashed:
I was clicking through individual images in the image bar on top, with large image preview, and I had previously started a face recognition run.
The crash occurred after I have just switched to a new image.

Note the crash handler is launched from Thread #7, trying to acquire an Exif preview image.

-- GIT VERSIONS:
$ ./gits rev-parse HEAD
On: extra/kipi-plugins:
  e10b532dc526cb4d9d85a89b2eb27cad73ecaf5f
On: extra/libkgeomap:
  9236be037d43c5b3683b6e196691d893054376a7
On: extra/libksane:
  b49db73ff168c3f4099a0375976a0a9fecd2b190
On: .:
  a0f5c8c0dbac4045bff6c1828e68282acff362c6
On: extra/libkdcraw:
  45dd49cef396fd63134efce15cc73b823a6b26fd
On: extra/libmediawiki:
  c0c916e436a2f405881fba3a7375af114c2b8999
On: core:
  dab4a123593bddadf00862260bb92f159118157a
On: extra/libkvkontakte:
  fdc54a6cb28a02d9b826defc584d69b971225a1b
On: extra/libkipi:
  49458c4c1abc409a75690db9d6484f89069ef7b0
On: doc/kipi-plugins:
  7c09f1949236894419efd62ae6ca8ad27f196253
On: extra/libkface:
  dd06888900c6ed226a9d277366716d386f51e1cd
On: doc/digikam:
  691abb3aa5dac59e3897936bb45c5924c3dc5990
On: extra/libkexiv2:
  de62cac2cbcf1c02db435dd8058e8fbe3245cd1c


-- 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 ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
[Current thread is 1 (Thread 0x7f8ef53b4ac0 (LWP 1534))]

Thread 29 (Thread 0x7f8eccd04700 (LWP 1535)):
#0  0x00007f8eedf6ac6d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f8ed297f248 in ?? () from /lib/x86_64-linux-gnu/libusb-1.0.so.0
#2  0x00007f8ee9f92182 in start_thread (arg=0x7f8eccd04700) at pthread_create.c:312
#3  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 28 (Thread 0x7f8ec8240700 (LWP 1536)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f8eeed59816 in wait (time=18446744073709551615, this=0x28be250) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x28be160, mutex=mutex@entry=0x28be158, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00000000005f941e in Digikam::ScanController::run (this=0x28bdea0) at /home/mandree/VCS-other/digikam.git/core/app/database/scancontroller.cpp:725
#4  0x00007f8eeed5932f in QThreadPrivate::start (arg=0x28bdea0) at thread/qthread_unix.cpp:349
#5  0x00007f8ee9f92182 in start_thread (arg=0x7f8ec8240700) at pthread_create.c:312
#6  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 27 (Thread 0x7f8ec7a3f700 (LWP 1537)):
#0  0x00007f8eedf6ac6d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f8ee5c51fe4 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f8eb8003280, timeout=-1, context=0x7f8eb80009a0) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:4028
#2  g_main_context_iterate (context=context@entry=0x7f8eb80009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3729
#3  0x00007f8ee5c520ec in g_main_context_iteration (context=0x7f8eb80009a0, may_block=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3795
#4  0x00007f8eeee887be in QEventDispatcherGlib::processEvents (this=0x7f8eb80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#5  0x00007f8eeee5a0af in QEventLoop::processEvents (this=this@entry=0x7f8ec7a3eae0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f8eeee5a3a5 in QEventLoop::exec (this=this@entry=0x7f8ec7a3eae0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f8eeed56c5f in QThread::exec (this=this@entry=0x28c26c0) at thread/qthread.cpp:537
#8  0x00007f8eeee3b823 in QInotifyFileSystemWatcherEngine::run (this=0x28c26c0) at io/qfilesystemwatcher_inotify.cpp:265
#9  0x00007f8eeed5932f in QThreadPrivate::start (arg=0x28c26c0) at thread/qthread_unix.cpp:349
#10 0x00007f8ee9f92182 in start_thread (arg=0x7f8ec7a3f700) at pthread_create.c:312
#11 0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 26 (Thread 0x7f8ec723e700 (LWP 1540)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f8eeed59816 in wait (time=18446744073709551615, this=0x2bc0c10) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x2744630, mutex=mutex@entry=0x2744628, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f8ef2a5851a in Digikam::ParkingThread::run (this=0x2744610) at /home/mandree/VCS-other/digikam.git/core/libs/threads/threadmanager.cpp:119
#4  0x00007f8eeed5932f in QThreadPrivate::start (arg=0x2744610) at thread/qthread_unix.cpp:349
#5  0x00007f8ee9f92182 in start_thread (arg=0x7f8ec723e700) at pthread_create.c:312
#6  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 25 (Thread 0x7f8ec57c9700 (LWP 1541)):
#0  0x00007f8ee9f94569 in __GI___pthread_mutex_lock (mutex=0x7f8eb0000a60) at ../nptl/pthread_mutex_lock.c:125
#1  0x00007f8ee5c93991 in g_mutex_lock (mutex=mutex@entry=0x7f8eb00009a0) at /build/buildd/glib2.0-2.40.0/./glib/gthread-posix.c:209
#2  0x00007f8ee5c51a6c in g_main_context_check (context=context@entry=0x7f8eb00009a0, max_priority=2147483647, fds=fds@entry=0x7f8eb0003280, n_fds=n_fds@entry=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3577
#3  0x00007f8ee5c51f7b in g_main_context_iterate (context=context@entry=0x7f8eb00009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3731
#4  0x00007f8ee5c520ec in g_main_context_iteration (context=0x7f8eb00009a0, may_block=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3795
#5  0x00007f8eeee887be in QEventDispatcherGlib::processEvents (this=0x7f8eb00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#6  0x00007f8eeee5a0af in QEventLoop::processEvents (this=this@entry=0x7f8ec57c8ae0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f8eeee5a3a5 in QEventLoop::exec (this=this@entry=0x7f8ec57c8ae0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f8eeed56c5f in QThread::exec (this=this@entry=0x2e47920) at thread/qthread.cpp:537
#9  0x00007f8eeee3b823 in QInotifyFileSystemWatcherEngine::run (this=0x2e47920) at io/qfilesystemwatcher_inotify.cpp:265
#10 0x00007f8eeed5932f in QThreadPrivate::start (arg=0x2e47920) at thread/qthread_unix.cpp:349
#11 0x00007f8ee9f92182 in start_thread (arg=0x7f8ec57c9700) at pthread_create.c:312
#12 0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 24 (Thread 0x7f8eabffe700 (LWP 1551)):
#0  0x00007f8eeedadabc in unixCheckClockType () at tools/qelapsedtimer_unix.cpp:80
#1  do_gettime (frac=0x7f8eabffd830, sec=0x7f8eabffd828) at tools/qelapsedtimer_unix.cpp:124
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:144
#3  0x00007f8eeee89f05 in updateCurrentTime (this=0x7f8ea0002530) at kernel/qeventdispatcher_unix.cpp:354
#4  QTimerInfoList::timerWait (this=0x7f8ea0002530, tm=...) at kernel/qeventdispatcher_unix.cpp:460
#5  0x00007f8eeee8867c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7f8eabffd8e4) at kernel/qeventdispatcher_glib.cpp:143
#6  0x00007f8eeee88725 in timerSourcePrepare (source=<optimized out>, timeout=timeout@entry=0x7f8eabffd8e4) at kernel/qeventdispatcher_glib.cpp:176
#7  0x00007f8ee5c5168d in g_main_context_prepare (context=context@entry=0x7f8ea00009a0, priority=priority@entry=0x7f8eabffd968) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3352
#8  0x00007f8ee5c51f03 in g_main_context_iterate (context=context@entry=0x7f8ea00009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3714
#9  0x00007f8ee5c520ec in g_main_context_iteration (context=0x7f8ea00009a0, may_block=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3795
#10 0x00007f8eeee887be in QEventDispatcherGlib::processEvents (this=0x7f8ea00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#11 0x00007f8eeee5a0af in QEventLoop::processEvents (this=this@entry=0x7f8eabffdaa0, flags=...) at kernel/qeventloop.cpp:149
#12 0x00007f8eeee5a3a5 in QEventLoop::exec (this=this@entry=0x7f8eabffdaa0, flags=...) at kernel/qeventloop.cpp:204
#13 0x00007f8ef2a57be3 in Digikam::WorkerObjectRunnable::run (this=0x7f8e58038680) at /home/mandree/VCS-other/digikam.git/core/libs/threads/threadmanager.cpp:196
#14 0x00007f8eeed4cfee in QThreadPoolThread::run (this=0x44b2a40) at concurrent/qthreadpool.cpp:108
#15 0x00007f8eeed5932f in QThreadPrivate::start (arg=0x44b2a40) at thread/qthread_unix.cpp:349
#16 0x00007f8ee9f92182 in start_thread (arg=0x7f8eabffe700) at pthread_create.c:312
#17 0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 23 (Thread 0x7f8ea97f9700 (LWP 1557)):
#0  0x00007f8eedf85b76 in pthread_mutex_lock (mutex=0x7f8e5c000a60) at forward.c:192
#1  0x00007f8ee5c93991 in g_mutex_lock (mutex=mutex@entry=0x7f8e5c0009a0) at /build/buildd/glib2.0-2.40.0/./glib/gthread-posix.c:209
#2  0x00007f8ee5c51a6c in g_main_context_check (context=context@entry=0x7f8e5c0009a0, max_priority=2147483647, fds=fds@entry=0x7f8e5c025610, n_fds=n_fds@entry=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3577
#3  0x00007f8ee5c51f7b in g_main_context_iterate (context=context@entry=0x7f8e5c0009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3731
#4  0x00007f8ee5c520ec in g_main_context_iteration (context=0x7f8e5c0009a0, may_block=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3795
#5  0x00007f8eeee887be in QEventDispatcherGlib::processEvents (this=0x7f8e5c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#6  0x00007f8eeee5a0af in QEventLoop::processEvents (this=this@entry=0x7f8ea97f8aa0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f8eeee5a3a5 in QEventLoop::exec (this=this@entry=0x7f8ea97f8aa0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f8ef2a57be3 in Digikam::WorkerObjectRunnable::run (this=0x83df4a0) at /home/mandree/VCS-other/digikam.git/core/libs/threads/threadmanager.cpp:196
#9  0x00007f8eeed4cfee in QThreadPoolThread::run (this=0x44b9020) at concurrent/qthreadpool.cpp:108
#10 0x00007f8eeed5932f in QThreadPrivate::start (arg=0x44b9020) at thread/qthread_unix.cpp:349
#11 0x00007f8ee9f92182 in start_thread (arg=0x7f8ea97f9700) at pthread_create.c:312
#12 0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 22 (Thread 0x7f8e8b7fe700 (LWP 1560)):
#0  pthread_mutex_lock (mutex=0x7f8e60000a60) at forward.c:192
#1  0x00007f8ee5c93991 in g_mutex_lock (mutex=mutex@entry=0x7f8e600009a0) at /build/buildd/glib2.0-2.40.0/./glib/gthread-posix.c:209
#2  0x00007f8ee5c51a6c in g_main_context_check (context=context@entry=0x7f8e600009a0, max_priority=2147483647, fds=fds@entry=0x7f8e600129d0, n_fds=n_fds@entry=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3577
#3  0x00007f8ee5c51f7b in g_main_context_iterate (context=context@entry=0x7f8e600009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3731
#4  0x00007f8ee5c520ec in g_main_context_iteration (context=0x7f8e600009a0, may_block=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3795
#5  0x00007f8eeee887be in QEventDispatcherGlib::processEvents (this=0x7f8e600008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#6  0x00007f8eeee5a0af in QEventLoop::processEvents (this=this@entry=0x7f8e8b7fdaa0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f8eeee5a3a5 in QEventLoop::exec (this=this@entry=0x7f8e8b7fdaa0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f8ef2a57be3 in Digikam::WorkerObjectRunnable::run (this=0x39b4000) at /home/mandree/VCS-other/digikam.git/core/libs/threads/threadmanager.cpp:196
#9  0x00007f8eeed4cfee in QThreadPoolThread::run (this=0x449f300) at concurrent/qthreadpool.cpp:108
#10 0x00007f8eeed5932f in QThreadPrivate::start (arg=0x449f300) at thread/qthread_unix.cpp:349
#11 0x00007f8ee9f92182 in start_thread (arg=0x7f8e8b7fe700) at pthread_create.c:312
#12 0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 21 (Thread 0x7f8e8affd700 (LWP 1561)):
#0  0x00007f8eedf6936d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f8ee5c92c20 in read (__nbytes=16, __buf=0x7f8e8affc8a0, __fd=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/unistd.h:44
#2  g_wakeup_acknowledge (wakeup=0x33ba460) at /build/buildd/glib2.0-2.40.0/./glib/gwakeup.c:210
#3  0x00007f8ee5c51b14 in g_main_context_check (context=context@entry=0x7f8e440009a0, max_priority=2147483647, fds=fds@entry=0x7f8e44025480, n_fds=n_fds@entry=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3532
#4  0x00007f8ee5c51f7b in g_main_context_iterate (context=context@entry=0x7f8e440009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3731
#5  0x00007f8ee5c520ec in g_main_context_iteration (context=0x7f8e440009a0, may_block=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3795
#6  0x00007f8eeee887be in QEventDispatcherGlib::processEvents (this=0x7f8e440008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#7  0x00007f8eeee5a0af in QEventLoop::processEvents (this=this@entry=0x7f8e8affcaa0, flags=...) at kernel/qeventloop.cpp:149
#8  0x00007f8eeee5a3a5 in QEventLoop::exec (this=this@entry=0x7f8e8affcaa0, flags=...) at kernel/qeventloop.cpp:204
#9  0x00007f8ef2a57be3 in Digikam::WorkerObjectRunnable::run (this=0x376c130) at /home/mandree/VCS-other/digikam.git/core/libs/threads/threadmanager.cpp:196
#10 0x00007f8eeed4cfee in QThreadPoolThread::run (this=0x7f8ea4002ab0) at concurrent/qthreadpool.cpp:108
#11 0x00007f8eeed5932f in QThreadPrivate::start (arg=0x7f8ea4002ab0) at thread/qthread_unix.cpp:349
#12 0x00007f8ee9f92182 in start_thread (arg=0x7f8e8affd700) at pthread_create.c:312
#13 0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 20 (Thread 0x7f8e3a03c700 (LWP 1611)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f8ee8e262db in futex_wait (comparand=2, futex=0x7f8e3a22bf2c) at ../../include/tbb/machine/linux_common.h:68
#2  P (this=0x7f8e3a22bf2c) at ../../src/tbb/semaphore.h:214
#3  commit_wait (c=<synthetic pointer>, this=0x7f8e3a22bf20) at ../../src/rml/include/../server/thread_monitor.h:266
#4  tbb::internal::rml::private_worker::run (this=0x7f8e3a22bf00) at ../../src/tbb/private_server.cpp:290
#5  0x00007f8ee8e262f9 in tbb::internal::rml::private_worker::thread_routine (arg=<optimized out>) at ../../src/tbb/private_server.cpp:240
#6  0x00007f8ee9f92182 in start_thread (arg=0x7f8e3a03c700) at pthread_create.c:312
#7  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 19 (Thread 0x7f8e39c3b700 (LWP 1612)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f8ee8e262db in futex_wait (comparand=2, futex=0x7f8e3a22bfac) at ../../include/tbb/machine/linux_common.h:68
#2  P (this=0x7f8e3a22bfac) at ../../src/tbb/semaphore.h:214
#3  commit_wait (c=<synthetic pointer>, this=0x7f8e3a22bfa0) at ../../src/rml/include/../server/thread_monitor.h:266
#4  tbb::internal::rml::private_worker::run (this=0x7f8e3a22bf80) at ../../src/tbb/private_server.cpp:290
#5  0x00007f8ee8e262f9 in tbb::internal::rml::private_worker::thread_routine (arg=<optimized out>) at ../../src/tbb/private_server.cpp:240
#6  0x00007f8ee9f92182 in start_thread (arg=0x7f8e39c3b700) at pthread_create.c:312
#7  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 18 (Thread 0x7f8e3983a700 (LWP 1613)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f8ee8e262db in futex_wait (comparand=2, futex=0x7f8e3a22beac) at ../../include/tbb/machine/linux_common.h:68
#2  P (this=0x7f8e3a22beac) at ../../src/tbb/semaphore.h:214
#3  commit_wait (c=<synthetic pointer>, this=0x7f8e3a22bea0) at ../../src/rml/include/../server/thread_monitor.h:266
#4  tbb::internal::rml::private_worker::run (this=0x7f8e3a22be80) at ../../src/tbb/private_server.cpp:290
#5  0x00007f8ee8e262f9 in tbb::internal::rml::private_worker::thread_routine (arg=<optimized out>) at ../../src/tbb/private_server.cpp:240
#6  0x00007f8ee9f92182 in start_thread (arg=0x7f8e3983a700) at pthread_create.c:312
#7  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 17 (Thread 0x7f8e027fc700 (LWP 2614)):
#0  futex_wait (val=8, addr=0x7f8e60086eb4) at ../../../src/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=8, addr=0x7f8e60086eb4) at ../../../src/libgomp/config/linux/wait.h:64
#2  gomp_barrier_wait_end (bar=0x7f8e60086eb0, state=8) at ../../../src/libgomp/config/linux/bar.c:47
#3  0x00007f8edf39635e in gomp_thread_start (xdata=<optimized out>) at ../../../src/libgomp/team.c:119
#4  0x00007f8ee9f92182 in start_thread (arg=0x7f8e027fc700) at pthread_create.c:312
#5  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 16 (Thread 0x7f8e2bfff700 (LWP 2615)):
#0  futex_wait (val=8, addr=0x7f8e60086eb4) at ../../../src/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=8, addr=0x7f8e60086eb4) at ../../../src/libgomp/config/linux/wait.h:64
#2  gomp_barrier_wait_end (bar=0x7f8e60086eb0, state=8) at ../../../src/libgomp/config/linux/bar.c:47
#3  0x00007f8edf39635e in gomp_thread_start (xdata=<optimized out>) at ../../../src/libgomp/team.c:119
#4  0x00007f8ee9f92182 in start_thread (arg=0x7f8e2bfff700) at pthread_create.c:312
#5  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 15 (Thread 0x7f8e2b7fe700 (LWP 2616)):
#0  futex_wait (val=8, addr=0x7f8e60086eb4) at ../../../src/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=8, addr=0x7f8e60086eb4) at ../../../src/libgomp/config/linux/wait.h:64
#2  gomp_barrier_wait_end (bar=0x7f8e60086eb0, state=8) at ../../../src/libgomp/config/linux/bar.c:47
#3  0x00007f8edf39635e in gomp_thread_start (xdata=<optimized out>) at ../../../src/libgomp/team.c:119
#4  0x00007f8ee9f92182 in start_thread (arg=0x7f8e2b7fe700) at pthread_create.c:312
#5  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 14 (Thread 0x7f8e7b7fe700 (LWP 2730)):
#0  0x00007f8ee9f95836 in __pthread_mutex_unlock_usercnt (decr=1, mutex=0x7f8e6c023410) at pthread_mutex_unlock.c:81
#1  __GI___pthread_mutex_unlock (mutex=0x7f8e6c023410) at pthread_mutex_unlock.c:310
#2  0x00007f8ee5c939c1 in g_mutex_unlock (mutex=mutex@entry=0x7f8e6c001e90) at /build/buildd/glib2.0-2.40.0/./glib/gthread-posix.c:228
#3  0x00007f8ee5c51680 in g_main_context_prepare (context=context@entry=0x7f8e6c001e90, priority=priority@entry=0x7f8e7b7fd968) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3350
#4  0x00007f8ee5c51f03 in g_main_context_iterate (context=context@entry=0x7f8e6c001e90, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3714
#5  0x00007f8ee5c520ec in g_main_context_iteration (context=0x7f8e6c001e90, may_block=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3795
#6  0x00007f8eeee887be in QEventDispatcherGlib::processEvents (this=0x7f8e6c023440, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#7  0x00007f8eeee5a0af in QEventLoop::processEvents (this=this@entry=0x7f8e7b7fdaa0, flags=...) at kernel/qeventloop.cpp:149
#8  0x00007f8eeee5a3a5 in QEventLoop::exec (this=this@entry=0x7f8e7b7fdaa0, flags=...) at kernel/qeventloop.cpp:204
#9  0x00007f8ef2a57be3 in Digikam::WorkerObjectRunnable::run (this=0x3c340c0) at /home/mandree/VCS-other/digikam.git/core/libs/threads/threadmanager.cpp:196
#10 0x00007f8eeed4cfee in QThreadPoolThread::run (this=0x44bc500) at concurrent/qthreadpool.cpp:108
#11 0x00007f8eeed5932f in QThreadPrivate::start (arg=0x44bc500) at thread/qthread_unix.cpp:349
#12 0x00007f8ee9f92182 in start_thread (arg=0x7f8e7b7fe700) at pthread_create.c:312
#13 0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 13 (Thread 0x7f8df83bc700 (LWP 3091)):
#0  futex_wait (val=8, addr=0x7f8e6c795e74) at ../../../src/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=8, addr=0x7f8e6c795e74) at ../../../src/libgomp/config/linux/wait.h:64
#2  gomp_barrier_wait_end (bar=0x7f8e6c795e70, state=8) at ../../../src/libgomp/config/linux/bar.c:47
#3  0x00007f8edf39635e in gomp_thread_start (xdata=<optimized out>) at ../../../src/libgomp/team.c:119
#4  0x00007f8ee9f92182 in start_thread (arg=0x7f8df83bc700) at pthread_create.c:312
#5  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 12 (Thread 0x7f8df7bbb700 (LWP 3092)):
#0  futex_wait (val=8, addr=0x7f8e6c795e74) at ../../../src/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=8, addr=0x7f8e6c795e74) at ../../../src/libgomp/config/linux/wait.h:64
#2  gomp_barrier_wait_end (bar=0x7f8e6c795e70, state=8) at ../../../src/libgomp/config/linux/bar.c:47
#3  0x00007f8edf39635e in gomp_thread_start (xdata=<optimized out>) at ../../../src/libgomp/team.c:119
#4  0x00007f8ee9f92182 in start_thread (arg=0x7f8df7bbb700) at pthread_create.c:312
#5  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 11 (Thread 0x7f8df73ba700 (LWP 3093)):
#0  futex_wait (val=8, addr=0x7f8e6c795e74) at ../../../src/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=8, addr=0x7f8e6c795e74) at ../../../src/libgomp/config/linux/wait.h:64
#2  gomp_barrier_wait_end (bar=0x7f8e6c795e70, state=8) at ../../../src/libgomp/config/linux/bar.c:47
#3  0x00007f8edf39635e in gomp_thread_start (xdata=<optimized out>) at ../../../src/libgomp/team.c:119
#4  0x00007f8ee9f92182 in start_thread (arg=0x7f8df73ba700) at pthread_create.c:312
#5  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 10 (Thread 0x7f8df5bb7700 (LWP 3103)):
#0  futex_wait (val=8, addr=0x7f8e447c0904) at ../../../src/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=8, addr=0x7f8e447c0904) at ../../../src/libgomp/config/linux/wait.h:64
#2  gomp_barrier_wait_end (bar=0x7f8e447c0900, state=8) at ../../../src/libgomp/config/linux/bar.c:47
#3  0x00007f8edf39635e in gomp_thread_start (xdata=<optimized out>) at ../../../src/libgomp/team.c:119
#4  0x00007f8ee9f92182 in start_thread (arg=0x7f8df5bb7700) at pthread_create.c:312
#5  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 9 (Thread 0x7f8df53b6700 (LWP 3104)):
#0  futex_wait (val=8, addr=0x7f8e447c0904) at ../../../src/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=8, addr=0x7f8e447c0904) at ../../../src/libgomp/config/linux/wait.h:64
#2  gomp_barrier_wait_end (bar=0x7f8e447c0900, state=8) at ../../../src/libgomp/config/linux/bar.c:47
#3  0x00007f8edf39635e in gomp_thread_start (xdata=<optimized out>) at ../../../src/libgomp/team.c:119
#4  0x00007f8ee9f92182 in start_thread (arg=0x7f8df53b6700) at pthread_create.c:312
#5  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 8 (Thread 0x7f8df4bb5700 (LWP 3113)):
#0  futex_wait (val=8, addr=0x7f8e447c0904) at ../../../src/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=8, addr=0x7f8e447c0904) at ../../../src/libgomp/config/linux/wait.h:64
#2  gomp_barrier_wait_end (bar=0x7f8e447c0900, state=8) at ../../../src/libgomp/config/linux/bar.c:47
#3  0x00007f8edf39635e in gomp_thread_start (xdata=<optimized out>) at ../../../src/libgomp/team.c:119
#4  0x00007f8ee9f92182 in start_thread (arg=0x7f8df4bb5700) at pthread_create.c:312
#5  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 7 (Thread 0x7f8df342d700 (LWP 4586)):
[KCrash Handler]
#6  0x00007f8eeaefc0f2 in Exiv2::PreviewManager::getPreviewImage(Exiv2::PreviewProperties const&) const () from /usr/lib/libexiv2.so.12
#7  0x00007f8ef3106452 in KExiv2Iface::KExiv2Previews::data (this=this@entry=0x7f8df342c750, index=index@entry=0) at ../../libkexiv2/kexiv2previews.cpp:162
#8  0x00007f8ef31066ab in KExiv2Iface::KExiv2Previews::image (this=this@entry=0x7f8df342c750, index=index@entry=0) at ../../libkexiv2/kexiv2previews.cpp:174
#9  0x00007f8ef2a420cb in Digikam::ThumbnailCreator::createThumbnail (this=this@entry=0x2e689c0, info=..., detailRect=...) at /home/mandree/VCS-other/digikam.git/core/libs/threadimageio/thumbnailcreator.cpp:528
#10 0x00007f8ef2a44d66 in Digikam::ThumbnailCreator::load (this=0x2e689c0, path=..., rect=..., pregenerate=pregenerate@entry=true) at /home/mandree/VCS-other/digikam.git/core/libs/threadimageio/thumbnailcreator.cpp:261
#11 0x00007f8ef2a456b0 in Digikam::ThumbnailCreator::pregenerate (this=<optimized out>, path=...) at /home/mandree/VCS-other/digikam.git/core/libs/threadimageio/thumbnailcreator.cpp:184
#12 0x00007f8ef2a54130 in Digikam::ThumbnailLoadingTask::execute (this=0x48dfbd0) at /home/mandree/VCS-other/digikam.git/core/libs/threadimageio/thumbnailtask.cpp:82
#13 0x00007f8ef2a2c296 in Digikam::LoadSaveThread::run (this=0x2e71570) at /home/mandree/VCS-other/digikam.git/core/libs/threadimageio/loadsavethread.cpp:136
#14 0x00007f8ef2a5a35e in Digikam::DynamicThread::DynamicThreadPriv::run (this=0x2e04a60) at /home/mandree/VCS-other/digikam.git/core/libs/threads/dynamicthread.cpp:186
#15 0x00007f8eeed4cfee in QThreadPoolThread::run (this=0x7f8ea40020f0) at concurrent/qthreadpool.cpp:108
#16 0x00007f8eeed5932f in QThreadPrivate::start (arg=0x7f8ea40020f0) at thread/qthread_unix.cpp:349
#17 0x00007f8ee9f92182 in start_thread (arg=0x7f8df342d700) at pthread_create.c:312
#18 0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 6 (Thread 0x7f8e7bfff700 (LWP 4750)):
#0  qt_gettime () at tools/qelapsedtimer_unix.cpp:153
#1  0x00007f8eeee89f05 in updateCurrentTime (this=0x7f8e640b6280) at kernel/qeventdispatcher_unix.cpp:354
#2  QTimerInfoList::timerWait (this=0x7f8e640b6280, tm=...) at kernel/qeventdispatcher_unix.cpp:460
#3  0x00007f8eeee8867c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7f8e7bffe8e4) at kernel/qeventdispatcher_glib.cpp:143
#4  0x00007f8eeee88725 in timerSourcePrepare (source=<optimized out>, timeout=timeout@entry=0x7f8e7bffe8e4) at kernel/qeventdispatcher_glib.cpp:176
#5  0x00007f8ee5c5168d in g_main_context_prepare (context=context@entry=0x7f8e640252b0, priority=priority@entry=0x7f8e7bffe968) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3352
#6  0x00007f8ee5c51f03 in g_main_context_iterate (context=context@entry=0x7f8e640252b0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3714
#7  0x00007f8ee5c520ec in g_main_context_iteration (context=0x7f8e640252b0, may_block=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3795
#8  0x00007f8eeee887be in QEventDispatcherGlib::processEvents (this=0x7f8e640ea4a0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#9  0x00007f8eeee5a0af in QEventLoop::processEvents (this=this@entry=0x7f8e7bffeaa0, flags=...) at kernel/qeventloop.cpp:149
#10 0x00007f8eeee5a3a5 in QEventLoop::exec (this=this@entry=0x7f8e7bffeaa0, flags=...) at kernel/qeventloop.cpp:204
#11 0x00007f8ef2a57be3 in Digikam::WorkerObjectRunnable::run (this=0x59d47c0) at /home/mandree/VCS-other/digikam.git/core/libs/threads/threadmanager.cpp:196
#12 0x00007f8eeed4cfee in QThreadPoolThread::run (this=0x43b7cf0) at concurrent/qthreadpool.cpp:108
#13 0x00007f8eeed5932f in QThreadPrivate::start (arg=0x43b7cf0) at thread/qthread_unix.cpp:349
#14 0x00007f8ee9f92182 in start_thread (arg=0x7f8e7bfff700) at pthread_create.c:312
#15 0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 5 (Thread 0x7f8df63b8700 (LWP 5211)):
#0  futex_wait (val=4, addr=0x7f8e64039784) at ../../../src/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=4, addr=0x7f8e64039784) at ../../../src/libgomp/config/linux/wait.h:64
#2  gomp_barrier_wait_end (bar=0x7f8e64039780, state=4) at ../../../src/libgomp/config/linux/bar.c:47
#3  0x00007f8edf39635e in gomp_thread_start (xdata=<optimized out>) at ../../../src/libgomp/team.c:119
#4  0x00007f8ee9f92182 in start_thread (arg=0x7f8df63b8700) at pthread_create.c:312
#5  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7f8df16e6700 (LWP 5212)):
#0  futex_wait (val=4, addr=0x7f8e64039784) at ../../../src/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=4, addr=0x7f8e64039784) at ../../../src/libgomp/config/linux/wait.h:64
#2  gomp_barrier_wait_end (bar=0x7f8e64039780, state=4) at ../../../src/libgomp/config/linux/bar.c:47
#3  0x00007f8edf39635e in gomp_thread_start (xdata=<optimized out>) at ../../../src/libgomp/team.c:119
#4  0x00007f8ee9f92182 in start_thread (arg=0x7f8df16e6700) at pthread_create.c:312
#5  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f8df6bb9700 (LWP 5213)):
#0  futex_wait (val=4, addr=0x7f8e64039784) at ../../../src/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=4, addr=0x7f8e64039784) at ../../../src/libgomp/config/linux/wait.h:64
#2  gomp_barrier_wait_end (bar=0x7f8e64039780, state=4) at ../../../src/libgomp/config/linux/bar.c:47
#3  0x00007f8edf39635e in gomp_thread_start (xdata=<optimized out>) at ../../../src/libgomp/team.c:119
#4  0x00007f8ee9f92182 in start_thread (arg=0x7f8df6bb9700) at pthread_create.c:312
#5  0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f8e8a7fc700 (LWP 5228)):
#0  0x00007f8ee5c4f3d9 in g_source_iter_next (iter=iter@entry=0x7f8e8a7fb8f0, source=source@entry=0x7f8e8a7fb8e8) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:894
#1  0x00007f8ee5c519bb in g_main_context_check (context=context@entry=0x7f8e74028b90, max_priority=2147483647, fds=fds@entry=0x7f8e74051a20, n_fds=n_fds@entry=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3555
#2  0x00007f8ee5c51f7b in g_main_context_iterate (context=context@entry=0x7f8e74028b90, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3731
#3  0x00007f8ee5c520ec in g_main_context_iteration (context=0x7f8e74028b90, may_block=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3795
#4  0x00007f8eeee887be in QEventDispatcherGlib::processEvents (this=0x7f8e74052fb0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#5  0x00007f8eeee5a0af in QEventLoop::processEvents (this=this@entry=0x7f8e8a7fbaa0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f8eeee5a3a5 in QEventLoop::exec (this=this@entry=0x7f8e8a7fbaa0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f8ef2a57be3 in Digikam::WorkerObjectRunnable::run (this=0x3c34090) at /home/mandree/VCS-other/digikam.git/core/libs/threads/threadmanager.cpp:196
#8  0x00007f8eeed4cfee in QThreadPoolThread::run (this=0x44b2220) at concurrent/qthreadpool.cpp:108
#9  0x00007f8eeed5932f in QThreadPrivate::start (arg=0x44b2220) at thread/qthread_unix.cpp:349
#10 0x00007f8ee9f92182 in start_thread (arg=0x7f8e8a7fc700) at pthread_create.c:312
#11 0x00007f8eedf77fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f8ef53b4ac0 (LWP 1534)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f8eeed59816 in wait (time=18446744073709551615, this=0x2e704b0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2ea71a8, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f8ef2a587e4 in Digikam::WorkerObject::wait (this=0x2e703c0) at /home/mandree/VCS-other/digikam.git/core/libs/threads/workerobject.cpp:95
#4  0x000000000063f943 in Digikam::FileActionMngr::shutDown (this=this@entry=0x2e70090) at /home/mandree/VCS-other/digikam.git/core/app/fileaction/fileactionmngr.cpp:110
#5  0x000000000063f975 in Digikam::FileActionMngr::~FileActionMngr (this=0x2e70090, __in_chrg=<optimized out>) at /home/mandree/VCS-other/digikam.git/core/app/fileaction/fileactionmngr.cpp:78
#6  0x000000000063f9d7 in ~FileActionMngrCreator (this=0x2e70090, __in_chrg=<optimized out>) at /home/mandree/VCS-other/digikam.git/core/app/fileaction/fileactionmngr.cpp:52
#7  destroy () at /home/mandree/VCS-other/digikam.git/core/app/fileaction/fileactionmngr.cpp:59
#8  0x00007f8eedeb9149 in __run_exit_handlers (status=1, listp=0x7f8eee23c6c8 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:82
#9  0x00007f8eedeb9195 in __GI_exit (status=<optimized out>) at exit.c:104
#10 0x00007f8eef8b4878 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:783
#11 0x00007f8ef05578d0 in KApplication::xioErrhandler (this=0x7fffa01453f0, dpy=0x2670f70) at ../../kdeui/kernel/kapplication.cpp:419
#12 0x00007f8eec46f5ee in _XIOError (dpy=dpy@entry=0x2670f70) at ../../src/XlibInt.c:1498
#13 0x00007f8eec46cfed in _XEventsQueued (dpy=dpy@entry=0x2670f70, mode=mode@entry=2) at ../../src/xcb_io.c:366
#14 0x00007f8eec45f0db in XEventsQueued (dpy=0x2670f70, mode=2) at ../../src/Pending.c:43
#15 0x00007f8eef8ef62c in x11EventSourceCheck (s=0x265d130) at kernel/qguieventdispatcher_glib.cpp:85
#16 0x00007f8ee5c51a61 in g_main_context_check (context=context@entry=0x266c840, max_priority=0, fds=fds@entry=0x574ebd0, n_fds=n_fds@entry=15) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3575
#17 0x00007f8ee5c51f7b in g_main_context_iterate (context=context@entry=0x266c840, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3731
#18 0x00007f8ee5c520ec in g_main_context_iteration (context=0x266c840, may_block=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3795
#19 0x00007f8eeee887be in QEventDispatcherGlib::processEvents (this=0x2580390, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#20 0x00007f8eef8efbb6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#21 0x00007f8eeee5a0af in QEventLoop::processEvents (this=this@entry=0x7fffa0144ed0, flags=...) at kernel/qeventloop.cpp:149
#22 0x00007f8eeee5a3a5 in QEventLoop::exec (this=this@entry=0x7fffa0144ed0, flags=...) at kernel/qeventloop.cpp:204
#23 0x00007f8eeee5fb79 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#24 0x00007f8eef84c37c in QApplication::exec () at kernel/qapplication.cpp:3828
#25 0x0000000000496b60 in main (argc=<optimized out>, argv=<optimized out>) at /home/mandree/VCS-other/digikam.git/core/app/main/main.cpp:236

Possible duplicates by query: bug 301045.


Reproducible: Didn't try

Steps to Reproduce:
1. launch face recognition run
2. open some album
3. click one image from overview, and then click through images (to the next) with the large preview open

Actual Results:  
digikam crashed

Expected Results:  
Git should continue parsing images for faces, and it should display the next image.

I changed bootstrap.local that I had used for the build, so it's the default release-with-symbols build, and made two other changes:

 cmake -G "$MAKEFILES_TYPE" . \
-      -DCMAKE_BUILD_TYPE=debugfull \
       -DCMAKE_INSTALL_PREFIX=$DIGIKAM_INSTALL_PREFIX/ \
       -DCMAKE_CXX_FLAGS="-pedantic -Werror=return-type" \
       -DCMAKE_C_FLAGS="-pedantic -Werror=return-type" \
       -DKDE4_BUILD_TESTS=ON \
-      -DDIGIKAMSC_USE_PRIVATE_KDEGRAPHICS=ON \
-      -DDIGIKAMSC_COMPILE_DOC=ON \
+      -DDIGIKAMSC_USE_PRIVATE_KDEGRAPHICS=OFF \
+      -DDIGIKAMSC_COMPILE_DOC=OFF \
       -DDIGIKAMSC_CHECKOUT_PO=OFF \
       -DENABLE_PRESENTATIONMODE=OFF \
       -DENABLE_LCMS2=ON \
Comment 1 Matthias Andree 2014-09-15 01:05:06 UTC
I haven't found an image path printed in .xsession-errors nor on the console.

If there is a way to run digikam with extended debugging information, please point me to the instructions.

While trying to reproduce, I got this in the console:

KCrash: Application 'digikam' crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
sock_file=/home/mandree/.kde/socket-apollo/kdeinit4__0
QSocketNotifier: Invalid socket 20 and type 'Read', disabling...
QSocketNotifier: Invalid socket 21 and type 'Read', disabling...
QSocketNotifier: Invalid socket 21 and type 'Read', disabling...
digikam: Fatal IO error: client killed

(digikam:9309): GStreamer-CRITICAL **: gstsystemclock: write control failed in wakeup_async: 9:Ungültiger Dateideskriptor

Fatal Error: Accessed global static 'FileReadWriteLockStaticPrivate *static_d()' after destruction. Defined at /home/mandree/VCS-other/digikam.git/core/libs/threadimageio/filereadwritelock.cpp:385


And retrying the same with strace -feopen -p $(pidof digikam) reveals the following near SIGSEGV. 

Apparently this happens when I am opening the preview for an .AVI image that was filmed with my Fuji F200EXR - and I need only select the album to trigger the crash:

[pid  9514] open("/foto-backup/Bilder/Zillertal-2012-03/DSCF3028.AVI", O_RDONLY) = 39
[pid  9514] --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} ---
QSocketNotifier: Invalid socket 16 and type 'Read', disabling...
QSocketNotifier: Invalid socket 19 and type 'Read', disabling...
digikam: Fatal IO error: client killed


Maybe related:

$ LC_ALL=C exiv2 /foto-backup/Bilder/Zillertal-2012-03/DSCF3028.AVI
Exiv2 exception in print action for file /foto-backup/Bilder/Zillertal-2012-03/DSCF3028.AVI:
/foto-backup/Bilder/Zillertal-2012-03/DSCF3028.AVI: The file contains data of an unknown image type


Any further instructions for debugging this?
Comment 2 Matthias Andree 2014-09-15 01:12:13 UTC
I am wondering if this is an unhandled exception that propagates all through the call stack...

Running under GDB supervision, I get this, and I am wondering about the distinct 11 and 12 versions on /usr/lib/libexiv2.so.* below:

[Switching to Thread 0x7fffaecef700 (LWP 11222)]

Breakpoint 4, 0x00007ffff5c5c6b0 in Exiv2::PreviewManager::getPreviewImage(Exiv2::PreviewProperties const&) const@plt () from /usr/lib/libkexiv2.so.11
(gdb) l
76      in ../sysdeps/unix/syscall-template.S
(gdb) finish
Run till exit from #0  0x00007ffff5c5c6b0 in Exiv2::PreviewManager::getPreviewImage(Exiv2::PreviewProperties const&) const@plt () from /usr/lib/libkexiv2.so.11

Breakpoint 4, 0x00007fffeda8c0e0 in Exiv2::PreviewManager::getPreviewImage(Exiv2::PreviewProperties const&) const () from /usr/lib/libexiv2.so.12
(gdb) finish
Run till exit from #0  0x00007fffeda8c0e0 in Exiv2::PreviewManager::getPreviewImage(Exiv2::PreviewProperties const&) const () from /usr/lib/libexiv2.so.12

Program received signal SIGSEGV, Segmentation fault.
0x00007fffeda8c0f2 in Exiv2::PreviewManager::getPreviewImage(Exiv2::PreviewProperties const&) const () from /usr/lib/libexiv2.so.12
(gdb) finish
Run till exit from #0  0x00007fffeda8c0f2 in Exiv2::PreviewManager::getPreviewImage(Exiv2::PreviewProperties const&) const () from /usr/lib/libexiv2.so.12
digikam: Fatal IO error: client killed
KCrash: Application 'digikam' crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
sock_file=/home/mandree/.kde/socket-apollo/kdeinit4__0
QSocketNotifier: Invalid socket 20 and type 'Read', disabling...
Fatal Error: Accessed global static 'FileReadWriteLockStaticPrivate *static_d()' after destruction. Defined at /home/mandree/VCS-other/digikam.git/core/libs/threadimageio/filereadwritelock.cpp:385

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fff30ff9700 (LWP 11223)]
QSocketNotifier: Invalid socket 21 and type 'Read', disabling...
0x00007ffff0a43bb9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
Comment 3 Matthias Andree 2014-09-15 01:22:48 UTC
More GDB tracing got me this on the crash location - is the image data supposed to be 0x0?

(gdb) print this->d
$2 = (KExiv2Iface::KExiv2Previews::Private * const) 0x7fffa0047920
(gdb) print *this->d
$3 = {image = {_M_ptr = 0x0}, manager = 0x0, properties = {{p = {static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x7fffa0047b60}, d = 0x7fffa0047b60}}}
(gdb) c
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x00007fffeda8c0f2 in Exiv2::PreviewManager::getPreviewImage(Exiv2::PreviewProperties const&) const () from /usr/lib/libexiv2.so.12
Comment 4 caulier.gilles 2014-09-15 05:56:41 UTC
It crash in Exiv2 shared library.

Please report this problem to Exiv2 bugzilla. Don't forget to found a relevant image causing this crash.

Gilles Caulier
Comment 5 Matthias Andree 2014-09-15 07:21:14 UTC
Gilles,

is there an exiv2 test program, either in libkexiv2, or in digikam, that should also crash on the same "image" (aka AVI movie file)?  I can't get exiv2 to crash on the same file, but it constantly prints an exception on the command line, so I am wondering if digikam has an exception handler in the right spot and/or is feeding libkexiv2 proper data given the many 0s in Comment #3.
Comment 6 caulier.gilles 2014-09-15 07:31:47 UTC
>is there an exiv2 test program,

==> exiv2 CLI tool

>  I can't get exiv2 to crash on the same file, but it constantly prints an exception on the command line, so I am wondering if digikam has an exception handler

==> yes, it is, in libkexiv2 interface.

The crash appears with preview extraction. Code is here :

https://projects.kde.org/projects/kde/kdegraphics/libs/libkexiv2/repository/revisions/master/entry/libkexiv2/kexiv2previews.cpp

> +      -DDIGIKAMSC_USE_PRIVATE_KDEGRAPHICS=OFF \

==> no. Use last libkexiv2 code and uninstall system wide libkexiv2.

Gilles Caulier
Comment 7 Matthias Andree 2014-09-15 07:54:58 UTC
I switched ...USE_PRIVATE_KDEGRAPHICS back to on, and cmake complained that my exiv2 is too old. Would that be the cause of the trouble?  If so, a version check of (k)exiv2 on digikam start-up might be in order.

I will try to upgrade exiv2 later and then rebuild digikam to see if this fixes this problem. Thanks for the prompt replies.
Comment 8 caulier.gilles 2018-03-31 18:29:37 UTC
With incoming 6.0.0 release the video metadata parser will be delegate to ffmpeg instead Exiv2. This problem will not be reproducible.

Gilles Caulier