Bug 131935

Summary: digikam crashed when selecting tags for photos (typo)
Product: [Applications] digikam Reporter: Antiw <antiw7>
Component: Usability-i18nAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: ahuggel, caulier.gilles
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 7.3.0
Sentry Crash Report:

Description Antiw 2006-08-06 03:07:12 UTC
Version:            (using KDE KDE 3.5.3)
Installed from:    Compiled From Sources
Compiler:          gcc 4.1.1 Red Hat 4.1.1-1
OS:                Linux

Digikam crashed and this is backtrace:

Using host libthread_db library "/lib/libthread_db.so.1".
`shared object read from target memory' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1209132832 (LWP 3363)]
[KCrash handler]
#6  0x00302417 in Exiv2::Exifdatum::size () from /usr/lib/libexiv2-0.10.so
#7  0x002fcb38 in Exiv2::ExifData::updateRange ()
   from /usr/lib/libexiv2-0.10.so
#8  0x002fcea2 in Exiv2::ExifData::updateEntries ()
   from /usr/lib/libexiv2-0.10.so
#9  0x002fcfab in Exiv2::ExifData::copy () from /usr/lib/libexiv2-0.10.so
#10 0x00315e34 in Exiv2::JpegBase::doWriteMetadata ()
   from /usr/lib/libexiv2-0.10.so
#11 0x0031677e in Exiv2::JpegBase::writeMetadata ()
   from /usr/lib/libexiv2-0.10.so
#12 0x00c95f23 in Digikam::DMetaLoader::saveWithExiv2 (this=0xbfeb38f0, 
    filePath=@0x89bb9d8) at dmetaloader.cpp:148
#13 0x00c96544 in Digikam::JPEGMetaLoader::save (this=0xbfeb38f0, 
    filePath=@0x89bb9d8) at jpegmetaloader.cpp:40
#14 0x00c93104 in Digikam::DMetadata::save (this=0xbfeb3994, 
    filePath=@0x89bb9d8, ff=Digikam::DImg::JPEG) at dmetadata.cpp:273
#15 0x00c9322a in Digikam::DMetadata::applyChanges (this=0xbfeb3994)
    at dmetadata.cpp:80
#16 0x00b05801 in Digikam::AlbumIconView::slotAssignTag (this=0x871d980, 
    tagID=24) at albumiconview.cpp:1718
#17 0x00b0c36c in Digikam::AlbumIconView::qt_invoke (this=0x871d980, _id=78, 
    _o=0xbfeb3a84) at albumiconview.moc:254
#18 0x03e411aa in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#19 0x03e41bb2 in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#20 0x00b24fb5 in Digikam::TagsPopupMenu::signalTagActivated (this=0x89c6020, 
    t0=24) at tagspopupmenu.moc:94
#21 0x00b251ea in Digikam::TagsPopupMenu::slotActivated (this=0x89c6020, 
    id=1024) at tagspopupmenu.cpp:336
#22 0x00b25f48 in Digikam::TagsPopupMenu::qt_invoke (this=0x89c6020, _id=58, 
    _o=0xbfeb3bf4) at tagspopupmenu.moc:101
#23 0x03e411aa in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#24 0x03e41bb2 in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#25 0x041e35c0 in QPopupMenu::activated ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#26 0x03f5f70c in QPopupMenu::actSig () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#27 0x03f5fcc7 in QPopupMenu::mouseReleaseEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#28 0x03e7e445 in QWidget::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#29 0x03dd868b in QApplication::internalNotify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#30 0x03dd9cb7 in QApplication::notify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#31 0x05991a03 in KApplication::notify () from /usr/lib/libkdecore.so.4
#32 0x03d70b70 in QETWidget::translateMouseEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#33 0x03d6ec9f in QApplication::x11ProcessEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#34 0x03d80a6b in QEventLoop::processEvents ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#35 0x03df1b30 in QEventLoop::enterLoop ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#36 0x03dd810f in QApplication::enter_loop ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#37 0x00b27c35 in Digikam::SyncJob::enter_loop (this=0xbfeb4648)
    at syncjob.cpp:148
#38 0x00b27d90 in Digikam::SyncJob::getTagThumbnailPriv (this=0xbfeb4648, 
    name=@0xbfeb4748, size=16) at syncjob.cpp:187
#39 0x00b28182 in Digikam::SyncJob::getTagThumbnail (name=@0xbfeb4748, 
    size=16) at syncjob.cpp:86
#40 0x00b258cc in Digikam::TagsPopupMenu::iterateAndBuildMenu (
    this=0x89c6020, menu=0x89c6c80, album=0x88f1b78) at tagspopupmenu.cpp:283
#41 0x00b2562b in Digikam::TagsPopupMenu::buildSubMenu (this=0x89c6020, 
    tagid=6) at tagspopupmenu.cpp:184
#42 0x00b25901 in Digikam::TagsPopupMenu::iterateAndBuildMenu (
    this=0x89c6020, menu=0x89c6020, album=0x88eeef0) at tagspopupmenu.cpp:286
#43 0x00b25ec5 in Digikam::TagsPopupMenu::slotAboutToShow (this=0x89c6020)
    at tagspopupmenu.cpp:249
#44 0x00b25f18 in Digikam::TagsPopupMenu::qt_invoke (this=0x89c6020, _id=57, 
    _o=0xbfeb4a38) at tagspopupmenu.moc:100
#45 0x03e411aa in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#46 0x03e41d1d in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#47 0x041e38ac in QPopupMenu::aboutToShow ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#48 0x03f619b3 in QPopupMenu::subMenuTimer ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#49 0x041e37d3 in QPopupMenu::qt_invoke ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#50 0x03e411aa in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#51 0x03e41d1d in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#52 0x041cd229 in QTimer::timeout () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#53 0x03e6884f in QTimer::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#54 0x03dd868b in QApplication::internalNotify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#55 0x03dd9ad9 in QApplication::notify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#56 0x05991a03 in KApplication::notify () from /usr/lib/libkdecore.so.4
#57 0x03dcc492 in QEventLoop::activateTimers ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#58 0x03d80aff in QEventLoop::processEvents ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#59 0x03df1b30 in QEventLoop::enterLoop ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#60 0x03dd810f in QApplication::enter_loop ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#61 0x00b27c35 in Digikam::SyncJob::enter_loop (this=0xbfeb52a8)
    at syncjob.cpp:148
#62 0x00b27d90 in Digikam::SyncJob::getTagThumbnailPriv (this=0xbfeb52a8, 
    name=@0xbfeb53a8, size=16) at syncjob.cpp:187
#63 0x00b28182 in Digikam::SyncJob::getTagThumbnail (name=@0xbfeb53a8, 
    size=16) at syncjob.cpp:86
#64 0x00b258cc in Digikam::TagsPopupMenu::iterateAndBuildMenu (
    this=0x89c6020, menu=0x8997188, album=0x89009b8) at tagspopupmenu.cpp:283
#65 0x00b2562b in Digikam::TagsPopupMenu::buildSubMenu (this=0x89c6020, 
    tagid=5) at tagspopupmenu.cpp:184
#66 0x00b25901 in Digikam::TagsPopupMenu::iterateAndBuildMenu (
    this=0x89c6020, menu=0x89c6020, album=0x88eeef0) at tagspopupmenu.cpp:286
#67 0x00b25ec5 in Digikam::TagsPopupMenu::slotAboutToShow (this=0x89c6020)
    at tagspopupmenu.cpp:249
#68 0x00b25f18 in Digikam::TagsPopupMenu::qt_invoke (this=0x89c6020, _id=57, 
    _o=0xbfeb5698) at tagspopupmenu.moc:100
#69 0x03e411aa in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#70 0x03e41d1d in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#71 0x041e38ac in QPopupMenu::aboutToShow ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#72 0x03f619b3 in QPopupMenu::subMenuTimer ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#73 0x041e37d3 in QPopupMenu::qt_invoke ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#74 0x03e411aa in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#75 0x03e41d1d in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#76 0x041cd229 in QTimer::timeout () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#77 0x03e6884f in QTimer::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#78 0x03dd868b in QApplication::internalNotify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#79 0x03dd9ad9 in QApplication::notify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#80 0x05991a03 in KApplication::notify () from /usr/lib/libkdecore.so.4
#81 0x03dcc492 in QEventLoop::activateTimers ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#82 0x03d80aff in QEventLoop::processEvents ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#83 0x03df1b30 in QEventLoop::enterLoop ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#84 0x03dd810f in QApplication::enter_loop ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#85 0x03f61764 in QPopupMenu::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#86 0x00b0b7fc in Digikam::AlbumIconView::slotRightButtonClicked (
    this=0x871d980, item=0x89c77f8, pos=@0xbfeb6828) at albumiconview.cpp:641
#87 0x00b0c25f in Digikam::AlbumIconView::qt_invoke (this=0x871d980, _id=71, 
    _o=0xbfeb64d0) at albumiconview.moc:247
#88 0x03e411aa in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#89 0x00ae7515 in Digikam::IconView::signalRightButtonClicked (
    this=0x871d980, t0=0x89c77f8, t1=@0xbfeb6828) at iconview.moc:131
#90 0x00aeb212 in Digikam::IconView::contentsMousePressEvent (this=0x871d980, 
    e=0xbfeb6814) at iconview.cpp:903
#91 0x03f6fe41 in QScrollView::viewportMousePressEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#92 0x03f6d73a in QScrollView::eventFilter ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#93 0x03e407ec in QObject::activate_filters ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#94 0x03e4086b in QObject::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#95 0x03e7e0ac in QWidget::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#96 0x03dd868b in QApplication::internalNotify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#97 0x03dd9cb7 in QApplication::notify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#98 0x05991a03 in KApplication::notify () from /usr/lib/libkdecore.so.4
#99 0x03d701a8 in QETWidget::translateMouseEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#100 0x03d6ec9f in QApplication::x11ProcessEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#101 0x03d80a6b in QEventLoop::processEvents ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#102 0x03df1b30 in QEventLoop::enterLoop ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#103 0x03df19f6 in QEventLoop::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#104 0x03dd819f in QApplication::exec ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#105 0x0804a88a in main (argc=7, argv=0xbfeb72e4) at main.cpp:273
Comment 1 Antiw 2006-08-06 03:16:23 UTC
Version: 0.9 beta1
Comment 2 caulier.gilles 2006-08-17 00:59:24 UTC
Andreas,

The crash is relevant of Exiv2 0.10.0... Are you any suggestions about ?

Gilles
Comment 3 caulier.gilles 2006-09-05 16:30:24 UTC
Antiw, 
witch Exiv2 release you use ? Can you try with the current implementations from svn (digiKam and Exiv2)

Gilles
Comment 4 Andreas Huggel 2006-09-05 17:36:48 UTC
Looks similar to the strange problem we had some time ago, at first glance.

Antiw,
+ is the crash reproducable or is it an intermittent crash?
+ what system is this running on? (uname -a)
+ did you compile Exiv2 as well? If not, can you please do so and try again?
+ does it happen on a particular image? If so, can you provide the image?
+ can you run this in Valgrind and post the output? (Gilles has a page with instructions somewhere)

Thanks for your help.
-ahu.
Comment 5 caulier.gilles 2006-09-05 17:47:32 UTC
Antiw,

About valgrind instructions, please look at end of HACKING files from digikam svn reprository.

Gilles
Comment 6 Antiw 2006-09-06 22:44:33 UTC
Hi,
I'm using Fedora Core 5. I've installed Exiv2, Exiv2-devel (ver. 0.10-1) by using yum.
digikam usually crashed or freezed when I assigned a tag for a group selected photos.
I think that the problem may be with the pop-up menu. When I right clicked on a group of photos and choosed a tag. After that, a new pop-up menu appeared, and the only way to cancel it is to press Esc or choose something on that menu.
Thank you for your help.
Comment 7 Antiw 2006-09-06 22:47:19 UTC
Here's some last lines from Valgrind when digikam freezed after I assigned a tag.

...
==7223== 152 errors in context 26 of 31:
==7223== Invalid write of size 1
==7223==    at 0x40069DD: memcpy (mac_replace_strmem.c:394)
==7223==    by 0x45E0F20: Exiv2::Entry::setValue(unsigned short, unsigned, unsigned char const*, long, Exiv2::ByteOrder) (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45D0BF0: Exiv2::ExifData::updateRange(__gnu_cxx::__normal_iterator<Exiv2::Entry*, std::vector<Exiv2::Entry, std::allocator<Exiv2::Entry> > > const&, __gnu_cxx::__normal_iterator<Exiv2::Entry*, std::vector<Exiv2::Entry, std::allocator<Exiv2::Entry> > > const&, Exiv2::ByteOrder) (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45D0EA1: Exiv2::ExifData::updateEntries() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45D0FAA: Exiv2::ExifData::copy() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45E9E33: Exiv2::JpegBase::doWriteMetadata(Exiv2::BasicIo&) (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45EA77D: Exiv2::JpegBase::writeMetadata() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x42EAF22: Digikam::DMetaLoader::saveWithExiv2(QString const&) (dmetaloader.cpp:148)
==7223==    by 0x42EB543: Digikam::JPEGMetaLoader::save(QString const&) (jpegmetaloader.cpp:40)
==7223==    by 0x42E8103: Digikam::DMetadata::save(QString const&, Digikam::DImg::FORMAT) (dmetadata.cpp:273)
==7223==    by 0x42E8229: Digikam::DMetadata::applyChanges() (dmetadata.cpp:80)
==7223==    by 0x415A800: Digikam::AlbumIconView::slotAssignTag(int) (albumiconview.cpp:1718)
==7223==  Address 0x92635DB is 867 bytes inside a block of size 9,663 free'd
==7223==    at 0x400483D: operator delete[](void*) (vg_replace_malloc.c:256)
==7223==    by 0x45D19C7: Exiv2::ExifData::~ExifData() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45EAED2: Exiv2::JpegBase::~JpegBase() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45EB05C: Exiv2::JpegImage::~JpegImage() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x42EB3F6: std::auto_ptr<Exiv2::Image>::~auto_ptr() (memory:259)
==7223==    by 0x42EB286: Digikam::DMetaLoader::loadWithExiv2(QString const&) (dmetaloader.cpp:106)
==7223==    by 0x42EB573: Digikam::JPEGMetaLoader::load(QString const&) (jpegmetaloader.cpp:35)
==7223==    by 0x42E82D8: Digikam::DMetadata::load(QString const&, Digikam::DImg::FORMAT) (dmetadata.cpp:235)
==7223==    by 0x42E906E: Digikam::DMetadata::DMetadata(QString const&, Digikam::DImg::FORMAT) (dmetadata.cpp:70)
==7223==    by 0x415A7D1: Digikam::AlbumIconView::slotAssignTag(int) (albumiconview.cpp:1716)
==7223==    by 0x416136B: Digikam::AlbumIconView::qt_invoke(int, QUObject*) (albumiconview.moc:254)
==7223==    by 0x54BE179: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/lib/qt-3.3/lib/libqt-mt.so.3.3.6)
==7223==
==7223== 171 errors in context 27 of 31:
==7223== Invalid read of size 4
==7223==    at 0x400E477: VKGetValue (in /lib/xvnkb.so.0.2.8)
==7223==  Address 0x6138818 is 0 bytes inside a block of size 1 alloc'd
==7223==    at 0x40051F9: malloc (vg_replace_malloc.c:149)
==7223==    by 0x5ADB84B: XGetWindowProperty (in /usr/lib/libX11.so.6.2.0)
==7223==    by 0x400E45A: VKGetValue (in /lib/xvnkb.so.0.2.8)
==7223==
==7223== 172 errors in context 28 of 31:
==7223== Invalid write of size 1
==7223==    at 0x4006A76: memcpy (mac_replace_strmem.c:394)
==7223==    by 0x45E0F20: Exiv2::Entry::setValue(unsigned short, unsigned, unsigned char const*, long, Exiv2::ByteOrder) (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45D0BF0: Exiv2::ExifData::updateRange(__gnu_cxx::__normal_iterator<Exiv2::Entry*, std::vector<Exiv2::Entry, std::allocator<Exiv2::Entry> > > const&, __gnu_cxx::__normal_iterator<Exiv2::Entry*, std::vector<Exiv2::Entry, std::allocator<Exiv2::Entry> > > const&, Exiv2::ByteOrder) (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45D0EA1: Exiv2::ExifData::updateEntries() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45D0FAA: Exiv2::ExifData::copy() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45E9E33: Exiv2::JpegBase::doWriteMetadata(Exiv2::BasicIo&) (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45EA77D: Exiv2::JpegBase::writeMetadata() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x42EAF22: Digikam::DMetaLoader::saveWithExiv2(QString const&) (dmetaloader.cpp:148)
==7223==    by 0x42EB543: Digikam::JPEGMetaLoader::save(QString const&) (jpegmetaloader.cpp:40)
==7223==    by 0x42E8103: Digikam::DMetadata::save(QString const&, Digikam::DImg::FORMAT) (dmetadata.cpp:273)
==7223==    by 0x42E8229: Digikam::DMetadata::applyChanges() (dmetadata.cpp:80)
==7223==    by 0x415A800: Digikam::AlbumIconView::slotAssignTag(int) (albumiconview.cpp:1718)
==7223==  Address 0x8DBB2B2 is 866 bytes inside a block of size 9,279 free'd
==7223==    at 0x400483D: operator delete[](void*) (vg_replace_malloc.c:256)
==7223==    by 0x45D19C7: Exiv2::ExifData::~ExifData() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45EAED2: Exiv2::JpegBase::~JpegBase() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45EB05C: Exiv2::JpegImage::~JpegImage() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x42EB3F6: std::auto_ptr<Exiv2::Image>::~auto_ptr() (memory:259)
==7223==    by 0x42EB286: Digikam::DMetaLoader::loadWithExiv2(QString const&) (dmetaloader.cpp:106)
==7223==    by 0x42EB573: Digikam::JPEGMetaLoader::load(QString const&) (jpegmetaloader.cpp:35)
==7223==    by 0x42E82D8: Digikam::DMetadata::load(QString const&, Digikam::DImg::FORMAT) (dmetadata.cpp:235)
==7223==    by 0x42E906E: Digikam::DMetadata::DMetadata(QString const&, Digikam::DImg::FORMAT) (dmetadata.cpp:70)
==7223==    by 0x415A7D1: Digikam::AlbumIconView::slotAssignTag(int) (albumiconview.cpp:1716)
==7223==    by 0x416136B: Digikam::AlbumIconView::qt_invoke(int, QUObject*) (albumiconview.moc:254)
==7223==    by 0x54BE179: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/lib/qt-3.3/lib/libqt-mt.so.3.3.6)
==7223==
==7223== 231 errors in context 29 of 31:
==7223== Syscall param write(buf) points to uninitialised byte(s)
==7223==    at 0x5BE4CB3: __write_nocancel (in /lib/libpthread-2.4.so)
==7223==    by 0x5AF450E: _X11TransWrite (in /usr/lib/libX11.so.6.2.0)
==7223==    by 0x5AFA436: (within /usr/lib/libX11.so.6.2.0)
==7223==    by 0x5AFB00F: _XEventsQueued (in /usr/lib/libX11.so.6.2.0)
==7223==    by 0x5AE6C01: XPending (in /usr/lib/libX11.so.6.2.0)
==7223==    by 0x53FAF49: QEventLoop::processEvents(unsigned) (in /usr/lib/qt-3.3/lib/libqt-mt.so.3.3.6)
==7223==    by 0x546EAEF: QEventLoop::enterLoop() (in /usr/lib/qt-3.3/lib/libqt-mt.so.3.3.6)
==7223==    by 0x54550CE: QApplication::enter_loop() (in /usr/lib/qt-3.3/lib/libqt-mt.so.3.3.6)
==7223==    by 0x417CC34: Digikam::SyncJob::enter_loop() (syncjob.cpp:148)
==7223==    by 0x417CD8F: Digikam::SyncJob::getTagThumbnailPriv(QString const&, int) (syncjob.cpp:187)
==7223==    by 0x417D181: Digikam::SyncJob::getTagThumbnail(QString const&, int) (syncjob.cpp:86)
==7223==    by 0x417A8CB: Digikam::TagsPopupMenu::iterateAndBuildMenu(QPopupMenu*, Digikam::TAlbum*) (tagspopupmenu.cpp:283)
==7223==  Address 0x6120B24 is 148 bytes inside a block of size 16,384 alloc'd
==7223==    at 0x40045EB: calloc (vg_replace_malloc.c:279)
==7223==    by 0x5AE51A6: XOpenDisplay (in /usr/lib/libX11.so.6.2.0)
==7223==    by 0x53E63AE: qt_init_internal(int*, char**, _XDisplay*, unsigned long, unsigned long) (in /usr/lib/qt-3.3/lib/libqt-mt.so.3.3.6)
==7223==    by 0x53E6CBB: qt_init(int*, char**, QApplication::Type) (in /usr/lib/qt-3.3/lib/libqt-mt.so.3.3.6)
==7223==    by 0x545A8D2: QApplication::construct(int&, char**, QApplication::Type) (in /usr/lib/qt-3.3/lib/libqt-mt.so.3.3.6)
==7223==    by 0x545ACEA: QApplication::QApplication(int&, char**, bool) (in /usr/lib/qt-3.3/lib/libqt-mt.so.3.3.6)
==7223==    by 0x50ADB6D: KApplication::KApplication(bool, bool) (in /usr/lib/libkdecore.so.4.2.0)
==7223==    by 0x804A545: main (main.cpp:215)
==7223==
==7223== 414 errors in context 30 of 31:
==7223== Invalid write of size 1
==7223==    at 0x40061D4: memset (mac_replace_strmem.c:464)
==7223==    by 0x45E0F07: Exiv2::Entry::setValue(unsigned short, unsigned, unsigned char const*, long, Exiv2::ByteOrder) (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45D0BF0: Exiv2::ExifData::updateRange(__gnu_cxx::__normal_iterator<Exiv2::Entry*, std::vector<Exiv2::Entry, std::allocator<Exiv2::Entry> > > const&, __gnu_cxx::__normal_iterator<Exiv2::Entry*, std::vector<Exiv2::Entry, std::allocator<Exiv2::Entry> > > const&, Exiv2::ByteOrder) (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45D0EA1: Exiv2::ExifData::updateEntries() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45D0FAA: Exiv2::ExifData::copy() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45E9E33: Exiv2::JpegBase::doWriteMetadata(Exiv2::BasicIo&) (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45EA77D: Exiv2::JpegBase::writeMetadata() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x42EAF22: Digikam::DMetaLoader::saveWithExiv2(QString const&) (dmetaloader.cpp:148)
==7223==    by 0x42EB543: Digikam::JPEGMetaLoader::save(QString const&) (jpegmetaloader.cpp:40)
==7223==    by 0x42E8103: Digikam::DMetadata::save(QString const&, Digikam::DImg::FORMAT) (dmetadata.cpp:273)
==7223==    by 0x42E8229: Digikam::DMetadata::applyChanges() (dmetadata.cpp:80)
==7223==    by 0x415A800: Digikam::AlbumIconView::slotAssignTag(int) (albumiconview.cpp:1718)
==7223==  Address 0x92635C2 is 842 bytes inside a block of size 9,663 free'd
==7223==    at 0x400483D: operator delete[](void*) (vg_replace_malloc.c:256)
==7223==    by 0x45D19C7: Exiv2::ExifData::~ExifData() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45EAED2: Exiv2::JpegBase::~JpegBase() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45EB05C: Exiv2::JpegImage::~JpegImage() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x42EB3F6: std::auto_ptr<Exiv2::Image>::~auto_ptr() (memory:259)
==7223==    by 0x42EB286: Digikam::DMetaLoader::loadWithExiv2(QString const&) (dmetaloader.cpp:106)
==7223==    by 0x42EB573: Digikam::JPEGMetaLoader::load(QString const&) (jpegmetaloader.cpp:35)
==7223==    by 0x42E82D8: Digikam::DMetadata::load(QString const&, Digikam::DImg::FORMAT) (dmetadata.cpp:235)
==7223==    by 0x42E906E: Digikam::DMetadata::DMetadata(QString const&, Digikam::DImg::FORMAT) (dmetadata.cpp:70)
==7223==    by 0x415A7D1: Digikam::AlbumIconView::slotAssignTag(int) (albumiconview.cpp:1716)
==7223==    by 0x416136B: Digikam::AlbumIconView::qt_invoke(int, QUObject*) (albumiconview.moc:254)
==7223==    by 0x54BE179: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/lib/qt-3.3/lib/libqt-mt.so.3.3.6)
==7223==
==7223== 450 errors in context 31 of 31:
==7223== Invalid write of size 1
==7223==    at 0x40061DC: memset (mac_replace_strmem.c:464)
==7223==    by 0x45E0F07: Exiv2::Entry::setValue(unsigned short, unsigned, unsigned char const*, long, Exiv2::ByteOrder) (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45D0BF0: Exiv2::ExifData::updateRange(__gnu_cxx::__normal_iterator<Exiv2::Entry*, std::vector<Exiv2::Entry, std::allocator<Exiv2::Entry> > > const&, __gnu_cxx::__normal_iterator<Exiv2::Entry*, std::vector<Exiv2::Entry, std::allocator<Exiv2::Entry> > > const&, Exiv2::ByteOrder) (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45D0EA1: Exiv2::ExifData::updateEntries() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45D0FAA: Exiv2::ExifData::copy() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45E9E33: Exiv2::JpegBase::doWriteMetadata(Exiv2::BasicIo&) (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45EA77D: Exiv2::JpegBase::writeMetadata() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x42EAF22: Digikam::DMetaLoader::saveWithExiv2(QString const&) (dmetaloader.cpp:148)
==7223==    by 0x42EB543: Digikam::JPEGMetaLoader::save(QString const&) (jpegmetaloader.cpp:40)
==7223==    by 0x42E8103: Digikam::DMetadata::save(QString const&, Digikam::DImg::FORMAT) (dmetadata.cpp:273)
==7223==    by 0x42E8229: Digikam::DMetadata::applyChanges() (dmetadata.cpp:80)
==7223==    by 0x415A800: Digikam::AlbumIconView::slotAssignTag(int) (albumiconview.cpp:1718)
==7223==  Address 0x92635C4 is 844 bytes inside a block of size 9,663 free'd
==7223==    at 0x400483D: operator delete[](void*) (vg_replace_malloc.c:256)
==7223==    by 0x45D19C7: Exiv2::ExifData::~ExifData() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45EAED2: Exiv2::JpegBase::~JpegBase() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x45EB05C: Exiv2::JpegImage::~JpegImage() (in /usr/lib/libexiv2-0.10.so)
==7223==    by 0x42EB3F6: std::auto_ptr<Exiv2::Image>::~auto_ptr() (memory:259)
==7223==    by 0x42EB286: Digikam::DMetaLoader::loadWithExiv2(QString const&) (dmetaloader.cpp:106)
==7223==    by 0x42EB573: Digikam::JPEGMetaLoader::load(QString const&) (jpegmetaloader.cpp:35)
==7223==    by 0x42E82D8: Digikam::DMetadata::load(QString const&, Digikam::DImg::FORMAT) (dmetadata.cpp:235)
==7223==    by 0x42E906E: Digikam::DMetadata::DMetadata(QString const&, Digikam::DImg::FORMAT) (dmetadata.cpp:70)
==7223==    by 0x415A7D1: Digikam::AlbumIconView::slotAssignTag(int) (albumiconview.cpp:1716)
==7223==    by 0x416136B: Digikam::AlbumIconView::qt_invoke(int, QUObject*) (albumiconview.moc:254)
==7223==    by 0x54BE179: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/lib/qt-3.3/lib/libqt-mt.so.3.3.6)
--7223--
--7223-- supp:    5 Xorg 6.8.1 ICE uninit __write* padding
--7223-- supp:  307 Fedora-Core-5-hack2
==7223==
==7223== IN SUMMARY: 2348 errors from 31 contexts (suppressed: 312 from 2)
==7223==
==7223== malloc/free: in use at exit: 9,143,136 bytes in 198,639 blocks.
==7223== malloc/free: 1,769,539 allocs, 1,570,901 frees, 179,512,280 bytes allocated.
==7223==
==7223== searching for pointers to 198,639 not-freed blocks.
==7223== checked 15,142,628 bytes.
==7223==
==7223== LEAK SUMMARY:
==7223==    definitely lost: 52,002 bytes in 1,201 blocks.
==7223==      possibly lost: 9,108 bytes in 26 blocks.
==7223==    still reachable: 9,082,026 bytes in 197,412 blocks.
==7223==         suppressed: 0 bytes in 0 blocks.
==7223== Use --leak-check=full to see details of leaked memory.
--7223--  memcheck: sanity checks: 9111 cheap, 365 expensive
--7223--  memcheck: auxmaps: 0 auxmap entries (0k, 0M) in use
--7223--  memcheck: auxmaps: 0 searches, 0 comparisons
--7223--  memcheck: secondaries: 1333 issued (85312k, 83M)
--7223--  memcheck: secondaries: 666 accessible and distinguished (42624k, 41M)
--7223--     tt/tc: 4,756,044 tt lookups requiring 113,995,068 probes
--7223--     tt/tc: 4,756,044 fast-cache updates, 5 flushes
--7223-- translate: new        140,701 (3,120,154 -> 47,098,364; ratio 150:10) [0 scs]
--7223-- translate: dumped     0 (0 -> ??)
--7223-- translate: discarded  65 (1,108 -> ??)
--7223-- scheduler: 455,604,129 jumps (bb entries).
--7223-- scheduler: 9,111/8,521,932 major/minor sched events.
--7223--    sanity: 9112 cheap, 365 expensive checks.
--7223--    exectx: 30,011 lists, 182,465 contexts (avg 6 per list)
--7223--    exectx: 3,293,258 searches, 6,011,762 full compares (1,825 per 1000)
--7223--    exectx: 0 cmp2, 7,166 cmp4, 0 cmpAll
Comment 8 Andreas Huggel 2006-11-16 12:38:58 UTC
Antiw,

This could be a duplicate of bug #136855.

Can you still recreate this problem? If so, please upgrade to the latest Exiv2 from SVN and check and report if it helps. Thanks!

-ahu.
Comment 9 caulier.gilles 2006-12-12 09:25:55 UTC
Antiw, 
 
This crash still reproductible using digiKam/DigikamImagePlugins 0.9.0-RC2 and  Exiv2 0.12 ? 
 
Thanks in advance for your feedback. 
 
Gilles Caulier 
Comment 10 Arnd Baecker 2007-06-06 19:42:56 UTC
Antiw, 

is this crash still reproducible using digikam 0.9.2-beta3 and exiv2 0.14 ?

Many thanks in advance for any feedback!
Comment 11 Antiw 2007-06-06 22:41:19 UTC
Hi,
There is NO error in version 0.9.1 and exiv2 0.14.0. I've installed it using yum from Fedora repository. It still works well in Fedora 7.
Best regards
Comment 12 Arnd Baecker 2007-06-06 23:07:19 UTC
Thanks a lot for the feedback, closing this bug now.
Comment 13 caulier.gilles 2021-05-09 14:53:12 UTC
Not reproducible with digiKam 7.3.0 and Exiv2 0.27.4