Bug 330282

Summary: Digikam 3.4.0 crashes anytime face tags are used (manual or automatical naming, faces database re-building...)
Product: [Applications] digikam Reporter: olivier-jeannin
Component: Database-FacesAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, msylwester
Priority: NOR Keywords: drkonqi
Version: 3.4.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 4.1.0
Sentry Crash Report:
Attachments: output of gdb
results with catch throw
Sorry, here is it again, this time with throw catching and backtrace
Another crash

Description olivier-jeannin 2014-01-22 10:44:50 UTC
Application: digikam (3.4.0)
KDE Platform Version: 4.11.3
Qt Version: 4.8.4
Operating System: Linux 3.11.0-15-generic i686
Distribution: Ubuntu 13.10

-- Information about the crash:
- What I was doing when the application crashed:
Digikam is set in French for me, but the button I click on should be named in English something like "add a collection to analyse faces". It opens a window named "face analysis - digikam". Any set of parameters I try on this window will afterward lead to a crash. Then I click on OK. Then the process runs. Sometimes it stays at 0%, sometimes it manages to go to a upper point. But at a point the running progress will stop for more than a minute, and then digikam will crash and the debugging window opens.



Only Digikam was open at the time of the last crash, and I just rebooted the computer. I'm using Ubuntu 13.10 32 bits, 4Go Ram, my processor is Intel® Core™2 Duo CPU P9600 @ 2.66GHz × 2. The computer is a Dell Latitude E6500, where I installed ubuntu less than a week ago, leaving nothing in the hard disk, and transfering afterward my old data (including about 8000 photos, around 25Go, previously treated with Picasa on Windows and Digikam 2.5 on Ubuntu).


Before reporting this bug (first time for me, so please let me know if I'm doing it right or wrong), I tryed several times to uninstall digikam (sudo apt-get purge digikam), and to delete database files, but after reinstallation, crashes were still happening everytime I used faces tags. I did this because I thought this was due to interferences with old databases. Perhaps should I try with the same photo folder and files with a different computer, and also with my computer and different photos...

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Aborted
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0xab590900 (LWP 2168))]

Thread 12 (Thread 0xab554b40 (LWP 2172)):
#0  0xb77a2424 in __kernel_vsyscall ()
#1  0xb4b01a0b in poll () at ../sysdeps/unix/syscall-template.S:81
#2  0xadb78392 in ?? () from /lib/i386-linux-gnu/libusb-1.0.so.0
#3  0xb329bd78 in start_thread (arg=0xab554b40) at pthread_create.c:311
#4  0xb4b1101e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131

Thread 11 (Thread 0xa90d0b40 (LWP 2173)):
#0  __libc_disable_asynccancel (oldtype=<optimized out>) at ../nptl/cancellation.c:82
#1  0xb4b01a14 in poll () at ../sysdeps/unix/syscall-template.S:81
#2  0xb2e8ca4b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb2e7db68 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb2e7e04b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xadceb32a in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
#6  0xb2ea3c4a in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0xb329bd78 in start_thread (arg=0xa90d0b40) at pthread_create.c:311
#8  0xb4b1101e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131

Thread 10 (Thread 0xa8628b40 (LWP 2174)):
#0  0xb77a2424 in __kernel_vsyscall ()
#1  0xb4aff8db in read () at ../sysdeps/unix/syscall-template.S:81
#2  0xad7f632a in ?? () from /usr/lib/nvidia-319/tls/libnvidia-tls.so.319.32
#3  0xb2ebfd4e in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb2e7d65b in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb2e7dafa in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0xb2e7dca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0xb2e7dd2e in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0xb2ea3c4a in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb329bd78 in start_thread (arg=0xa8628b40) at pthread_create.c:311
#10 0xb4b1101e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131

Thread 9 (Thread 0xa74feb40 (LWP 2185)):
#0  0xb77a2424 in __kernel_vsyscall ()
#1  0xb329f84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb4b1e9bc in __pthread_cond_wait (cond=0xa419378, mutex=0xa419360) at forward.c:149
#3  0xb4e00ca5 in wait (time=4294967295, this=0xa419360) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=this@entry=0xa4192d4, mutex=mutex@entry=0xa4192d0, time=time@entry=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0x0820d9c4 in Digikam::ScanController::run (this=0xa417410) at /build/buildd/digikam-3.4.0/core/digikam/database/scancontroller.cpp:725
#6  0xb4e0072f in QThreadPrivate::start (arg=0xa417410) at thread/qthread_unix.cpp:338
#7  0xb329bd78 in start_thread (arg=0xa74feb40) at pthread_create.c:311
#8  0xb4b1101e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131

Thread 8 (Thread 0xa60e4b40 (LWP 2186)):
#0  0xb77a2424 in __kernel_vsyscall ()
#1  0xb4b244d2 in clock_gettime (clock_id=1, tp=0xa60e3e08) at ../sysdeps/unix/clock_gettime.c:115
#2  0xb4e5b3ec in do_gettime (frac=0xa60e3e00, sec=0xa60e3df8) at tools/qelapsedtimer_unix.cpp:123
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#4  0xb4f40fd2 in updateCurrentTime (this=0xa87041b4) at kernel/qeventdispatcher_unix.cpp:354
#5  QTimerInfoList::timerWait (this=0xa87041b4, tm=...) at kernel/qeventdispatcher_unix.cpp:461
#6  0xb4f3f67b in timerSourcePrepareHelper (src=<optimized out>, timeout=0xa60e3efc) at kernel/qeventdispatcher_glib.cpp:136
#7  0xb4f3f70d in timerSourcePrepare (source=0xa8704180, timeout=0xa60e3efc) at kernel/qeventdispatcher_glib.cpp:169
#8  0xb2e7d143 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb2e7da5f in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0xb2e7dca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#11 0xb4f3f8df in QEventDispatcherGlib::processEvents (this=0xa8706020, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#12 0xb4f0e9f3 in QEventLoop::processEvents (this=this@entry=0xa60e4068, flags=...) at kernel/qeventloop.cpp:149
#13 0xb4f0ed19 in QEventLoop::exec (this=this@entry=0xa60e4068, flags=...) at kernel/qeventloop.cpp:204
#14 0xb4dfde3d in QThread::exec (this=this@entry=0xa41f400) at thread/qthread.cpp:542
#15 0xb4eeee14 in QInotifyFileSystemWatcherEngine::run (this=0xa41f400) at io/qfilesystemwatcher_inotify.cpp:265
#16 0xb4e0072f in QThreadPrivate::start (arg=0xa41f400) at thread/qthread_unix.cpp:338
#17 0xb329bd78 in start_thread (arg=0xa60e4b40) at pthread_create.c:311
#18 0xb4b1101e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131

Thread 7 (Thread 0x9d95fb40 (LWP 2232)):
#0  0xb4b4d173 in __x86.get_pc_thunk.bx () from /lib/i386-linux-gnu/libc.so.6
#1  0xb4b1eb98 in pthread_mutex_lock (mutex=0xaac013c0) at forward.c:192
#2  0xb2ec0bb0 in g_mutex_lock () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb2e7d386 in g_main_context_query () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb2e7dac6 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb2e7dca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0xb4f3f8df in QEventDispatcherGlib::processEvents (this=0xaac01c68, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#7  0xb4f0e9f3 in QEventLoop::processEvents (this=this@entry=0x9d95f068, flags=...) at kernel/qeventloop.cpp:149
#8  0xb4f0ed19 in QEventLoop::exec (this=this@entry=0x9d95f068, flags=...) at kernel/qeventloop.cpp:204
#9  0xb6a0d322 in Digikam::WorkerObjectRunnable::run (this=0xaf03ef8) at /build/buildd/digikam-3.4.0/core/libs/threads/threadmanager.cpp:196
#10 0xb4df363a in QThreadPoolThread::run (this=0xb6b9fb0) at concurrent/qthreadpool.cpp:107
#11 0xb4e0072f in QThreadPrivate::start (arg=0xb6b9fb0) at thread/qthread_unix.cpp:338
#12 0xb329bd78 in start_thread (arg=0x9d95fb40) at pthread_create.c:311
#13 0xb4b1101e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131

Thread 6 (Thread 0x97be3b40 (LWP 2242)):
#0  0xb77a2424 in __kernel_vsyscall ()
#1  0xb4b244d2 in clock_gettime (clock_id=1, tp=0x97be2df8) at ../sysdeps/unix/clock_gettime.c:115
#2  0xb4e5b3ec in do_gettime (frac=0x97be2df0, sec=0x97be2de8) at tools/qelapsedtimer_unix.cpp:123
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#4  0xb4f40fd2 in updateCurrentTime (this=0xa7d17ecc) at kernel/qeventdispatcher_unix.cpp:354
#5  QTimerInfoList::timerWait (this=0xa7d17ecc, tm=...) at kernel/qeventdispatcher_unix.cpp:461
#6  0xb4f3f67b in timerSourcePrepareHelper (src=<optimized out>, timeout=0x97be2eec) at kernel/qeventdispatcher_glib.cpp:136
#7  0xb4f3f70d in timerSourcePrepare (source=0xa7d17e98, timeout=0x97be2eec) at kernel/qeventdispatcher_glib.cpp:169
#8  0xb2e7d143 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb2e7da5f in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0xb2e7dca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#11 0xb4f3f8df in QEventDispatcherGlib::processEvents (this=0xa7d45f58, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#12 0xb4f0e9f3 in QEventLoop::processEvents (this=this@entry=0x97be3068, flags=...) at kernel/qeventloop.cpp:149
#13 0xb4f0ed19 in QEventLoop::exec (this=this@entry=0x97be3068, flags=...) at kernel/qeventloop.cpp:204
#14 0xb6a0d322 in Digikam::WorkerObjectRunnable::run (this=0xbe66e58) at /build/buildd/digikam-3.4.0/core/libs/threads/threadmanager.cpp:196
#15 0xb4df363a in QThreadPoolThread::run (this=0xb55eb68) at concurrent/qthreadpool.cpp:107
#16 0xb4e0072f in QThreadPrivate::start (arg=0xb55eb68) at thread/qthread_unix.cpp:338
#17 0xb329bd78 in start_thread (arg=0x97be3b40) at pthread_create.c:311
#18 0xb4b1101e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131

Thread 5 (Thread 0x973e2b40 (LWP 2286)):
#0  0xb77a2424 in __kernel_vsyscall ()
#1  0xb4b244d2 in clock_gettime (clock_id=1, tp=0x973e1df8) at ../sysdeps/unix/clock_gettime.c:115
#2  0xb4e5b3ec in do_gettime (frac=0x973e1df0, sec=0x973e1de8) at tools/qelapsedtimer_unix.cpp:123
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#4  0xb4f40fd2 in updateCurrentTime (this=0xa8702f94) at kernel/qeventdispatcher_unix.cpp:354
#5  QTimerInfoList::timerWait (this=0xa8702f94, tm=...) at kernel/qeventdispatcher_unix.cpp:461
#6  0xb4f3f67b in timerSourcePrepareHelper (src=<optimized out>, timeout=0x973e1eec) at kernel/qeventdispatcher_glib.cpp:136
#7  0xb4f3f70d in timerSourcePrepare (source=0xa8702f60, timeout=0x973e1eec) at kernel/qeventdispatcher_glib.cpp:169
#8  0xb2e7d143 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb2e7da5f in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0xb2e7dca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#11 0xb4f3f8df in QEventDispatcherGlib::processEvents (this=0xa8785850, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#12 0xb4f0e9f3 in QEventLoop::processEvents (this=this@entry=0x973e2068, flags=...) at kernel/qeventloop.cpp:149
#13 0xb4f0ed19 in QEventLoop::exec (this=this@entry=0x973e2068, flags=...) at kernel/qeventloop.cpp:204
#14 0xb6a0d322 in Digikam::WorkerObjectRunnable::run (this=0xc367520) at /build/buildd/digikam-3.4.0/core/libs/threads/threadmanager.cpp:196
#15 0xb4df363a in QThreadPoolThread::run (this=0xb55f9e0) at concurrent/qthreadpool.cpp:107
#16 0xb4e0072f in QThreadPrivate::start (arg=0xb55f9e0) at thread/qthread_unix.cpp:338
#17 0xb329bd78 in start_thread (arg=0x973e2b40) at pthread_create.c:311
#18 0xb4b1101e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131

Thread 4 (Thread 0x993e6b40 (LWP 2287)):
[KCrash Handler]
#7  0xb77a2424 in __kernel_vsyscall ()
#8  0xb4a4daff in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#9  0xb4a51083 in __GI_abort () at abort.c:90
#10 0xb4c7f605 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#11 0xb4c7d273 in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#12 0xb4c7d2af in std::terminate() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#13 0xb4c7d565 in __cxa_rethrow () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#14 0xb4df37c5 in QThreadPoolThread::run (this=0xb55ed30) at concurrent/qthreadpool.cpp:114
#15 0xb4e0072f in QThreadPrivate::start (arg=0xb55ed30) at thread/qthread_unix.cpp:338
#16 0xb329bd78 in start_thread (arg=0x993e6b40) at pthread_create.c:311
#17 0xb4b1101e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131

Thread 3 (Thread 0x99be7b40 (LWP 2288)):
#0  0xb77a2424 in __kernel_vsyscall ()
#1  0xb4b244d2 in clock_gettime (clock_id=1, tp=0x99be6df8) at ../sysdeps/unix/clock_gettime.c:115
#2  0xb4e5b3ec in do_gettime (frac=0x99be6df0, sec=0x99be6de8) at tools/qelapsedtimer_unix.cpp:123
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#4  0xb4f40fd2 in updateCurrentTime (this=0xa8786a34) at kernel/qeventdispatcher_unix.cpp:354
#5  QTimerInfoList::timerWait (this=0xa8786a34, tm=...) at kernel/qeventdispatcher_unix.cpp:461
#6  0xb4f3f67b in timerSourcePrepareHelper (src=<optimized out>, timeout=0x99be6eec) at kernel/qeventdispatcher_glib.cpp:136
#7  0xb4f3f70d in timerSourcePrepare (source=0xa8786a00, timeout=0x99be6eec) at kernel/qeventdispatcher_glib.cpp:169
#8  0xb2e7d143 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb2e7da5f in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0xb2e7dca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#11 0xb4f3f8df in QEventDispatcherGlib::processEvents (this=0xa8751a88, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#12 0xb4f0e9f3 in QEventLoop::processEvents (this=this@entry=0x99be7068, flags=...) at kernel/qeventloop.cpp:149
#13 0xb4f0ed19 in QEventLoop::exec (this=this@entry=0x99be7068, flags=...) at kernel/qeventloop.cpp:204
#14 0xb6a0d322 in Digikam::WorkerObjectRunnable::run (this=0xd088290) at /build/buildd/digikam-3.4.0/core/libs/threads/threadmanager.cpp:196
#15 0xb4df363a in QThreadPoolThread::run (this=0xa87720b0) at concurrent/qthreadpool.cpp:107
#16 0xb4e0072f in QThreadPrivate::start (arg=0xa87720b0) at thread/qthread_unix.cpp:338
#17 0xb329bd78 in start_thread (arg=0x99be7b40) at pthread_create.c:311
#18 0xb4b1101e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131

Thread 2 (Thread 0xa77bcb40 (LWP 2289)):
#0  0xb77a2424 in __kernel_vsyscall ()
#1  0xb4b0bfb7 in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29
#2  0xb28152f0 in ?? () from /usr/lib/libtbb.so.2
#3  0xb281531d in ?? () from /usr/lib/libtbb.so.2
#4  0xb329bd78 in start_thread (arg=0xa77bcb40) at pthread_create.c:311
#5  0xb4b1101e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131

Thread 1 (Thread 0xab590900 (LWP 2168)):
#0  0xb77a2424 in __kernel_vsyscall ()
#1  0xb329f84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb4b1e9bc in __pthread_cond_wait (cond=0xa628260, mutex=0xa628248) at forward.c:149
#3  0xb4e00ca5 in wait (time=4294967295, this=0xa628248) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=this@entry=0xa6284d0, mutex=mutex@entry=0xa6284bc, time=time@entry=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb4df304f in QThreadPoolPrivate::waitForDone (this=0xa628470, msecs=msecs@entry=-1) at concurrent/qthreadpool.cpp:298
#6  0xb4df43e3 in QThreadPool::~QThreadPool (this=0xa652458, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:440
#7  0xb4df442c in QThreadPool::~QThreadPool (this=0xa652458, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:442
#8  0xb4f27a6a in QObjectPrivate::deleteChildren (this=this@entry=0xa627b50) at kernel/qobject.cpp:1907
#9  0xb4f2a018 in QObject::~QObject (this=0xa627f20, __in_chrg=<optimized out>) at kernel/qobject.cpp:926
#10 0xb6a0c9d2 in Digikam::ThreadManager::~ThreadManager (this=0xa627f20, __in_chrg=<optimized out>) at /build/buildd/digikam-3.4.0/core/libs/threads/threadmanager.cpp:257
#11 0xb6a0ca43 in ~ThreadManagerCreator (this=0xa627f20, __in_chrg=<optimized out>) at /build/buildd/digikam-3.4.0/core/libs/threads/threadmanager.cpp:236
#12 destroy () at /build/buildd/digikam-3.4.0/core/libs/threads/threadmanager.cpp:241
#13 0xb6802359 in KCleanUpGlobalStatic::~KCleanUpGlobalStatic (this=0xb6c3a78c <_ZZN7Digikam5._157ptEvE13cleanUpObject>, __in_chrg=<optimized out>) at /usr/include/kglobal.h:62
#14 0xb4a52791 in __run_exit_handlers (status=status@entry=1, listp=0xb4bcf3e4 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:77
#15 0xb4a5281d in __GI_exit (status=1) at exit.c:99
#16 0xafaf77e3 in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#17 0xb5fb69f9 in KApplication::xioErrhandler (this=0xbfd4e638, dpy=dpy@entry=0xa217488) at ../../kdeui/kernel/kapplication.cpp:419
#18 0xb5fb6ab4 in kde_xio_errhandler (dpy=0xa217488) at ../../kdeui/kernel/kapplication.cpp:126
#19 0xb4617b24 in _XIOError () from /usr/lib/i386-linux-gnu/libX11.so.6
#20 0xb461529f in _XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#21 0xb4606530 in XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#22 0xb551ecda in x11EventSourceCheck (s=0xa1f7f40) at kernel/qguieventdispatcher_glib.cpp:85
#23 0xb2e7d58f in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#24 0xb2e7dafa in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#25 0xb2e7dca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#26 0xb4f3f8bf in QEventDispatcherGlib::processEvents (this=this@entry=0xa16df40, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#27 0xb551f32e in QGuiEventDispatcherGlib::processEvents (this=0xa16df40, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#28 0xb4f0e9f3 in QEventLoop::processEvents (this=this@entry=0xbfd4e468, flags=...) at kernel/qeventloop.cpp:149
#29 0xb4f0ed19 in QEventLoop::exec (this=this@entry=0xbfd4e468, flags=...) at kernel/qeventloop.cpp:204
#30 0xb4f1489e in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#31 0xb5468974 in QApplication::exec () at kernel/qapplication.cpp:3828
#32 0x080bc0b0 in main (argc=5, argv=0xbfd4e774) at /build/buildd/digikam-3.4.0/core/digikam/main/main.cpp:235

Possible duplicates by query: bug 329834, bug 329108, bug 329091, bug 326794, bug 326750.

Reported using DrKonqi
Comment 1 caulier.gilles 2014-01-22 12:17:10 UTC
The backtrace do not show any digiKam source code.

Please run digiKam through GDB to get a better backtrace, as explained here :

http://www.digikam.org/contrib

Gilles Caulier
Comment 2 olivier-jeannin 2014-01-22 13:33:33 UTC
Thanks a lot for your help.

I tried to do as explained in the link you gave.

First, using gdb : once in digikam, I tried the same as explain before. Digikam reacts the same, but this time never crashes (running progress stops at 2%, fan of the laptop starts to be noisy). It is to be noticed that only 2 images (3Mo) with no face in them are in the scanned folder... After a while, I quitted from the terminal (gdb asked my confirmation, as digikam was still running).

Second, I tried exaclty the same using valgrind. Digikam did exactly the same, and stayed blocked at 2%. This time, I stopped gdb using Ctrl+C.

In both cases, the terminal gave me hundreds or thousands of lines as results, that was lost...

Should I try the same saving the results given by the terminal in text files ?
Comment 3 caulier.gilles 2014-01-22 13:43:15 UTC
>Should I try the same saving the results given by the terminal in text files ?

yes, only using GDB

Gilles Caulier
Comment 4 olivier-jeannin 2014-01-22 14:50:09 UTC
Here is the output.

I did exactly the same in digikam, but once the process started, I switched to the terminal, then after a while I saw a new line with a cursor, and I wrote "bt", and then "quit" (you can see that in the text file.

Many thanks
Comment 5 olivier-jeannin 2014-01-22 14:51:05 UTC
Created attachment 84800 [details]
output of gdb
Comment 6 caulier.gilles 2014-01-22 14:55:16 UTC
*** Bug 329108 has been marked as a duplicate of this bug. ***
Comment 7 caulier.gilles 2014-01-22 14:56:01 UTC
It's due to a C++ exception

Gilles Caulier
Comment 8 olivier-jeannin 2014-01-22 16:40:11 UTC
Is there anything I can do, or should I live with it ? I mean, I'm far from a developper myself, so is this C++ exception a know bug of digikam, or is it due to some wrong packages, settings, environnement I'm using ?
Comment 9 Marcel Wiesweg 2014-01-22 18:42:31 UTC
In gdb, type "catch throw", then "run", provoke the crash. Now the backtrace will show the real location.
Comment 10 olivier-jeannin 2014-01-22 18:55:58 UTC
Created attachment 84803 [details]
results with catch throw
Comment 11 olivier-jeannin 2014-01-22 18:57:19 UTC
You can find the output of gdb when I use catch throw in this attachment.
Thank you for your help !
Comment 12 Marcel Wiesweg 2014-01-23 19:14:15 UTC
Comment on attachment 84803 [details]
results with catch throw

oh. At this point, you need to type "bt" to generate a backtrace.
Comment 13 olivier-jeannin 2014-01-23 21:29:01 UTC
Created attachment 84820 [details]
Sorry, here is it again, this time with throw catching and backtrace
Comment 14 olivier-jeannin 2014-01-23 21:39:00 UTC
Created attachment 84821 [details]
Another crash

In case this may help to find the issue, here is another crash, also with catch throw and backtrace. This crash happend during manual naming (manual rectangle drawing, and manual choice of person).
Comment 15 Marcel Wiesweg 2014-01-25 15:06:33 UTC
Comment on attachment 84821 [details]
Another crash

Is this the last released libkface or the current version from git? In the latter version, I would hope to have removed all usage of cv::FileStorage.
Please note there are not debug symbols for libkface available from your backtrace.
Comment 16 olivier-jeannin 2014-01-29 09:45:50 UTC
I have libkface-data 1.0~digikam3.4.0-1ubuntu3 and libkface2 1.0~digikam3.4.0-1ubuntu3 .
How could I remove any usage of cv::FileStorage ?
Comment 17 Marcel Wiesweg 2014-01-30 17:50:56 UTC
The coming 4.0 beta version will have the necessary changes
Comment 18 olivier-jeannin 2014-01-31 18:15:55 UTC
OK, many thanks for your help. I will just wait for this version, trying not to forget any face name meanwhile !

Anyway, face tags are only one of the many functions of digikam, and I think this software is really good. Developpers do great job !
Comment 19 caulier.gilles 2014-05-16 07:30:45 UTC
digiKam 4.0.0 is out :

http://www.digikam.org/node/713

Please check if this entry still valid with this new version.

Thanks in advance

Gilles Caulier
Comment 20 olivier-jeannin 2014-05-27 14:19:33 UTC
Hi,

There are no more bugs with the 4.0.0 version, many thanks !

Best regards

Olivier Jeannin