Summary: | digikam crashed when selecting tags for photos (typo) | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Antiw <antiw7> |
Component: | Usability-i18n | Assignee: | 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: 0.9 beta1 Andreas, The crash is relevant of Exiv2 0.10.0... Are you any suggestions about ? Gilles Antiw, witch Exiv2 release you use ? Can you try with the current implementations from svn (digiKam and Exiv2) Gilles 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. Antiw, About valgrind instructions, please look at end of HACKING files from digikam svn reprository. Gilles 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. 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 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. Antiw, This crash still reproductible using digiKam/DigikamImagePlugins 0.9.0-RC2 and Exiv2 0.12 ? Thanks in advance for your feedback. Gilles Caulier Antiw, is this crash still reproducible using digikam 0.9.2-beta3 and exiv2 0.14 ? Many thanks in advance for any feedback! 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 Thanks a lot for the feedback, closing this bug now. Not reproducible with digiKam 7.3.0 and Exiv2 0.27.4 |