[Digikam-devel] [Bug 134999] crash in exiv2 when searching for new images

Christian Weiske cweiske at cweiske.de
Mon Oct 2 16:06:28 BST 2006


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=134999         




------- Additional Comments From cweiske cweiske de  2006-10-02 17:06 -------
Ok, the crash with valgrind output:
--------------
==30650== Invalid write of size 2
==30650==    at 0x5764FA6: QLatin15Codec::toUnicode(char const*, int) const (in /usr/qt/3/lib/libqt-mt.so.3.3.6)
==30650==    by 0x42F849C: Digikam::DMetadata::detectEncodingAndDecode(std::string const&) (in /usr/lib/libdigikam.so.0.0.0)
==30650==    by 0x43AA18B: (within /usr/lib/libdigikam.so.0.0.0)
==30650==  Address 0x5FA5DD8 is 16 bytes before a block of size 20 free'd
==30650==    at 0x4021D9E: realloc (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==30650==    by 0x59908A7: (within /usr/lib/libfontconfig.so.1.0.4)
==30650==
==30650== Invalid write of size 2
==30650==    at 0x5764F79: QLatin15Codec::toUnicode(char const*, int) const (in /usr/qt/3/lib/libqt-mt.so.3.3.6)
==30650==    by 0x42F849C: Digikam::DMetadata::detectEncodingAndDecode(std::string const&) (in /usr/lib/libdigikam.so.0.0.0)
==30650==    by 0x43AA18B: (within /usr/lib/libdigikam.so.0.0.0)
==30650==  Address 0x5F6D100 is not stack'd, malloc'd or (recently) free'd
==30650==
==30650== Conditional jump or move depends on uninitialised value(s)
==30650==    at 0x5764EDC: QLatin15Codec::toUnicode(char const*, int) const (in /usr/qt/3/lib/libqt-mt.so.3.3.6)
==30650==    by 0x42F849C: Digikam::DMetadata::detectEncodingAndDecode(std::string const&) (in /usr/lib/libdigikam.so.0.0.0)
==30650==    by 0x43AA18B: (within /usr/lib/libdigikam.so.0.0.0)
--30650-- memcheck GC: 65536 nodes, 57677 survivors ( 88.0%)
--30650-- memcheck GC: increase table size to 131072
==30650==
==30650== Invalid write of size 2
==30650==    at 0x5764F86: QLatin15Codec::toUnicode(char const*, int) const (in /usr/qt/3/lib/libqt-mt.so.3.3.6)
==30650==    by 0x42F849C: Digikam::DMetadata::detectEncodingAndDecode(std::string const&) (in /usr/lib/libdigikam.so.0.0.0)
==30650==    by 0x43AA18B: (within /usr/lib/libdigikam.so.0.0.0)
==30650==  Address 0x5F9904C is 268 bytes inside a block of size 272 free'd
==30650==    at 0x4021D9E: realloc (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==30650==    by 0x59908A7: (within /usr/lib/libfontconfig.so.1.0.4)
==30650==
==30650== Invalid write of size 2
==30650==    at 0x5764F96: QLatin15Codec::toUnicode(char const*, int) const (in /usr/qt/3/lib/libqt-mt.so.3.3.6)
==30650==    by 0x42F849C: Digikam::DMetadata::detectEncodingAndDecode(std::string const&) (in /usr/lib/libdigikam.so.0.0.0)
==30650==    by 0x43AA18B: (within /usr/lib/libdigikam.so.0.0.0)
==30650==  Address 0x5F9904E is 270 bytes inside a block of size 272 free'd
==30650==    at 0x4021D9E: realloc (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==30650==    by 0x59908A7: (within /usr/lib/libfontconfig.so.1.0.4)

valgrind: m_mallocfree.c:194 (get_bszB_as_is): Assertion 'bszB_lo == bszB_hi' failed.
valgrind: Heap block lo/hi size mismatch: lo = 382, hi = 4048553543.
Probably caused by overrunning/underrunning a heap block's bounds.

==30650==    at 0x38016EBE: (within /usr/lib/valgrind/x86-linux/memcheck)
==30650==    by 0x38016D54: (within /usr/lib/valgrind/x86-linux/memcheck)
==30650==    by 0x3802105D: (within /usr/lib/valgrind/x86-linux/memcheck)
==30650==    by 0x38037238: (within /usr/lib/valgrind/x86-linux/memcheck)
==30650==    by 0x38001950: (within /usr/lib/valgrind/x86-linux/memcheck)
==30650==    by 0x3803964D: (within /usr/lib/valgrind/x86-linux/memcheck)
==30650==    by 0x3804EB8D: (within /usr/lib/valgrind/x86-linux/memcheck)

sched status:
  running_tid=1

Thread 1: status = VgTs_Runnable
==30650==    at 0x402165C: operator delete(void*) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==30650==    by 0x45FAC8F: std::vector<Exiv2::Entry, std::allocator<Exiv2::Entry> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Exiv2::Entry*, std::vector<Exiv2::Entry, std::allocator<Exiv2::Entry> > >, Exiv2::Entry const&) (in /usr/lib/libexiv2-0.11.so)
==30650==    by 0x461FE72: Exiv2::Ifd::add(Exiv2::Entry const&) (in /usr/lib/libexiv2-0.11.so)
==30650==    by 0x4621784: Exiv2::Ifd::read(unsigned char const*, long, long, Exiv2::ByteOrder, long) (in /usr/lib/libexiv2-0.11.so)
==30650==    by 0x46144AE: Exiv2::ExifData::load(unsigned char const*, long) (in /usr/lib/libexiv2-0.11.so)
==30650==    by 0x462B38D: Exiv2::JpegBase::readMetadata() (in /usr/lib/libexiv2-0.11.so)
==30650==    by 0x432B2CF: Digikam::DMetaLoader::loadWithExiv2(QString const&) (in /usr/lib/libdigikam.so.0.0.0)
--------------


Could it be something with the German umlauts (äöüÄÖÜß) I'm using in my filenames?



More information about the Digikam-devel mailing list