Application: digikam (1.4.0) KDE Platform Version: 4.5.1 (KDE 4.5.1) Qt Version: 4.7.0 Operating System: Linux 2.6.35-23-generic i686 Distribution: Ubuntu 10.10 -- Information about the crash: crash happens while adding the missing fingerprints of a collection of svg images Steps to reproduce: - select collection - extras -> fingerabdrücke aktualisieren -> suchen (german version extras -> fingerprints -> search - to add only the missing ones) - digikam works for a few seconds/minutes and crashes i'm using mysql backend, distribution is ubuntu 10.10 -- Backtrace: Application: digiKam (digikam), signal: Segmentation fault [Current thread is 1 (Thread 0xb7886740 (LWP 16102))] Thread 15 (Thread 0xb7539b70 (LWP 16103)): #0 0x002d1416 in __kernel_vsyscall () #1 0x07a27df6 in __poll (fds=0x7abfff4, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87 #2 0x0892ea1b in g_poll () from /lib/libglib-2.0.so.0 #3 0x0892143c in ?? () from /lib/libglib-2.0.so.0 #4 0x08921ba7 in g_main_loop_run () from /lib/libglib-2.0.so.0 #5 0x025286b4 in ?? () from /usr/lib/libgio-2.0.so.0 #6 0x0894848f in ?? () from /lib/libglib-2.0.so.0 #7 0x002bccc9 in start_thread (arg=0xb7539b70) at pthread_create.c:304 #8 0x07a366be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 14 (Thread 0xb4c55b70 (LWP 16104)): #0 0x002d1416 in __kernel_vsyscall () #1 0x002c14dc in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169 #2 0x04f419c7 in wait (this=0x8d330c0, mutex=0x8d330bc, time=4294967295) at thread/qwaitcondition_unix.cpp:88 #3 QWaitCondition::wait (this=0x8d330c0, mutex=0x8d330bc, time=4294967295) at thread/qwaitcondition_unix.cpp:160 #4 0x083310a4 in Digikam::ScanController::run (this=0x8ba9128) at /build/buildd/digikam-1.4.0/digikam/scancontroller.cpp:515 #5 0x04f40df9 in QThreadPrivate::start (arg=0x8ba9128) at thread/qthread_unix.cpp:266 #6 0x002bccc9 in start_thread (arg=0xb4c55b70) at pthread_create.c:304 #7 0x07a366be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 13 (Thread 0xb4454b70 (LWP 16110)): #0 0x01d60e36 in clock_gettime (clock_id=30822388, tp=0xb4453fa0) at ../sysdeps/unix/clock_gettime.c:100 #1 0x04f9c50b in do_gettime () at tools/qelapsedtimer_unix.cpp:105 #2 qt_gettime () at tools/qelapsedtimer_unix.cpp:119 #3 0x050736e5 in QTimerInfoList::updateCurrentTime (this=0x8dc81cc) at kernel/qeventdispatcher_unix.cpp:339 #4 0x0507372a in QTimerInfoList::timerWait (this=0x8dc81cc, tm=...) at kernel/qeventdispatcher_unix.cpp:442 #5 0x050717a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb44540cc) at kernel/qeventdispatcher_glib.cpp:136 #6 0x0507183d in timerSourcePrepare (source=0x0, timeout=0x1d64ff4) at kernel/qeventdispatcher_glib.cpp:169 #7 0x08920e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0 #8 0x08921279 in ?? () from /lib/libglib-2.0.so.0 #9 0x08921848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #10 0x0507159f in QEventDispatcherGlib::processEvents (this=0x8dba6a0, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #11 0x05041609 in QEventLoop::processEvents (this=0xb44542a0, flags=) at kernel/qeventloop.cpp:149 #12 0x05041a8a in QEventLoop::exec (this=0xb44542a0, flags=...) at kernel/qeventloop.cpp:201 #13 0x04f3db7e in QThread::exec (this=0x8d99e90) at thread/qthread.cpp:490 #14 0x0060759d in Digikam::ImageFilterModelWorker::Thread::run (this=0x8d99e90) at /build/buildd/digikam-1.4.0/obj-i686-linux-gnu/digikam/../../libs/models/imagefiltermodelthreads.h:66 #15 0x04f40df9 in QThreadPrivate::start (arg=0x8d99e90) at thread/qthread_unix.cpp:266 #16 0x002bccc9 in start_thread (arg=0xb4454b70) at pthread_create.c:304 #17 0x07a366be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 12 (Thread 0xb3c53b70 (LWP 16111)): #0 __i686.get_pc_thunk.bx () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S:170 #1 0x002c07a9 in __pthread_mutex_unlock_usercnt (mutex=0x8d6e354, decr=1) at pthread_mutex_unlock.c:36 #2 0x0891f4fb in g_main_context_release () from /lib/libglib-2.0.so.0 #3 0x08921473 in ?? () from /lib/libglib-2.0.so.0 #4 0x08921848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #5 0x0507159f in QEventDispatcherGlib::processEvents (this=0x8d3fbc0, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #6 0x05041609 in QEventLoop::processEvents (this=0xb3c532a0, flags=) at kernel/qeventloop.cpp:149 #7 0x05041a8a in QEventLoop::exec (this=0xb3c532a0, flags=...) at kernel/qeventloop.cpp:201 #8 0x04f3db7e in QThread::exec (this=0x8d63bc0) at thread/qthread.cpp:490 #9 0x0060759d in Digikam::ImageFilterModelWorker::Thread::run (this=0x8d63bc0) at /build/buildd/digikam-1.4.0/obj-i686-linux-gnu/digikam/../../libs/models/imagefiltermodelthreads.h:66 #10 0x04f40df9 in QThreadPrivate::start (arg=0x8d63bc0) at thread/qthread_unix.cpp:266 #11 0x002bccc9 in start_thread (arg=0xb3c53b70) at pthread_create.c:304 #12 0x07a366be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 11 (Thread 0xb2783b70 (LWP 16112)): #0 0x002d1416 in __kernel_vsyscall () #1 0x002c14dc in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169 #2 0x04f419c7 in wait (this=0x8d91e30, mutex=0x8d91e2c, time=4294967295) at thread/qwaitcondition_unix.cpp:88 #3 QWaitCondition::wait (this=0x8d91e30, mutex=0x8d91e2c, time=4294967295) at thread/qwaitcondition_unix.cpp:160 #4 0x06e8e2d2 in Digikam::ParkingThread::run (this=0x8d91e20) at /build/buildd/digikam-1.4.0/libs/threads/threadmanager.cpp:101 #5 0x04f40df9 in QThreadPrivate::start (arg=0x8d91e20) at thread/qthread_unix.cpp:266 #6 0x002bccc9 in start_thread (arg=0xb2783b70) at pthread_create.c:304 #7 0x07a366be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 10 (Thread 0xb1f82b70 (LWP 16113)): #0 0x01d60e36 in clock_gettime (clock_id=30822388, tp=0xb1f81fc0) at ../sysdeps/unix/clock_gettime.c:100 #1 0x04f9c50b in do_gettime () at tools/qelapsedtimer_unix.cpp:105 #2 qt_gettime () at tools/qelapsedtimer_unix.cpp:119 #3 0x050736e5 in QTimerInfoList::updateCurrentTime (this=0x8d75034) at kernel/qeventdispatcher_unix.cpp:339 #4 0x0507372a in QTimerInfoList::timerWait (this=0x8d75034, tm=...) at kernel/qeventdispatcher_unix.cpp:442 #5 0x050717a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb1f820ec) at kernel/qeventdispatcher_glib.cpp:136 #6 0x0507183d in timerSourcePrepare (source=0x0, timeout=0x1d64ff4) at kernel/qeventdispatcher_glib.cpp:169 #7 0x08920e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0 #8 0x08921279 in ?? () from /lib/libglib-2.0.so.0 #9 0x08921848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #10 0x0507159f in QEventDispatcherGlib::processEvents (this=0x8dc0618, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #11 0x05041609 in QEventLoop::processEvents (this=0xb1f822c0, flags=) at kernel/qeventloop.cpp:149 #12 0x05041a8a in QEventLoop::exec (this=0xb1f822c0, flags=...) at kernel/qeventloop.cpp:201 #13 0x04f3db7e in QThread::exec (this=0x8da3fd0) at thread/qthread.cpp:490 #14 0x04f40df9 in QThreadPrivate::start (arg=0x8da3fd0) at thread/qthread_unix.cpp:266 #15 0x002bccc9 in start_thread (arg=0xb1f82b70) at pthread_create.c:304 #16 0x07a366be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 9 (Thread 0xb1781b70 (LWP 16114)): #0 0x002d1416 in __kernel_vsyscall () #1 0x07a27df6 in __poll (fds=0x7abfff4, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87 #2 0x0892ea1b in g_poll () from /lib/libglib-2.0.so.0 #3 0x0892143c in ?? () from /lib/libglib-2.0.so.0 #4 0x08921848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #5 0x0507159f in QEventDispatcherGlib::processEvents (this=0x8d9c3b8, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #6 0x05041609 in QEventLoop::processEvents (this=0xb17812c0, flags=) at kernel/qeventloop.cpp:149 #7 0x05041a8a in QEventLoop::exec (this=0xb17812c0, flags=...) at kernel/qeventloop.cpp:201 #8 0x04f3db7e in QThread::exec (this=0x8d60ff8) at thread/qthread.cpp:490 #9 0x04f40df9 in QThreadPrivate::start (arg=0x8d60ff8) at thread/qthread_unix.cpp:266 #10 0x002bccc9 in start_thread (arg=0xb1781b70) at pthread_create.c:304 #11 0x07a366be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 8 (Thread 0xaa54cb70 (LWP 16115)): #0 0x002d1416 in __kernel_vsyscall () #1 0x002c1884 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:236 #2 0x07ba2b3f in ?? () from /usr/lib/libxine.so.1 Backtrace stopped: previous frame inner to this frame (corrupt stack?) Thread 7 (Thread 0xa9940b70 (LWP 16116)): #0 0x002d1416 in __kernel_vsyscall () #1 0x07a2f391 in select () at ../sysdeps/unix/syscall-template.S:82 #2 0x07bcef1c in xine_usec_sleep () from /usr/lib/libxine.so.1 #3 0x00000000 in ?? () Thread 6 (Thread 0xa913fb70 (LWP 16117)): #0 0x0892127c in ?? () from /lib/libglib-2.0.so.0 #1 0x08921848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #2 0x0507159f in QEventDispatcherGlib::processEvents (this=0x9417318, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #3 0x05041609 in QEventLoop::processEvents (this=0xa913f250, flags=) at kernel/qeventloop.cpp:149 #4 0x05041a8a in QEventLoop::exec (this=0xa913f250, flags=...) at kernel/qeventloop.cpp:201 #5 0x04f3db7e in QThread::exec (this=0x9416f20) at thread/qthread.cpp:490 #6 0x072be81a in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so #7 0x04f40df9 in QThreadPrivate::start (arg=0x9416f20) at thread/qthread_unix.cpp:266 #8 0x002bccc9 in start_thread (arg=0xa913fb70) at pthread_create.c:304 #9 0x07a366be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 5 (Thread 0xa893eb70 (LWP 16118)): #0 0x002d1416 in __kernel_vsyscall () #1 0x07a27df6 in __poll (fds=0x7abfff4, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87 #2 0x00eac562 in ?? () from /usr/lib/libpulse.so.0 #3 0x00e98ab9 in pa_mainloop_poll () from /usr/lib/libpulse.so.0 #4 0x00e9aa73 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0 #5 0x00e9ab44 in pa_mainloop_run () from /usr/lib/libpulse.so.0 #6 0x00eac303 in ?? () from /usr/lib/libpulse.so.0 #7 0x01f2cbd5 in ?? () from /usr/lib/libpulsecommon-0.9.21.so #8 0x002bccc9 in start_thread (arg=0xa893eb70) at pthread_create.c:304 #9 0x07a366be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 4 (Thread 0xa413cb70 (LWP 16119)): #0 0x002d1416 in __kernel_vsyscall () #1 0x002c14dc in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169 #2 0x07bb4b54 in ?? () from /usr/lib/libxine.so.1 Backtrace stopped: previous frame inner to this frame (corrupt stack?) Thread 3 (Thread 0xa393bb70 (LWP 16122)): #0 0x002d1416 in __kernel_vsyscall () #1 0x07a27df6 in __poll (fds=0x7abfff4, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87 #2 0x0892ea1b in g_poll () from /lib/libglib-2.0.so.0 #3 0x0892143c in ?? () from /lib/libglib-2.0.so.0 #4 0x08921848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #5 0x0507159f in QEventDispatcherGlib::processEvents (this=0x9625f20, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #6 0x05041609 in QEventLoop::processEvents (this=0xa393b260, flags=) at kernel/qeventloop.cpp:149 #7 0x05041a8a in QEventLoop::exec (this=0xa393b260, flags=...) at kernel/qeventloop.cpp:201 #8 0x04f3db7e in QThread::exec (this=0x9624ed0) at thread/qthread.cpp:490 #9 0x0502035b in QInotifyFileSystemWatcherEngine::run (this=0x9624ed0) at io/qfilesystemwatcher_inotify.cpp:248 #10 0x04f40df9 in QThreadPrivate::start (arg=0x9624ed0) at thread/qthread_unix.cpp:266 #11 0x002bccc9 in start_thread (arg=0xa393bb70) at pthread_create.c:304 #12 0x07a366be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 2 (Thread 0xa309fb70 (LWP 16129)): #0 __pthread_mutex_lock (mutex=0xa070bf14) at pthread_mutex_lock.c:125 #1 0x089214a4 in ?? () from /lib/libglib-2.0.so.0 #2 0x08921848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #3 0x0507159f in QEventDispatcherGlib::processEvents (this=0xa07004e0, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #4 0x05041609 in QEventLoop::processEvents (this=0xa309f260, flags=) at kernel/qeventloop.cpp:149 #5 0x05041a8a in QEventLoop::exec (this=0xa309f260, flags=...) at kernel/qeventloop.cpp:201 #6 0x04f3db7e in QThread::exec (this=0x98c0428) at thread/qthread.cpp:490 #7 0x0502035b in QInotifyFileSystemWatcherEngine::run (this=0x98c0428) at io/qfilesystemwatcher_inotify.cpp:248 #8 0x04f40df9 in QThreadPrivate::start (arg=0x98c0428) at thread/qthread_unix.cpp:266 #9 0x002bccc9 in start_thread (arg=0xa309fb70) at pthread_create.c:304 #10 0x07a366be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 1 (Thread 0xb7886740 (LWP 16102)): [KCrash Handler] #7 Digikam::Haar::ImageData::fillPixelData (this=0xc0dbc70, im=...) at /build/buildd/digikam-1.4.0/libs/database/haar/haar.cpp:113 #8 0x005f5b74 in Digikam::HaarIface::indexImage (this=0xa9077d8, imageid=63770, image=...) at /build/buildd/digikam-1.4.0/libs/database/haar/haariface.cpp:315 #9 0x005f5c34 in Digikam::HaarIface::indexImage (this=0xa9077d8, filename=..., image=...) at /build/buildd/digikam-1.4.0/libs/database/haar/haariface.cpp:295 #10 0x08186a41 in Digikam::FingerPrintsGenerator::slotGotImagePreview (this=0xb5a3488, desc=..., img=...) at /build/buildd/digikam-1.4.0/utilities/batch/fingerprintsgenerator.cpp:172 #11 0x08186b0b in Digikam::FingerPrintsGenerator::qt_metacall (this=0xb5a3488, _c=QMetaObject::InvokeMetaMethod, _id=86, _a=0x96058110) at /build/buildd/digikam-1.4.0/obj-i686-linux-gnu/digikam/fingerprintsgenerator.moc:83 #12 0x050488ca in QMetaObject::metacall (object=0xb5a3488, cl=202226800, idx=86, argv=0x96058110) at kernel/qmetaobject.cpp:237 #13 0x05053df6 in QMetaCallEvent::placeMetaCall (this=0x997c4740, object=0xb5a3488) at kernel/qobject.cpp:534 #14 0x050556a2 in QObject::event (this=0xb5a3488, e=0x0) at kernel/qobject.cpp:1219 #15 0x053ad936 in QWidget::event (this=0xb5a3488, event=0x997c4740) at kernel/qwidget.cpp:8646 #16 0x0534ffdc in QApplicationPrivate::notify_helper (this=0x8b67f90, receiver=0xb5a3488, e=0x997c4740) at kernel/qapplication.cpp:4396 #17 0x053560e9 in QApplication::notify (this=0xbff27b5c, receiver=0xb5a3488, e=0x997c4740) at kernel/qapplication.cpp:4361 #18 0x018be68a in KApplication::notify (this=0xbff27b5c, receiver=0xb5a3488, event=0x997c4740) at ../../kdeui/kernel/kapplication.cpp:310 #19 0x05042b3b in QCoreApplication::notifyInternal (this=0xbff27b5c, receiver=0xb5a3488, event=0x997c4740) at kernel/qcoreapplication.cpp:732 #20 0x05045d8b in sendEvent (receiver=0x0, event_type=0, data=0x8b3b2b8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #21 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8b3b2b8) at kernel/qcoreapplication.cpp:1373 #22 0x05045f4d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1266 #23 0x05071a74 in sendPostedEvents (s=0x8b6a310) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #24 postEventSourceDispatch (s=0x8b6a310) at kernel/qeventdispatcher_glib.cpp:277 #25 0x0891d855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #26 0x08921668 in ?? () from /lib/libglib-2.0.so.0 #27 0x08921848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #28 0x05071565 in QEventDispatcherGlib::processEvents (this=0x8b3ad68, flags=...) at kernel/qeventdispatcher_glib.cpp:415 #29 0x05411be5 in QGuiEventDispatcherGlib::processEvents (this=0x8b3ad68, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #30 0x05041609 in QEventLoop::processEvents (this=0xbff27a44, flags=) at kernel/qeventloop.cpp:149 #31 0x05041a8a in QEventLoop::exec (this=0xbff27a44, flags=...) at kernel/qeventloop.cpp:201 #32 0x0504600f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009 #33 0x0534ee07 in QApplication::exec () at kernel/qapplication.cpp:3672 #34 0x083c06b3 in main (argc=1, argv=0xbff27fc4) at /build/buildd/digikam-1.4.0/digikam/main.cpp:195 Reported using DrKonqi
Can this be traced to a specific image? Perhaps the last filename is printed on the console when debug output is enabled. Crash happens at a line data1[cn] = ptr[2]; where data1 is a member of ImageData (and "this" is not null, so this is unlikely to be the problem) and ptr is the bits of the image scaled just a few lines before, so it's also unlikely to fail, unless scaling should fail.
starting digikam on the console, the last lines of output are: QPainter::setOpacity: Painter not active QPainter::setPen: Painter not active QPainter::setOpacity: Painter not active QPainter::setBrush: Painter not active QPainter::setPen: Painter not active QPainter::setWorldTransform: Painter not active QPainter::restore: Unbalanced save/restore QPainter::end: Painter not active, aborted digikam(4335)/digikam (core) Digikam::PreviewLoadingTask::execute: Cannot extract preview for "/media/path/to/file/Anonymous_blueman_306.svg" Fehler des XMP-Werkzeugsatzes 203: Top level typedNode not allowed Warning: Failed to decode XMP metadata. Fehler des XMP-Werkzeugsatzes 203: Top level typedNode not allowed Warning: Failed to decode XMP metadata. Fehler des XMP-Werkzeugsatzes 203: Top level typedNode not allowed Warning: Failed to decode XMP metadata. QImage: out of memory, returning null image Fehler des XMP-Werkzeugsatzes 203: Top level typedNode not allowed Warning: Failed to decode XMP metadata. KCrash: Application 'digikam' crashing... KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit sock_file=/home/rbrandenburger/.kde/socket-NB0025/kdeinit4__0 QSocketNotifier: Invalid socket 54 and type 'Read', disabling... QSocketNotifier: Invalid socket 49 and type 'Read', disabling... [1]+ Angehalten digikam
Created attachment 53485 [details] the file
I can confirm that the picture does not load (the internal Qt SVG loader fails). There may be some problems with the DImg object not marked as null.
SVN commit 1198094 by mwiesweg: When a loader fails, ensure that data and size are reset and the image is marked as null. CCBUG: 257119 M +10 -1 dimgloader.cpp M +1 -0 dimgloader.h M +17 -0 jp2kloader.cpp M +13 -0 jpegloader.cpp M +14 -0 pgfloader.cpp M +9 -0 pngloader.cpp M +11 -3 ppmloader.cpp M +2 -0 qimageloader.cpp M +10 -1 rawloader.cpp M +11 -0 tiffloader.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1198094
Yes, it doesn't load (only the thumbnail), but it also doesn't crash when generating fingerprints. Marcel, did it crash for you?
No, it did not crash, but it seems possible that the image was not marked as null in the QImage loader.
digiKam 1.6.0 is out: http://www.digikam.org/drupal/node/550 Please update and check if this entry still valid. Thanks in advance Gilles Caulier
Sorry for the long delay, but I did not find the time to compile it right away - so tested it with 1.7.0, compiled from tar (kipi plugins and digikam) on Ubuntu 10.10. I tested it on a large collection of more than 100.000 pictures, jpg and svg. The aforementioned crash did not happen anymore, but I got a memory leak, which lead to a crash after about 20% done. The last lines in the log: terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc KCrash: Application 'digikam' crashing... QSocketNotifier: Invalid socket 52 and type 'Read', disabling... QSocketNotifier: Invalid socket 49 and type 'Read', disabling... QSocketNotifier: Invalid socket 132 and type 'Read', disabling... KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit sock_file=/home/rbrandenburger/.kde/socket-NB0025/kdeinit4__0 QSocketNotifier: Invalid socket 128 and type 'Read', disabling... QSocketNotifier: Invalid socket 129 and type 'Read', disabling... Der Wecker klingelt user@HOST:~$
Please run digiKam under GDB and try again. We need to see where the crash occurs... Look here for details : http://www.digikam.org/drupal/contrib Gilles Caulier
Following the backtrace: Program received signal SIGSEGV, Segmentation fault. Digikam::Haar::ImageData::fillPixelData (this=0x1028ea10, im=...) at /home/myhome/Documents/Development/digikam-1.7.0/digikam-1.7.0/libs/database/haar/haar.cpp:115 115 /home/myhome/Documents/Development/digikam-1.7.0/digikam-1.7.0/libs/database/haar/haar.cpp: Datei oder Verzeichnis nicht gefunden. in /home/myhome/Documents/Development/digikam-1.7.0/digikam-1.7.0/libs/database/haar/haar.cpp (gdb) bt #0 Digikam::Haar::ImageData::fillPixelData (this=0x1028ea10, im=...) at /home/myhome/Documents/Development/digikam-1.7.0/digikam-1.7.0/libs/database/haar/haar.cpp:115 #1 0x012ca354 in Digikam::HaarIface::indexImage (this=0xe9c00b8, imageid=92047, image=...) at /home/myhome/Documents/Development/digikam-1.7.0/digikam-1.7.0/libs/database/haar/haariface.cpp:357 #2 0x012ca414 in Digikam::HaarIface::indexImage (this=0xe9c00b8, filename=..., image=...) at /home/myhome/Documents/Development/digikam-1.7.0/digikam-1.7.0/libs/database/haar/haariface.cpp:333 #3 0x0813a921 in Digikam::FingerPrintsGenerator::slotGotImagePreview (this=0x9d7f7f0, desc=..., img=...) at /home/myhome/Documents/Development/digikam-1.7.0/digikam-1.7.0/utilities/batch/fingerprintsgenerator.cpp:180 #4 0x0813a9eb in Digikam::FingerPrintsGenerator::qt_metacall (this=0x9d7f7f0, _c=QMetaObject::InvokeMetaMethod, _id=86, _a=0xa3487788) at /home/myhome/Documents/Development/digikam-1.7.0/digikam-1.7.0/build/digikam/fingerprintsgenerator.moc:83 #5 0x02d8c8ca in QMetaObject::metacall (object=0x9d7f7f0, cl=271116816, idx=86, argv=0xa3487788) at kernel/qmetaobject.cpp:237 #6 0x02d97df6 in QMetaCallEvent::placeMetaCall (this=0x8abf52e8, object=0x9d7f7f0) at kernel/qobject.cpp:534 #7 0x02d996a2 in QObject::event (this=0x9d7f7f0, e=0x0) at kernel/qobject.cpp:1219 #8 0x02005936 in QWidget::event (this=0x9d7f7f0, event=0x8abf52e8) at kernel/qwidget.cpp:8646 #9 0x01fa7fdc in QApplicationPrivate::notify_helper (this=0x8515938, receiver=0x9d7f7f0, e=0x8abf52e8) at kernel/qapplication.cpp:4396 #10 0x01fae0e9 in QApplication::notify (this=0xbfffef84, receiver=0x9d7f7f0, e=0x8abf52e8) at kernel/qapplication.cpp:4361 #11 0x01c9d68a in KApplication::notify (this=0xbfffef84, receiver=0x9d7f7f0, event=0x8abf52e8) at ../../kdeui/kernel/kapplication.cpp:310 #12 0x02d86b3b in QCoreApplication::notifyInternal (this=0xbfffef84, receiver=0x9d7f7f0, event=0x8abf52e8) at kernel/qcoreapplication.cpp:732 #13 0x02d89d8b in sendEvent (receiver=0x0, event_type=0, data=0x84e32b8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #14 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x84e32b8) at kernel/qcoreapplication.cpp:1373 #15 0x02d89f4d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1266 #16 0x02db5a74 in sendPostedEvents (s=0x8517590) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #17 postEventSourceDispatch (s=0x8517590) at kernel/qeventdispatcher_glib.cpp:277 #18 0x039c1855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #19 0x039c5668 in ?? () from /lib/libglib-2.0.so.0 #20 0x039c5848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #21 0x02db5565 in QEventDispatcherGlib::processEvents (this=0x84e2d68, flags=...) at kernel/qeventdispatcher_glib.cpp:415 #22 0x02069be5 in QGuiEventDispatcherGlib::processEvents (this=0x84e2d68, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #23 0x02d85609 in QEventLoop::processEvents (this=0xbfffee64, flags=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece. ) at kernel/qeventloop.cpp:149 #24 0x02d85a8a in QEventLoop::exec (this=0xbfffee64, flags=...) at kernel/qeventloop.cpp:201 #25 0x02d8a00f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009 #26 0x01fa6e07 in QApplication::exec () at kernel/qapplication.cpp:3672 #27 0x082ba0c3 in main (argc=1, argv=0xbffff3f4) at /home/myhome/Documents/Development/digikam-1.7.0/digikam-1.7.0/digikam/main.cpp:216 (gdb)
Unfortunately, it seems the interesting part of the filenames in the backtrace are cut off on the right... You mean that memory consumption is rising and digikam crashes when all memory is used? Chances are it's in the SVG loader. If you really see memory consumption rise ever and ever, run digikam under valgrind --tool=massif, run it for the desired effect, stop at a few hundred MBs and attach the output here. Thanks!
We need feedback using a recent version. 2.0.0 RC is out, please test... Thanks in advance Gilles Caulier
I believe some memory leak issues were fixed. Feel free to reopen if still applicable with a recent 2.x version.
Not reproducible. Gilles Caulier