Bug 268255

Summary: Crash when opening album
Product: [Applications] digikam Reporter: BiBlop <julos>
Component: Metadata-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: anantapalani, caulier.gilles
Priority: NOR    
Version: 2.1.1   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 5.1.0
Sentry Crash Report:

Description BiBlop 2011-03-11 21:59:52 UTC
Application: digikam (1.2.0)
KDE Platform Version: 4.4.5 (KDE 4.4.5)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-28-generic i686
Distribution: Ubuntu 10.04.2 LTS

-- Information about the crash:
Crash every time I open a folder (album) which contains JPG with custom resolutions (squares > 16M pixels). Files are TIFF converted by Adobe Bridge and output in JPG (in the same folder).

The crash can be reproduced every time.

 -- Backtrace:
Application: digiKam (digikam), signal: Aborted
[Current thread is 1 (Thread 0xb7712760 (LWP 7704))]

Thread 15 (Thread 0xb60a4b70 (LWP 7705)):
#0  0x00f2a422 in __kernel_vsyscall ()
#1  0x0045d015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x08d30287 in QWaitConditionPrivate::wait (this=0x97fc058, mutex=0x97fc054, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#3  QWaitCondition::wait (this=0x97fc058, mutex=0x97fc054, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#4  0x08321fb4 in Digikam::ScanController::run (this=0x9804f08) at /build/buildd/digikam-1.2.0/digikam/scancontroller.cpp:516
#5  0x08d2f32e in QThreadPrivate::start (arg=0x9804f08) at thread/qthread_unix.cpp:248
#6  0x0045896e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0x08684a4e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 14 (Thread 0xb56ffb70 (LWP 7707)):
#0  0x0045af5b in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
#1  0x04cb5114 in ?? () from /lib/libglib-2.0.so.0
#2  0x04cb54b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x08e5d60f in QEventDispatcherGlib::processEvents (this=0x9a30468, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#4  0x08e30059 in QEventLoop::processEvents (this=0xb56ff280, flags=) at kernel/qeventloop.cpp:149
#5  0x08e304aa in QEventLoop::exec (this=0xb56ff280, flags=...) at kernel/qeventloop.cpp:201
#6  0x08d2c5a8 in QThread::exec (this=0x99f97f0) at thread/qthread.cpp:487
#7  0x00569ced in Digikam::ImageFilterModelWorker::Thread::run (this=0x99f97f0) at /build/buildd/digikam-1.2.0/obj-i486-linux-gnu/digikam/../../libs/models/imagefiltermodelthreads.h:66
#8  0x08d2f32e in QThreadPrivate::start (arg=0x99f97f0) at thread/qthread_unix.cpp:248
#9  0x0045896e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#10 0x08684a4e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 13 (Thread 0xb4affb70 (LWP 7708)):
#0  0x00f2a422 in __kernel_vsyscall ()
#1  0x08676b86 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0x04cc24eb in g_poll () from /lib/libglib-2.0.so.0
#3  0x04cb50ac in ?? () from /lib/libglib-2.0.so.0
#4  0x04cb54b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x08e5d60f in QEventDispatcherGlib::processEvents (this=0x986f630, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#6  0x08e30059 in QEventLoop::processEvents (this=0xb4aff280, flags=) at kernel/qeventloop.cpp:149
#7  0x08e304aa in QEventLoop::exec (this=0xb4aff280, flags=...) at kernel/qeventloop.cpp:201
#8  0x08d2c5a8 in QThread::exec (this=0x9a24fb8) at thread/qthread.cpp:487
#9  0x00569ced in Digikam::ImageFilterModelWorker::Thread::run (this=0x9a24fb8) at /build/buildd/digikam-1.2.0/obj-i486-linux-gnu/digikam/../../libs/models/imagefiltermodelthreads.h:66
#10 0x08d2f32e in QThreadPrivate::start (arg=0x9a24fb8) at thread/qthread_unix.cpp:248
#11 0x0045896e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#12 0x08684a4e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 12 (Thread 0xb42feb70 (LWP 7709)):
[KCrash Handler]
#6  0x00f2a422 in __kernel_vsyscall ()
#7  0x085e1651 in raise () from /lib/tls/i686/cmov/libc.so.6
#8  0x085e4a82 in abort () from /lib/tls/i686/cmov/libc.so.6
#9  0x00d7c52f in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6
#10 0x00d7a465 in ?? () from /usr/lib/libstdc++.so.6
#11 0x00d7a4a2 in std::terminate() () from /usr/lib/libstdc++.so.6
#12 0x00d7a5e1 in __cxa_throw () from /usr/lib/libstdc++.so.6
#13 0x00d7ac5f in operator new(unsigned int) () from /usr/lib/libstdc++.so.6
#14 0x02e087bb in void std::vector<unsigned char, std::allocator<unsigned char> >::_M_assign_aux<unsigned char const*>(unsigned char const*, unsigned char const*, std::forward_iterator_tag) ()
   from /usr/lib/libexiv2.so.6
#15 0x02e03bc5 in Exiv2::DataValue::read(unsigned char const*, long, Exiv2::ByteOrder) () from /usr/lib/libexiv2.so.6
#16 0x02d8e8a1 in Exiv2::IptcParser::decode(Exiv2::IptcData&, unsigned char const*, unsigned int) () from /usr/lib/libexiv2.so.6
#17 0x02d94709 in Exiv2::JpegBase::readMetadata() () from /usr/lib/libexiv2.so.6
#18 0x001246d5 in KExiv2Iface::KExiv2::load(QString const&) const () from /usr/lib/libkexiv2.so.8
#19 0x09367b8c in Digikam::DMetadata::load (this=0xb42fdf28, filePath=...) at /build/buildd/digikam-1.2.0/libs/dmetadata/dmetadata.cpp:78
#20 0x09367bfc in DMetadata (this=0xb42fdf28, filePath=...) at /build/buildd/digikam-1.2.0/libs/dmetadata/dmetadata.cpp:66
#21 0x093b5c2e in Digikam::ThumbnailCreator::createThumbnail (this=0x9a4ac40, info=...) at /build/buildd/digikam-1.2.0/libs/threadimageio/thumbnailcreator.cpp:268
#22 0x093b6ce8 in Digikam::ThumbnailCreator::load (this=0x9a4ac40, path=...) at /build/buildd/digikam-1.2.0/libs/threadimageio/thumbnailcreator.cpp:195
#23 0x093be8b0 in Digikam::ThumbnailLoadingTask::execute (this=0xae21898) at /build/buildd/digikam-1.2.0/libs/threadimageio/thumbnailtask.cpp:133
#24 0x093970da in Digikam::LoadSaveThread::run (this=0x9a4a588) at /build/buildd/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:134
#25 0x08d2f32e in QThreadPrivate::start (arg=0x9a4a588) at thread/qthread_unix.cpp:248
#26 0x0045896e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#27 0x08684a4e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 11 (Thread 0xb3afdb70 (LWP 7710)):
#0  0x024dde16 in clock_gettime () from /lib/tls/i686/cmov/librt.so.1
#1  0x08e5a6fb in qt_gettime () at kernel/qcore_unix.cpp:111
#2  0x08e5f825 in QTimerInfoList::updateCurrentTime (this=0x99fd8d4) at kernel/qeventdispatcher_unix.cpp:340
#3  0x08e5f86a in QTimerInfoList::timerWait (this=0x99fd8d4, tm=...) at kernel/qeventdispatcher_unix.cpp:443
#4  0x08e5d818 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb3afd0dc) at kernel/qeventdispatcher_glib.cpp:136
#5  0x08e5d8a5 in timerSourcePrepare (source=0x0, timeout=0x24e1ff4) at kernel/qeventdispatcher_glib.cpp:169
#6  0x04cb4aca in g_main_context_prepare () from /lib/libglib-2.0.so.0
#7  0x04cb4ee9 in ?? () from /lib/libglib-2.0.so.0
#8  0x04cb54b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#9  0x08e5d60f in QEventDispatcherGlib::processEvents (this=0x9a38960, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#10 0x08e30059 in QEventLoop::processEvents (this=0xb3afd2a0, flags=) at kernel/qeventloop.cpp:149
#11 0x08e304aa in QEventLoop::exec (this=0xb3afd2a0, flags=...) at kernel/qeventloop.cpp:201
#12 0x08d2c5a8 in QThread::exec (this=0x9a20f78) at thread/qthread.cpp:487
#13 0x08d2f32e in QThreadPrivate::start (arg=0x9a20f78) at thread/qthread_unix.cpp:248
#14 0x0045896e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#15 0x08684a4e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 10 (Thread 0xb32fcb70 (LWP 7711)):
#0  0x00ec2247 in ?? () from /usr/lib/libgthread-2.0.so.0
#1  0x04cdb792 in g_thread_self () from /lib/libglib-2.0.so.0
#2  0x04cb54a3 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x08e5d60f in QEventDispatcherGlib::processEvents (this=0x9a4fc08, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#4  0x08e30059 in QEventLoop::processEvents (this=0xb32fc2a0, flags=) at kernel/qeventloop.cpp:149
#5  0x08e304aa in QEventLoop::exec (this=0xb32fc2a0, flags=...) at kernel/qeventloop.cpp:201
#6  0x08d2c5a8 in QThread::exec (this=0x9a441f8) at thread/qthread.cpp:487
#7  0x08d2f32e in QThreadPrivate::start (arg=0x9a441f8) at thread/qthread_unix.cpp:248
#8  0x0045896e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#9  0x08684a4e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 9 (Thread 0xb0d94b70 (LWP 7712)):
#0  0x00f2a422 in __kernel_vsyscall ()
#1  0x0045d342 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x0556cce7 in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 8 (Thread 0xb0188b70 (LWP 7713)):
#0  0x00f2a422 in __kernel_vsyscall ()
#1  0x0867d971 in select () from /lib/tls/i686/cmov/libc.so.6
#2  0x055965cc in xine_usec_sleep () from /usr/lib/libxine.so.1
#3  0x00000000 in ?? ()

Thread 7 (Thread 0xaf987b70 (LWP 7714)):
#0  0x0045af22 in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
#1  0x04cb4b03 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#2  0x04cb4ee9 in ?? () from /lib/libglib-2.0.so.0
#3  0x04cb54b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x08e5d60f in QEventDispatcherGlib::processEvents (this=0x9f8f418, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#5  0x08e30059 in QEventLoop::processEvents (this=0xaf987230, flags=) at kernel/qeventloop.cpp:149
#6  0x08e304aa in QEventLoop::exec (this=0xaf987230, flags=...) at kernel/qeventloop.cpp:201
#7  0x08d2c5a8 in QThread::exec (this=0x9f8f028) at thread/qthread.cpp:487
#8  0x04ac996a in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#9  0x08d2f32e in QThreadPrivate::start (arg=0x9f8f028) at thread/qthread_unix.cpp:248
#10 0x0045896e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#11 0x08684a4e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 6 (Thread 0xab17bb70 (LWP 7720)):
#0  0x08676b88 in poll () from /lib/tls/i686/cmov/libc.so.6
#1  0x08b43a8f in ?? () from /usr/lib/xine/plugins/1.27/xineplug_ao_out_alsa.so
#2  0xb57c404c in ?? ()
#3  0xb4db6be0 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 5 (Thread 0xaa97ab70 (LWP 7721)):
#0  0x00f2a422 in __kernel_vsyscall ()
#1  0x0045d015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x0557d9ee in ?? () from /usr/lib/libxine.so.1
#3  0x00000000 in ?? ()

Thread 4 (Thread 0xa9fffb70 (LWP 7722)):
#0  0x00f2a422 in __kernel_vsyscall ()
#1  0x0045d015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x08d30287 in QWaitConditionPrivate::wait (this=0xa14cba8, mutex=0xa14cba4, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#3  QWaitCondition::wait (this=0xa14cba8, mutex=0xa14cba4, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#4  0x0939710a in Digikam::LoadSaveThread::run (this=0xa14cb98) at /build/buildd/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:131
#5  0x08d2f32e in QThreadPrivate::start (arg=0xa14cb98) at thread/qthread_unix.cpp:248
#6  0x0045896e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0x08684a4e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 3 (Thread 0xaefffb70 (LWP 7729)):
#0  0x00f2a422 in __kernel_vsyscall ()
#1  0x0045d015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x08d30287 in QWaitConditionPrivate::wait (this=0xa30fc38, mutex=0xa30fc34, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#3  QWaitCondition::wait (this=0xa30fc38, mutex=0xa30fc34, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#4  0x0939710a in Digikam::LoadSaveThread::run (this=0xa30fc28) at /build/buildd/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:131
#5  0x08d2f32e in QThreadPrivate::start (arg=0xa30fc28) at thread/qthread_unix.cpp:248
#6  0x0045896e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0x08684a4e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 2 (Thread 0xac7fab70 (LWP 7730)):
#0  0x00f2a422 in __kernel_vsyscall ()
#1  0x0045d015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x08d30287 in QWaitConditionPrivate::wait (this=0xa4002f8, mutex=0xa4002f4, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#3  QWaitCondition::wait (this=0xa4002f8, mutex=0xa4002f4, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#4  0x0939710a in Digikam::LoadSaveThread::run (this=0xa4002e8) at /build/buildd/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:131
#5  0x08d2f32e in QThreadPrivate::start (arg=0xa4002e8) at thread/qthread_unix.cpp:248
#6  0x0045896e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0x08684a4e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb7712760 (LWP 7704)):
#0  0x08676b88 in poll () from /lib/tls/i686/cmov/libc.so.6
#1  0x07398d60 in ?? () from /usr/lib/libxcb.so.1
#2  0x073992cb in ?? () from /usr/lib/libxcb.so.1
#3  0x07399667 in xcb_writev () from /usr/lib/libxcb.so.1
#4  0x02296d79 in _XSend () from /usr/lib/libX11.so.6
#5  0x02297390 in _XEventsQueued () from /usr/lib/libX11.so.6
#6  0x0227fadf in XEventsQueued () from /usr/lib/libX11.so.6
#7  0x0177238e in x11EventSourcePrepare (s=0x966f710, timeout=0xbfd75bfc) at kernel/qguieventdispatcher_glib.cpp:79
#8  0x04cb4aca in g_main_context_prepare () from /lib/libglib-2.0.so.0
#9  0x04cb4ee9 in ?? () from /lib/libglib-2.0.so.0
#10 0x04cb54b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#11 0x08e5d5d5 in QEventDispatcherGlib::processEvents (this=0x9631c08, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#12 0x01772135 in QGuiEventDispatcherGlib::processEvents (this=0x9631c08, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#13 0x08e30059 in QEventLoop::processEvents (this=0xbfd75e14, flags=) at kernel/qeventloop.cpp:149
#14 0x08e304aa in QEventLoop::exec (this=0xbfd75e14, flags=...) at kernel/qeventloop.cpp:201
#15 0x08e3469f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#16 0x016b2577 in QApplication::exec () at kernel/qapplication.cpp:3579
#17 0x083c2c35 in main (argc=5, argv=0xbfd76314) at /build/buildd/digikam-1.2.0/digikam/main.cpp:193

Reported using DrKonqi
Comment 1 caulier.gilles 2011-03-11 22:55:32 UTC
This problem is probably fixed  with recent release. Please update to last 1.9.0 release and try again.

Gilles Caulier
Comment 2 BiBlop 2011-03-12 10:16:09 UTC
(In reply to comment #1)

Ok thanks. I can not find a package of digiKam 1.9.0 for Ubuntu 10.04...


(In reply to comment #1)
> This problem is probably fixed  with recent release. Please update to last
> 1.9.0 release and try again.
> 
> Gilles Caulier
Comment 3 BiBlop 2011-03-20 12:21:36 UTC
Upgraded to 1.9.0. Still crashes when trying to access one directory.
Comment 4 caulier.gilles 2011-07-06 11:08:05 UTC
We need feedback using a recent version. 2.0.0 RC is out, please test...

Thanks in advance

Gilles Caulier
Comment 5 caulier.gilles 2011-11-03 12:42:05 UTC
digiKam 2.2.0 is out since few weeks. Crash still valid with this version ?

Gilles Caulier
Comment 6 BiBlop 2011-12-13 18:47:18 UTC
Still crashing... It seems to be a filesystem error or something like that. It happens on only one file over 4000... So, minor, very minor bug...

For me, you can close it.
Comment 7 Ananta Palani 2011-12-13 19:10:47 UTC
4000 is an interesting number.. most linux systems set a default file limit of 1000 to 4000 file handles per process. I'm not sure if digiKam (or KDE) should be holding so many handles open, but out of curiosity what is the output when you run the following from shell:

ulimit -n
Comment 8 BiBlop 2011-12-13 19:58:24 UTC
In the buggy folder, I've got 12 JPEG files. The 'ulimit -n' says 1024.
I can open files under Gnome with Eye Of Gnome.
I'm using DigiKam 2.1.1 under Ubuntu 11.09. I'll try v2.2 if I found a Deb.

Generated crash information :

Application: digiKam (digikam), signal: Aborted
[Current thread is 1 (Thread 0xb4d288c0 (LWP 19914))]

Thread 6 (Thread 0xb40bfb70 (LWP 19917)):
#0  0x0027b416 in __kernel_vsyscall ()
#1  0x05e3b40e in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0x02ef134b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x02ee2896 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x02ee2f9b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0x0372ecea in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
#6  0x02f095f4 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0x040a1d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0x05e4a0ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 5 (Thread 0xb2da9b70 (LWP 19918)):
#0  0x0027b416 in __kernel_vsyscall ()
#1  0x040a5a5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x05e57cfc in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x04abdcc0 in wait (time=4294967295, this=0x98d4800) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x98d472c, mutex=0x98d4728, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x081faf45 in Digikam::ScanController::run (this=0x98cd048) at /build/buildd/digikam-2.1.1/core/digikam/database/scancontroller.cpp:647
#6  0x04abd7b3 in QThreadPrivate::start (arg=0x98cd048) at thread/qthread_unix.cpp:331
#7  0x040a1d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0x05e4a0ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 4 (Thread 0xb25a8b70 (LWP 19919)):
#0  0x0027b416 in __kernel_vsyscall ()
#1  0x05e3b40e in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0x02ef134b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x02ee2896 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x02ee2c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0x04be6b37 in QEventDispatcherGlib::processEvents (this=0x98ca3c8, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#6  0x04bb71dd in QEventLoop::processEvents (this=0xb25a8100, flags=...) at kernel/qeventloop.cpp:149
#7  0x04bb7421 in QEventLoop::exec (this=0xb25a8100, flags=...) at kernel/qeventloop.cpp:201
#8  0x04aba90b in QThread::exec (this=0x98cf078) at thread/qthread.cpp:498
#9  0x04b97e2d in QInotifyFileSystemWatcherEngine::run (this=0x98cf078) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x04abd7b3 in QThreadPrivate::start (arg=0x98cf078) at thread/qthread_unix.cpp:331
#11 0x040a1d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#12 0x05e4a0ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 3 (Thread 0xb48c0b70 (LWP 19960)):
[KCrash Handler]
#7  0x0027b416 in __kernel_vsyscall ()
#8  0x05da5c8f in raise () from /lib/i386-linux-gnu/libc.so.6
#9  0x05da92b5 in abort () from /lib/i386-linux-gnu/libc.so.6
#10 0x039824ed in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#11 0x03980283 in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#12 0x039802bf in std::terminate() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#13 0x03980464 in __cxa_rethrow () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#14 0x04ab174d in QThreadPoolThread::run (this=0xac1e360) at concurrent/qthreadpool.cpp:113
#15 0x04abd7b3 in QThreadPrivate::start (arg=0xac1e360) at thread/qthread_unix.cpp:331
#16 0x040a1d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#17 0x05e4a0ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 2 (Thread 0xa8dffb70 (LWP 19963)):
#0  0x015aeba5 in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#1  0x015aec3e in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#2  0x015ad4d8 in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#3  0x040a1d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#4  0x05e4a0ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 1 (Thread 0xb4d288c0 (LWP 19914)):
#0  0x0027b416 in __kernel_vsyscall ()
#1  0x040a5a5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x05e57cfc in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x04abdcc0 in wait (time=4294967295, this=0xaf85df8) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0xaf85de8, mutex=0xaf85dd0, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x04abd475 in QThread::wait (this=0xac1e360, time=4294967295) at thread/qthread_unix.cpp:745
#6  0x04ab2261 in QThreadPoolPrivate::reset (this=0x9b65190) at concurrent/qthreadpool.cpp:277
#7  0x04ab23eb in QThreadPool::~QThreadPool (this=0x9b65180, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:429
#8  0x04ab2442 in QThreadPool::~QThreadPool (this=0x9b65180, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:430
#9  0x04bcc841 in QObjectPrivate::deleteChildren (this=0x9b64d80) at kernel/qobject.cpp:1955
#10 0x04bd1439 in QObject::~QObject (this=0x9b64d70, __in_chrg=<optimized out>) at kernel/qobject.cpp:946
#11 0x00f4ec38 in Digikam::ThreadManager::~ThreadManager (this=0x9b64d70, __in_chrg=<optimized out>) at /build/buildd/digikam-2.1.1/core/libs/threads/threadmanager.cpp:257
#12 0x00f4ecc9 in ~ThreadManagerCreator (this=0x9b64d70, __in_chrg=<optimized out>) at /build/buildd/digikam-2.1.1/core/libs/threads/threadmanager.cpp:236
#13 destroy () at /build/buildd/digikam-2.1.1/core/libs/threads/threadmanager.cpp:241
#14 0x00d30959 in KCleanUpGlobalStatic::~KCleanUpGlobalStatic (this=0x11648c4, __in_chrg=<optimized out>) at /usr/include/kglobal.h:62
#15 0x05daa981 in ?? () from /lib/i386-linux-gnu/libc.so.6
#16 0x05daaa0d in exit () from /lib/i386-linux-gnu/libc.so.6
#17 0x0314dc0f in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#18 0x01351749 in KApplication::xioErrhandler (this=0xbfc0b490, dpy=0x96aa758) at ../../kdeui/kernel/kapplication.cpp:419
#19 0x01351784 in kde_xio_errhandler (dpy=0x96aa758) at ../../kdeui/kernel/kapplication.cpp:126
#20 0x094bde14 in _XIOError () from /usr/lib/i386-linux-gnu/libX11.so.6
#21 0x094bb49f in _XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#22 0x094abc88 in XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#23 0x02561c05 in x11EventSourceCheck (s=0x969a6b8) at kernel/qguieventdispatcher_glib.cpp:85
#24 0x02ee1f24 in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#25 0x02ee28f0 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#26 0x02ee2c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#27 0x04be6ada in QEventDispatcherGlib::processEvents (this=0x9657598, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#28 0x02561e3a in QGuiEventDispatcherGlib::processEvents (this=0x9657598, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#29 0x04bb71dd in QEventLoop::processEvents (this=0xbfc0b374, flags=...) at kernel/qeventloop.cpp:149
#30 0x04bb7421 in QEventLoop::exec (this=0xbfc0b374, flags=...) at kernel/qeventloop.cpp:201
#31 0x04bbc19d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#32 0x024a78f4 in QApplication::exec () at kernel/qapplication.cpp:3760
#33 0x080b4b64 in main (argc=) at /build/buildd/digikam-2.1.1/core/digikam/main/main.cpp:232
Comment 9 caulier.gilles 2011-12-13 20:59:39 UTC
No more suitable info in this backtrace. No digiKam code relevant...

Gilles Caulier
Comment 10 Andi Clemens 2011-12-25 22:55:50 UTC
Gilles, 

Frame 11-13 contains digiKam code... don't know if it is relevant though.
Comment 11 caulier.gilles 2011-12-26 08:11:25 UTC
Andi,

Crash is in Thread 3, not thread 1.

If i take a look in old backtrace (not last one), crash is relevant on Exiv2 library.

In last trace, it do not go down into Exiv2. Perhaps Exiv2 debug package is missing with 2.1.1 release.

Bibop, 

Which Exiv2 release you use exactly ? Go to Help/Component Info dialog of digiKam for details.

Gilles Caulier
Comment 12 BiBlop 2011-12-26 11:25:02 UTC
Gilles,

This bug is probably not relevent to digikam. Pictures in this folder are negative film scanned with a windows virual box machine. They were writed by Photoshop on a network shared folder. So if you do not understand why it crashes, do not search a lot. (My 2 cent opinion.)

All the informations about installed components :

digiKam version 2.1.1
Dématriçage parallélisé: Oui
Exiv2 peut écrire dans un fichier JP2: Oui
Exiv2 peut écrire dans un fichier JPEG: Oui
Exiv2 peut écrire dans un fichier PGF: Oui
Exiv2 peut écrire dans un fichier PNG: Oui
Exiv2 peut écrire dans un fichier TIFF: Oui
Exiv2 prend en charge les métadonnées XMP: Oui
LibCImg: 130
LibClapack: internal library
LibExiv2: 0.21.1
LibJPEG: 62
LibJasper: 1.900.1
LibKDE: 4.7.3 (4.7.3)
LibKExiv2: 2.0.0
LibKGeoMap: 2.0.0
LibKdcraw: 2.0.0
LibLCMS: 119
LibPGF: 6.11.24 - internal library
LibPNG: 1.2.46
LibQt: 4.7.4
LibRaw: 0.13.5
LibTIFF: LIBTIFF, Version 3.9.5 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc.
Marble Widget: 0.12.0 (stable release)
LibKface: 2.0.0
LibKipi: 1.2.0
LibOpenCV: 2.1.0
Libface: 0.2
Moteur de base de données: QSQLITE
Comment 13 caulier.gilles 2011-12-26 12:32:25 UTC
Biblop,

Sure the trace is outside digiKam. As Exiv2 library is an external component of digiKam, i suspect it.

You use last Exiv2 version. 

I recommend to install Exiv2 debug package and to run digiKam through GDB, and get a better backtrace.

Gilles Caulier
Comment 14 Marcel Wiesweg 2012-01-14 10:43:27 UTC
A sample picture may be interesting.

With the second backtrace, an exception is rethrown. To get the original crash place, you need to run digikam under gdb, type "catch throw" and then "run", provoke the crash and get a backtrace "bt".

I definitely recommend to test with a current version of libkexiv2. If it's still a libkexiv2 problem, please try to parse the file with the exiv2 command line program.
Comment 15 BiBlop 2012-01-14 11:55:15 UTC
So... The backtrace is here (is there enough informations ?) :

#0  0x02e1d3a0 in __cxa_throw () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#1  0x02e1da2f in operator new(unsigned int) ()
   from /usr/lib/i386-linux-gnu/libstdc++.so.6
#2  0x03f5687b in void std::vector<unsigned char, std::allocator<unsigned char> >::_M_assign_aux<unsigned char const*>(unsigned char const*, unsigned char const*, std::forward_iterator_tag) () from /usr/lib/libexiv2.so.10
#3  0x03f50f95 in Exiv2::DataValue::read(unsigned char const*, long, Exiv2::ByteOrder) () from /usr/lib/libexiv2.so.10
#4  0x03ebe8f0 in Exiv2::IptcParser::decode(Exiv2::IptcData&, unsigned char const*, unsigned int) () from /usr/lib/libexiv2.so.10
#5  0x03ec874b in Exiv2::JpegBase::readMetadata() ()
   from /usr/lib/libexiv2.so.10
#6  0x00a8e23c in KExiv2Iface::KExiv2Previews::KExiv2Previews(QString const&)
    () from /usr/lib/libkexiv2.so.10
#7  0x00e7fdb1 in Digikam::PreviewLoadingTask::execute (this=0x98cebd8)
    at /build/buildd/digikam-2.1.1/core/libs/threadimageio/previewtask.cpp:208
#8  0x00e674e8 in Digikam::LoadSaveThread::run (this=0x8591288)
    at /build/buildd/digikam-2.1.1/core/libs/threadimageio/loadsavethread.cpp:118
#9  0x00eb28ee in Digikam::DynamicThread::DynamicThreadPriv::run (
    this=0x8a778a0)
    at /build/buildd/digikam-2.1.1/core/libs/threads/dynamicthread.cpp:328
#10 0x02ab2651 in QThreadPoolThread::run (this=0x992d018)
---Type <return> to continue, or q <return> to quit---
    at concurrent/qthreadpool.cpp:106
#11 0x02abe7b3 in QThreadPrivate::start (arg=0x992d018)
    at thread/qthread_unix.cpp:331
#12 0x041ddd31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#13 0x02f730ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

-------------------------------------------

Exiv2 command line says on a buggy file :
"Warning: IPTC dataset Iptc.Application2.Preview has invalid size 0; skipped."

Files were created with Adobe Photoshop CS4.
Comment 16 Marcel Wiesweg 2012-01-14 16:55:30 UTC
This fits quite well; the crash occurs when the IPTC preview is attempted to be loaded. Is it possible you make the picture accessible? Sending by private mail is possible. I will if necessary give it to the exiv2 developers.
Comment 17 BiBlop 2012-01-14 21:26:44 UTC
(In reply to comment #16)

I sent you, by mail, the file I used for generating the backtrace.
Comment 18 Marcel Wiesweg 2012-01-15 21:17:42 UTC
Found it, thanks! Somehow got into the spam filter...
Comment 19 caulier.gilles 2015-06-27 13:43:09 UTC
New digiKam 4.11.0 is available :

https://www.digikam.org/node/740

Can you reproduce the problem with this release ?

Gilles caulier
Comment 20 caulier.gilles 2015-08-22 06:36:26 UTC
digiKam 4.12.0 is out :

https://www.digikam.org/node/741

We need a fresh feedback using this release please...
Thanks in advance.
Comment 21 caulier.gilles 2016-07-14 12:51:14 UTC
This problem is not reproducible using last digiKam 5.0.0 + Exiv2 0.25.
I close this file now. Don't hesitate to re-open if necessary.
Gilles Caulier