Bug 257119

Summary: digikam crashes when i update fingerprints database
Product: [Applications] digikam Reporter: rene
Component: Database-SimilarityAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR    
Version: 1.4.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 4.12.0
Attachments: the file

Description rene 2010-11-17 08:28:21 UTC
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
Comment 1 Marcel Wiesweg 2010-11-17 09:42:46 UTC
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.
Comment 2 rene 2010-11-17 10:54:45 UTC
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
Comment 3 rene 2010-11-17 11:45:13 UTC
Created attachment 53485 [details]
the file
Comment 4 Marcel Wiesweg 2010-11-17 12:25:36 UTC
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.
Comment 5 Marcel Wiesweg 2010-11-17 12:28:39 UTC
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
Comment 6 Andi Clemens 2010-11-17 12:34:22 UTC
Yes, it doesn't load (only the thumbnail), but it also doesn't crash when generating fingerprints. 

Marcel,
did it crash for you?
Comment 7 Marcel Wiesweg 2010-11-17 12:45:38 UTC
No, it did not crash, but it seems possible that the image was not marked as null in the QImage loader.
Comment 8 caulier.gilles 2010-11-24 09:14:20 UTC
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
Comment 9 rene 2010-12-28 21:10:00 UTC
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:~$
Comment 10 caulier.gilles 2010-12-28 22:28:45 UTC
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
Comment 11 rene 2010-12-31 16:34:08 UTC
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)
Comment 12 Marcel Wiesweg 2011-01-18 15:40:09 UTC
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!
Comment 13 caulier.gilles 2011-07-06 10:58:59 UTC
We need feedback using a recent version. 2.0.0 RC is out, please test...

Thanks in advance

Gilles Caulier
Comment 14 Marcel Wiesweg 2011-09-25 13:36:58 UTC
I believe some memory leak issues were fixed. Feel free to reopen if still applicable with a recent 2.x version.
Comment 15 caulier.gilles 2015-06-26 14:06:25 UTC
Not reproducible.

Gilles Caulier