Summary: | Digikam crashes while rebuilding thumbnail db [sqlite3_free, sqlite3Parser, sqlite3RunParser] | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Joe Kowalski <joekowalski> |
Component: | Database-Sqlite | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED UPSTREAM | ||
Severity: | crash | CC: | ahuggel, caulier.gilles, marcel.wiesweg |
Priority: | NOR | ||
Version: | 1.0.0 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 7.5.0 | |
Sentry Crash Report: | |||
Attachments: |
Console output log of run and crash
Digikam-valgrind outuput |
Description
Joe Kowalski
2009-09-29 06:08:26 UTC
Created attachment 37230 [details]
Console output log of run and crash
Conole output of crash.
I rebuilt sqlite with debugging enabled. It doesn't crash anywhere near as quickly but here's the backtrace: Application: digiKam (digikam), signal: Aborted [Current thread is 0 (LWP 23669)] Thread 14 (Thread 0x7f3292952910 (LWP 23670)): #0 0x00007f329ac2b269 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f329c5370f4 in QWaitConditionPrivate::wait (this=0x1ac34c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 0x00007f329c536df8 in QWaitCondition::wait (this=0x1b495d8, mutex=0x1b495d0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x000000000060d9f0 in Digikam::ScanController::run (this=0x1b63c60) at /var/tmp/paludis/media-gfx-digikam-9999/work/digikam-9999/digikam/scancontroller.cpp:499 #4 0x00007f329c536b42 in QThreadPrivate::start (arg=0x1b63c60) at thread/qthread_unix.cpp:188 #5 0x00007f329ac272d7 in start_thread () from /lib64/libpthread.so.0 #6 0x00007f329af0e38d in clone () from /lib/libc.so.6 #7 0x0000000000000000 in ?? () Thread 13 (Thread 0x7f328fd92910 (LWP 23672)): #0 0x00007f329c5e5f53 in QTimerInfoList::timerWait (this=0x1ec9860, tm=@0x7f328fd91e10) at kernel/qeventdispatcher_unix.cpp:418 #1 0x00007f329c5e4468 in timerSourcePrepare (source=<value optimized out>, timeout=0x7f328fd91e64) at kernel/qeventdispatcher_glib.cpp:141 #2 0x00007f329641cda8 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0 #3 0x00007f329641d4c5 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0 #4 0x00007f329641d767 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #5 0x00007f329c5e3f20 in QEventDispatcherGlib::processEvents (this=0x1eafb70, flags={i = -1881596160}) at kernel/qeventdispatcher_glib.cpp:329 #6 0x00007f329c5c66ad in QEventLoop::processEvents (this=<value optimized out>, flags={i = -1881596016}) at kernel/qeventloop.cpp:149 #7 0x00007f329c5c6847 in QEventLoop::exec (this=0x7f328fd91fd0, flags={i = -1881595936}) at kernel/qeventloop.cpp:197 #8 0x00007f329c534a38 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487 #9 0x00007f329c536b42 in QThreadPrivate::start (arg=0x1eafb10) at thread/qthread_unix.cpp:188 #10 0x00007f329ac272d7 in start_thread () from /lib64/libpthread.so.0 #11 0x00007f329af0e38d in clone () from /lib/libc.so.6 #12 0x0000000000000000 in ?? () Thread 12 (Thread 0x7f328f179910 (LWP 23673)): #0 0x00007f329af05426 in poll () from /lib/libc.so.6 #1 0x00007f329641d632 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0 #2 0x00007f329641d767 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #3 0x00007f329c5e3f20 in QEventDispatcherGlib::processEvents (this=0x20275e0, flags={i = -1894281472}) at kernel/qeventdispatcher_glib.cpp:329 #4 0x00007f329c5c66ad in QEventLoop::processEvents (this=<value optimized out>, flags={i = -1894281328}) at kernel/qeventloop.cpp:149 #5 0x00007f329c5c6847 in QEventLoop::exec (this=0x7f328f178fd0, flags={i = -1894281248}) at kernel/qeventloop.cpp:197 #6 0x00007f329c534a38 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487 #7 0x00007f329c536b42 in QThreadPrivate::start (arg=0x1e7bb70) at thread/qthread_unix.cpp:188 #8 0x00007f329ac272d7 in start_thread () from /lib64/libpthread.so.0 #9 0x00007f329af0e38d in clone () from /lib/libc.so.6 #10 0x0000000000000000 in ?? () Thread 11 (Thread 0x7f328e8f8910 (LWP 23674)): #0 0x00007f329ac2b269 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f329c5370f4 in QWaitConditionPrivate::wait (this=0x1ff64e0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 0x00007f329c536df8 in QWaitCondition::wait (this=0x1ff9c30, mutex=0x1ff9c28, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00007f329de5257a in Digikam::LoadSaveThread::run (this=0x1ff9c10) at /var/tmp/paludis/media-gfx-digikam-9999/work/digikam-9999/libs/threadimageio/loadsavethread.cpp:136 #4 0x00007f329c536b42 in QThreadPrivate::start (arg=0x1ff9c10) at thread/qthread_unix.cpp:188 #5 0x00007f329ac272d7 in start_thread () from /lib64/libpthread.so.0 #6 0x00007f329af0e38d in clone () from /lib/libc.so.6 #7 0x0000000000000000 in ?? () Thread 10 (Thread 0x7f328e0f7910 (LWP 23675)): #0 0x00007f329af05426 in poll () from /lib/libc.so.6 #1 0x00007f329641d632 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0 #2 0x00007f329641d767 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #3 0x00007f329c5e3f20 in QEventDispatcherGlib::processEvents (this=0x1e3d680, flags={i = -1911591168}) at kernel/qeventdispatcher_glib.cpp:329 #4 0x00007f329c5c66ad in QEventLoop::processEvents (this=<value optimized out>, flags={i = -1911591024}) at kernel/qeventloop.cpp:149 #5 0x00007f329c5c6847 in QEventLoop::exec (this=0x7f328e0f6fd0, flags={i = -1911590944}) at kernel/qeventloop.cpp:197 #6 0x00007f329c534a38 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487 #7 0x00007f329c536b42 in QThreadPrivate::start (arg=0x1fe8c60) at thread/qthread_unix.cpp:188 #8 0x00007f329ac272d7 in start_thread () from /lib64/libpthread.so.0 #9 0x00007f329af0e38d in clone () from /lib/libc.so.6 #10 0x0000000000000000 in ?? () Thread 9 (Thread 0x7f328d8f6910 (LWP 23676)): #0 0x00007f329ac2a4a1 in __pthread_mutex_unlock_usercnt () from /lib64/libpthread.so.0 #1 0x00007f329641d7a6 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #2 0x00007f329c5e3f20 in QEventDispatcherGlib::processEvents (this=0x1e3d760, flags={i = -1919983872}) at kernel/qeventdispatcher_glib.cpp:329 #3 0x00007f329c5c66ad in QEventLoop::processEvents (this=<value optimized out>, flags={i = -1919983728}) at kernel/qeventloop.cpp:149 #4 0x00007f329c5c6847 in QEventLoop::exec (this=0x7f328d8f5fd0, flags={i = -1919983648}) at kernel/qeventloop.cpp:197 #5 0x00007f329c534a38 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487 #6 0x00007f329c536b42 in QThreadPrivate::start (arg=0x1f52390) at thread/qthread_unix.cpp:188 #7 0x00007f329ac272d7 in start_thread () from /lib64/libpthread.so.0 #8 0x00007f329af0e38d in clone () from /lib/libc.so.6 #9 0x0000000000000000 in ?? () Thread 8 (Thread 0x7f328d0f5910 (LWP 23677)): #0 0x00007f329ac2b269 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f329c5370f4 in QWaitConditionPrivate::wait (this=0x1f59060, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 0x00007f329c536df8 in QWaitCondition::wait (this=0x1f8dc00, mutex=0x1f8dbf8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00007f329de5257a in Digikam::LoadSaveThread::run (this=0x1f8dbe0) at /var/tmp/paludis/media-gfx-digikam-9999/work/digikam-9999/libs/threadimageio/loadsavethread.cpp:136 #4 0x00007f329c536b42 in QThreadPrivate::start (arg=0x1f8dbe0) at thread/qthread_unix.cpp:188 #5 0x00007f329ac272d7 in start_thread () from /lib64/libpthread.so.0 #6 0x00007f329af0e38d in clone () from /lib/libc.so.6 #7 0x0000000000000000 in ?? () Thread 7 (Thread 0x7f3286868910 (LWP 23678)): #0 0x00007f329ac2b4ed in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f328aab1ffc in metronom_sync_loop () from /usr/lib64/libxine.so.1 #2 0x00007f329ac272d7 in start_thread () from /lib64/libpthread.so.0 #3 0x00007f329af0e38d in clone () from /lib/libc.so.6 #4 0x0000000000000000 in ?? () Thread 6 (Thread 0x7f328542c910 (LWP 23679)): #0 0x00007f329af077a2 in select () from /lib/libc.so.6 #1 0x00007f328aad0947 in xine_usec_sleep () from /usr/lib64/libxine.so.1 #2 0x00007f328aabc63d in video_out_loop () from /usr/lib64/libxine.so.1 #3 0x00007f329ac272d7 in start_thread () from /lib64/libpthread.so.0 #4 0x00007f329af0e38d in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 5 (Thread 0x7f3284c2b910 (LWP 23680)): #0 0x00007f329ac28ec1 in pthread_mutex_lock () from /lib64/libpthread.so.0 #1 0x00007f329641d26a in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0 #2 0x00007f329641d357 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0 #3 0x00007f329641d767 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #4 0x00007f329c5e3f20 in QEventDispatcherGlib::processEvents (this=0x1b812f0, flags={i = -2067616000}) at kernel/qeventdispatcher_glib.cpp:329 #5 0x00007f329c5c66ad in QEventLoop::processEvents (this=<value optimized out>, flags={i = -2067615936}) at kernel/qeventloop.cpp:149 #6 0x00007f329c5c6847 in QEventLoop::exec (this=0x7f3284c2af80, flags={i = -2067615856}) at kernel/qeventloop.cpp:197 #7 0x00007f329c534a38 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487 #8 0x00007f328ad01491 in Phonon::Xine::XineThread::run () from /usr/lib64/kde4/plugins/phonon_backend/phonon_xine.so #9 0x00007f329c536b42 in QThreadPrivate::start (arg=0x1ba1af0) at thread/qthread_unix.cpp:188 #10 0x00007f329ac272d7 in start_thread () from /lib64/libpthread.so.0 #11 0x00007f329af0e38d in clone () from /lib/libc.so.6 #12 0x0000000000000000 in ?? () Thread 4 (Thread 0x7f3284221910 (LWP 23683)): #0 0x00007f329af05426 in poll () from /lib/libc.so.6 #1 0x00007f328422669c in ao_alsa_handle_event_thread () from /usr/lib64/xine/plugins/1.26/xineplug_ao_out_alsa.so #2 0x00007f329ac272d7 in start_thread () from /lib64/libpthread.so.0 #3 0x00007f329af0e38d in clone () from /lib/libc.so.6 #4 0x0000000000000000 in ?? () Thread 3 (Thread 0x7f3283a20910 (LWP 23684)): #0 0x00007f329ac2b269 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f328aabd515 in fifo_peek_int () from /usr/lib64/libxine.so.1 #2 0x00007f328aabf679 in ao_loop () from /usr/lib64/libxine.so.1 #3 0x00007f329ac272d7 in start_thread () from /lib64/libpthread.so.0 #4 0x00007f329af0e38d in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 2 (Thread 0x7f328321f910 (LWP 23687)): [KCrash Handler] #5 0x00007f329ae6e645 in raise () from /lib/libc.so.6 #6 0x00007f329ae6fb63 in abort () from /lib/libc.so.6 #7 0x00007f329aeaaac8 in __libc_message () from /lib/libc.so.6 #8 0x00007f329aeb0258 in malloc_printerr () from /lib/libc.so.6 #9 0x00007f329b6d4fbd in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/libstdc++.so.6 #10 0x00007f3299831227 in Exiv2::ExifKey::makeKey () from /usr/lib64/libexiv2.so.5 #11 0x00007f3299832acc in Exiv2::ExifKey::ExifKey () from /usr/lib64/libexiv2.so.5 #12 0x00007f32998418df in Exiv2::Internal::TiffDecoder::decodeStdTiffEntry () from /usr/lib64/libexiv2.so.5 #13 0x00007f3299838124 in Exiv2::Internal::TiffDirectory::doAccept () from /usr/lib64/libexiv2.so.5 #14 0x00007f3299838144 in Exiv2::Internal::TiffDirectory::doAccept () from /usr/lib64/libexiv2.so.5 #15 0x00007f329983a10d in Exiv2::Internal::TiffParserWorker::decode () from /usr/lib64/libexiv2.so.5 #16 0x00007f329983a1ff in Exiv2::TiffParser::decode () from /usr/lib64/libexiv2.so.5 #17 0x00007f32997fb28b in Exiv2::ExifParser::decode () from /usr/lib64/libexiv2.so.5 #18 0x00007f329980792c in Exiv2::JpegBase::readMetadata () from /usr/lib64/libexiv2.so.5 #19 0x00007f329ef7c24d in KExiv2Iface::KExiv2::load (this=0x7f328321ea70, filePath=@0x7f328321eb70) at /var/tmp/paludis/kde-base-libkexiv2-9999/work/libkexiv2-9999/libs/libkexiv2/libkexiv2/kexiv2.cpp:251 #20 0x00007f329ddfb9f9 in Digikam::DMetadata::load (this=0x5c75, filePath=@0x5c87) at /var/tmp/paludis/media-gfx-digikam-9999/work/digikam-9999/libs/dmetadata/dmetadata.cpp:80 #21 0x00007f329ddfbaed in DMetadata (this=0x7f328321ea70, filePath=@0x7f328321eb70) at /var/tmp/paludis/media-gfx-digikam-9999/work/digikam-9999/libs/dmetadata/dmetadata.cpp:68 #22 0x00007f329de6050a in Digikam::ThumbnailCreator::createThumbnail (this=0x29771e0, info=@0x7f328321ec20) at /var/tmp/paludis/media-gfx-digikam-9999/work/digikam-9999/libs/threadimageio/thumbnailcreator.cpp:268 #23 0x00007f329de61046 in Digikam::ThumbnailCreator::load (this=0x29771e0, path=@0x3c21ef8) at /var/tmp/paludis/media-gfx-digikam-9999/work/digikam-9999/libs/threadimageio/thumbnailcreator.cpp:195 #24 0x00007f329de655dc in Digikam::ThumbnailLoadingTask::execute (this=0x3c21ee0) at /var/tmp/paludis/media-gfx-digikam-9999/work/digikam-9999/libs/threadimageio/thumbnailtask.cpp:133 #25 0x00007f329de525a6 in Digikam::LoadSaveThread::run (this=0x2977330) at /var/tmp/paludis/media-gfx-digikam-9999/work/digikam-9999/libs/threadimageio/loadsavethread.cpp:139 #26 0x00007f329c536b42 in QThreadPrivate::start (arg=0x2977330) at thread/qthread_unix.cpp:188 #27 0x00007f329ac272d7 in start_thread () from /lib64/libpthread.so.0 #28 0x00007f329af0e38d in clone () from /lib/libc.so.6 #29 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f32a0650740 (LWP 23669)): #0 0x00007f329ac2b269 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f329c5370f4 in QWaitConditionPrivate::wait (this=0x2977460, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 0x00007f329c536df8 in QWaitCondition::wait (this=0x2977440, mutex=0x2977420, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00007f329c53632e in QThread::wait (this=<value optimized out>, time=18446744073709551615) at thread/qthread_unix.cpp:484 #4 0x00007f329de52772 in Digikam::LoadSaveThread::shutdownThread (this=0x2977330) at /var/tmp/paludis/media-gfx-digikam-9999/work/digikam-9999/libs/threadimageio/loadsavethread.cpp:91 #5 0x00007f329de62e06 in ~ThumbnailLoadThread (this=0x297748c) at /var/tmp/paludis/media-gfx-digikam-9999/work/digikam-9999/libs/threadimageio/thumbnailloadthread.cpp:146 #6 0x00007f329ae71225 in __run_exit_handlers () from /lib/libc.so.6 #7 0x00007f329ae71285 in exit () from /lib/libc.so.6 #8 0x00007f329bb1a5ac in qt_xio_errhandler () at kernel/qapplication_x11.cpp:707 #9 0x00007f329d10cfd2 in KApplication::xioErrhandler (this=0x7fff9b73cfe0, dpy=0x1a193f0) at /var/tmp/paludis/kde-base-kdelibs-9999/work/kdelibs-9999/kdeui/kernel/kapplication.cpp:408 #10 0x00007f3299dd34c6 in _XIOError () from /usr/lib64/libX11.so.6 #11 0x00007f3299dd937d in process_responses () from /usr/lib64/libX11.so.6 #12 0x00007f3299dd9a7f in _XEventsQueued () from /usr/lib64/libX11.so.6 #13 0x00007f3299dc79a2 in XEventsQueued () from /usr/lib64/libX11.so.6 #14 0x00007f329bb3efdd in x11EventSourceCheck (s=0x1a175c0) at kernel/qguieventdispatcher_glib.cpp:87 #15 0x00007f329641bc86 in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #16 0x00007f329641d676 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0 #17 0x00007f329641d767 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #18 0x00007f329c5e3f20 in QEventDispatcherGlib::processEvents (this=0x1a13af0, flags={i = -1686909360}) at kernel/qeventdispatcher_glib.cpp:329 #19 0x00007f329bb3eeb6 in QGuiEventDispatcherGlib::processEvents (this=0x297748c, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202 #20 0x00007f329c5c66ad in QEventLoop::processEvents (this=<value optimized out>, flags={i = -1686909264}) at kernel/qeventloop.cpp:149 #21 0x00007f329c5c6847 in QEventLoop::exec (this=0x7fff9b73cef0, flags={i = -1686909184}) at kernel/qeventloop.cpp:197 #22 0x00007f329c5c8a9c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888 #23 0x0000000000669bda in main (argc=<value optimized out>, argv=<value optimized out>) at /var/tmp/paludis/media-gfx-digikam-9999/work/digikam-9999/digikam/main.cpp:186 No. The crash appear in Exiv2 library, not sqlite. Which Exiv2 and libkexiv2 version you use ? Go to Help/Component info for details. I recommend to use last Exiv2 0.18.2. Notet that libkexiv2 need to be recompiled Gilles Caulier Components info: digiKam version 1.0.0-beta5 Exiv2 can write to Jp2: Yes Exiv2 can write to Jpeg: Yes Exiv2 can write to Pgf: No Exiv2 can write to Png: Yes Exiv2 can write to Tiff: Yes Exiv2 supports XMP metadata: Yes LibCImg: 130 LibExiv2: 0.18.2 LibJPEG: 62 LibJasper: 1.900.1 LibKDE: 4.3.69 (KDE 4.3.69 (KDE 4.4 >= 20090923)) LibKExiv2: 1.0.0 LibKdcraw: 1.0.0 LibLCMS: 118 LibPGF: 6.09.33 LibPNG: 1.2.38 LibQt: 4.5.2 LibRaw: 0.8.2 LibTIFF: LIBTIFF, Version 3.8.2 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Parallelized demosaicing: Yes LibGphoto2: 2.4.7 LibKipi: 1.0.0 Digikam & libkexiv2 are actually from trunk, built just this evening, kdelibs rebuilt this evening. libkexiv2 was rebuilt after upgrading to exiv2-0.18.2: paludis -q media-gfx/exiv2 kde-base/libkexiv2 * media-gfx/exiv2 gentoo: 0.17 0.17.1 0.18.1 0.18.1-r1(~) {:0} installed: 0.18.2* {:0} localmaint: 0.18.2(~) {:0} Description: EXIF and IPTC metadata C++ library and command line utility Homepage: http://www.exiv2.org/ License: GPL-2 Installed time: Tue Sep 29 00:56:59 2009 Use flags: (-contrib) (-doc) (-examples) (nls) (unicode) (-xmp) (zlib) linguas: (-de) (-es) (-fi) (-fr) (-pl) (-ru) (-sk) From repositories: localmaint Installed using: paludis-0.40.1 * kde-base/libkexiv2 gentoo: (4.2.4)K {:4.2} (4.3.0)K (4.3.1)K {:4.3} kde: 4.3.68(~r) {:4.4} 4.3.9999(~) {:4.3} 9999(~r) {:live} installed: 9999* {:live} Description: KDE Image Plugin Interface: an exiv2 library wrapper Homepage: http://www.kipi-plugins.org License: GPL-2 Installed time: Tue Sep 29 00:57:31 2009 Use flags: (-aqua) (debug) (-kdeprefix) From repositories: kde Installed using: paludis-0.40.1 The two crashes are from different libraries but look similar. Can you provide a valgrind trace? That might tell more. Andreas First crash: #5 0x00007f9c7aa7e645 in raise () from /lib/libc.so.6 #6 0x00007f9c7aa7fb63 in abort () from /lib/libc.so.6 #7 0x00007f9c7aabaac8 in __libc_message () from /lib/libc.so.6 #8 0x00007f9c7aac0258 in malloc_printerr () from /lib/libc.so.6 #9 0x00007f9c6fdf731d in sqlite3_free () from /usr/lib/libsqlite3.so.0 Second crash: #5 0x00007f329ae6e645 in raise () from /lib/libc.so.6 #6 0x00007f329ae6fb63 in abort () from /lib/libc.so.6 #7 0x00007f329aeaaac8 in __libc_message () from /lib/libc.so.6 #8 0x00007f329aeb0258 in malloc_printerr () from /lib/libc.so.6 #9 0x00007f329b6d4fbd in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/libstdc++.so.6 #10 0x00007f3299831227 in Exiv2::ExifKey::makeKey () from /usr/lib64/libexiv2.so.5 Created attachment 37244 [details]
Digikam-valgrind outuput
Here is part of the 1st 3 hours of valgrind output while rebuilding the thumbnail db. It hasn't crashed yet, but I am seeing errors logged that I haven't seen before:
-------------------
digikam(32419)/digikam (core) Digikam::DImg::load: "/mnt/media/Pictures/CC/CC Newborn/September/bapinvitepicrotatate.bmp" : QIMAGE file identified
Error: Directory Iop: Next pointer is out of bounds; ignored.
Warning: Directory Iop, entry 0x0302 has unknown Exif (TIFF) type 256; setting type size 1.
Error: Offset of directory Iop, entry 0x0302 is out of bounds: Offset = 0x02000000; truncating the entry
Warning: Directory Iop, entry 0x0302 has unknown Exif (TIFF) type 256; setting type size 1.
Warning: Directory Iop, entry 0x0302 has unknown Exif (TIFF) type 256; setting type size 1.
Warning: Directory Iop, entry 0x0502 has unknown Exif (TIFF) type 256; setting type size 1.
Error: Directory Iop, entry 0x0502 has invalid size 436207616*1; skipping entry.
Warning: Directory Iop, entry 0x0502 has unknown Exif (TIFF) type 256; setting type size 1.
Error: Directory Iop, entry 0x0502 has invalid size 570425344*1; skipping entry.
Warning: Directory Iop, entry 0x0802 has unknown Exif (TIFF) type 1536; setting type size 1.
Error: Directory Iop, entry 0x0802 has invalid size 704643072*1; skipping entry.
Warning: Directory Iop, entry 0x0202 has unknown Exif (TIFF) type 1280; setting type size 1.
Error: Directory Iop, entry 0x0202 has invalid size 905969664*1; skipping entry.
Warning: Directory Iop, entry 0x0202 has unknown Exif (TIFF) type 13056; setting type size 1.
Error: Directory Iop, entry 0x0202 has invalid size 1040187392*1; skipping entry.
Warning: Directory Iop, entry 0x0702 has unknown Exif (TIFF) type 8192; setting type size 1.
I believe this bug is a victim of the glibc MALLOC_CHECK bug in glibc 2.10 & 2.11. Running digikam after setting MALLOC_CHECK_="" in the environment makes the crashy behavior go away. Joe, do I understand correctly that this is fixed UPSTREAM? I believe so. The upstream bug is here: http://sourceware.org/bugzilla/show_bug.cgi?id=10282 The comments indicate the patch to fix this will be in 2.11.1 to be released any day now. It might be worth looking at some of the other crash reports recently to see if any others fit this profile (glibc-2.1x). |