Summary: | Editing metadata on a few selected imagefiles and clicking forward or apply crashes digikam. | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Caspar Maessen <cmaessen> |
Component: | Plugin-Generic-MetadataEdit | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | ahuggel |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 0.1.0 | |
Sentry Crash Report: | |||
Attachments: |
imagefile
imagefile imagefile valgrind backtrace text Exiv2Iface test-driver Simple Makefile for the Exiv2Iface test-driver Updated Exiv2Iface test driver |
Description
Caspar Maessen
2006-11-04 23:42:11 UTC
The version information apparantly got lost: digikam svn-601980 / kipi-plugins 601979 I cannot reproduce this crash on my computer. The cresh come from Exiv2 library. Witch version of Exiv2 you use on your computer ? It's the last 0.11 release ? Gilles Caulier Op zondag 5 november 2006 08:39, schreef Gilles Caulier: > http://bugs.kde.org/show_bug.cgi?id=136855 > > Witch version of Exiv2 you use on your computer ? It's the last > 0.11 release ? caspar@casco:~> rpm -qa | grep exiv exiv2-0.11-1 Caspar. Check if you have more than one Exiv2 library installed on you system, the current 0.11 and an old one. Are you compiled yourself Exiv2 0.11 ? Are you used specific compilation options (optimizations) ? Gilles Caulier Op zondag 5 november 2006 10:12, schreef Gilles Caulier: > 2006-11-05 10:12 ------- Check if you have more than one Exiv2 > library installed on you system, the current 0.11 and an old one. > > Are you compiled yourself Exiv2 0.11 ? Are you used specific > compilation options (optimizations) ? Totally removed exiv2 from my system. Checked for remaining package-files with find. Downloaded the latest version from exiv2.org. ./configure --prefix=/usr make su checkinstall (I'm using this program to create RPM's) su rpm -Uvh exiv2-0.11-1.i686.rpm su SuSEconfig Still the same problem. Caspar. Have you recompiled digikam and kipi-plugins after to have re-installed Exiv2 lib ? Gilles Andreas, And another Exiv2 crash using the new MetadataEdit kipi-plugin... Gilles Caspar, Can you post in this thread a copy of your JPEG files witch crash the plugin. Thanks in advance Gilles Created attachment 18426 [details]
imagefile
Created attachment 18427 [details]
imagefile
Created attachment 18428 [details]
imagefile
Added three of the imagefiles I was testing with. Recompiled digikam and kip-plugins from svn as suggested. Serial 602374 and 602372 respectively. A crash again on the forward-click. Didn't try the apply-click again. Following is the backtrace. (gdb) run Starting program: /opt/kde3/bin/digikam (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1239714128 (LWP 28834)] [New Thread -1242387552 (LWP 28841)] [New Thread -1250780256 (LWP 28842)] [Thread -1242387552 (LWP 28841) exited] [Thread -1250780256 (LWP 28842) exited] digikam: ScanLib: Finding non-existing Albums: 4 ms digikam: ScanLib: Finding items not in the database or disk: 266 ms digikam: ScanLib: Updating items without date: 2 ms digikam: Found dcraw version: 8.40 KIPI (loading): KIPI::PluginLoader: plugin KameraKlient is in the ignore list for host application KIPI (loading): Plugin_CDArchiving plugin loaded KIPI (loading): KIPI::PluginLoader: Loaded plugin CDArchiving KIPI (loading): Plugin_SlideShow plugin loaded KIPI (loading): KIPI::PluginLoader: Loaded plugin SlideShow KIPI (loading): KIPI::PluginLoader: Loaded plugin HTMLExport KIPI (loading): Plugin_SendImages plugin loaded KIPI (loading): KIPI::PluginLoader: Loaded plugin SendImages KIPI (loading): Plugin_GPSSync plugin loaded KIPI (loading): KIPI::PluginLoader: Loaded plugin GPSSync KIPI (loading): Plugin_JPEGLossless plugin loaded KIPI (loading): KIPI::PluginLoader: Loaded plugin JPEGLossless KIPI (loading): Plugin_WallPaper plugin loaded KIPI (loading): KIPI::PluginLoader: Loaded plugin WallPaper KIPI (loading): Plugin_FindImages plugin loaded KIPI (loading): KIPI::PluginLoader: Loaded plugin FindImages KIPI (loading): Plugin_SimpleViewer plugin loaded KIPI (loading): KIPI::PluginLoader: Loaded plugin SimpleViewer KIPI (loading): Plugin_MetadataEdit plugin loaded KIPI (loading): KIPI::PluginLoader: Loaded plugin MetadataEdit KIPI (loading): Plugin_TimeAdjust plugin loaded KIPI (loading): KIPI::PluginLoader: Loaded plugin TimeAdjust KIPI (loading): Plugin_PrintWizard plugin loaded KIPI (loading): KIPI::PluginLoader: Loaded plugin PrintWizard KIPI (loading): Plugin_Mpegencoder plugin loaded KIPI (loading): KIPI::PluginLoader: Loaded plugin MPEGEncoder KIPI (loading): Plugin_GalleryExport plugin loaded KIPI (loading): KIPI::PluginLoader: Loaded plugin GalleryExport KIPI (loading): Loaded RawConverter KIPI (loading): KIPI::PluginLoader: Loaded plugin RawConverter KIPI (loading): Loaded Plugin_Calendar KIPI (loading): KIPI::PluginLoader: Loaded plugin Calendar KIPI (loading): Plugin_BatchProcessImages plugin loaded KIPI (loading): KIPI::PluginLoader: Loaded plugin BatchProcessImages KIPI (loading): Plugin_AcquireImages plugin loaded KIPI (loading): KIPI::PluginLoader: Loaded plugin AcquireImages digikam: ImagePlugin_Core plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Kern digikam: ImagePlugin_ChannelMixer plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_KanaalMixer digikam: ImagePlugin_LensDistortion plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Lensafwijking digikam: ImagePlugin_Emboss plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Reliëf digikam: ImagePlugin_BlurFX plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_VervaagFX digikam: ImagePlugin_Solarize plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Solarizeren digikam: ImagePlugin_Texture plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Textuur digikam: ImagePlugin_AntiVignetting plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_AntiVignetting digikam: ImagePlugin_OilPaint plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Olieverf digikam: ImagePlugin_WhiteBalance plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Witbalans digikam: ImagePlugin_Infrared plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Infrarood digikam: ImagePlugin_AdjustCurves plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_CurvesAanpassen digikam: ImagePlugin_FreeRotation plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_VrijeRotatie digikam: ImagePlugin_Border plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Rand digikam: ImagePlugin_Restoration plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Restoratie digikam: ImagePlugin_DistortionFX plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_vervormingseffect digikam: ImagePlugin_Perspective plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Perspectief digikam: ImagePlugin_Unsharp plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Onscherp digikam: ImagePlugin_FilmGrain plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_filmkorrel digikam: ImagePlugin_SuperImpose plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_SjabloonToevoegen digikam: ImagePlugin_BlowUp plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Opblazen digikam: ImagePlugin_ShearTool plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Schuintrekken digikam: ImagePlugin_NoiseReduction plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Ruisreductie digikam: ImagePlugin_InPainting plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Inkleuren digikam: ImagePlugin_RainDrop plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_regendruppels digikam: ImagePlugin_Charcoal plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_Houtskool digikam: ImagePlugin_HotPixels plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_HotPixels digikam: ImagePlugin_Refocus plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_OpnieuwFocussen digikam: ImagePlugin_AdjustLevels plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_NiveausAanpassen digikam: ImagePlugin_InsertText plugin loaded digikam: ImagePluginLoader: Loaded plugin Afbeeldingsplugin_TekstInvoegen Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1239714128 (LWP 28834)] Exiv2::ExifData::byteOrder (this=0x865fd4c) at image.hpp:475 475 ByteOrder byteOrder() const { return byteOrder_; } Current language: auto; currently c++ (gdb) bt #0 Exiv2::ExifData::byteOrder (this=0x865fd4c) at image.hpp:475 #1 0xb796c2eb in Exiv2::ExifData::copyFromMetadata (this=0x865fd4c) at exif.cpp:632 #2 0xb796d374 in Exiv2::ExifData::copy (this=0x865fd4c) at exif.cpp:623 #3 0xb7985c4f in Exiv2::JpegBase::doWriteMetadata (this=0x865fd40, outIo=@0x8658fd8) at jpgimage.cpp:482 #4 0xb798664e in Exiv2::JpegBase::writeMetadata (this=0x865fd40) at jpgimage.cpp:360 #5 0xb3979a00 in KIPIPlugins::Exiv2Iface::save () from /opt/kde3/lib/kde3/kipiplugin_metadataedit.so #6 0xb394a7b7 in KIPIMetadataEditPlugin::IPTCEditDialog::slotApply () from /opt/kde3/lib/kde3/kipiplugin_metadataedit.so #7 0xb394af10 in KIPIMetadataEditPlugin::IPTCEditDialog::slotUser1 () from /opt/kde3/lib/kde3/kipiplugin_metadataedit.so #8 0xb735231f in KDialogBase::qt_invoke () from /opt/kde3/lib/libkdeui.so.4 #9 0xb394d1f0 in KIPIMetadataEditPlugin::IPTCEditDialog::qt_invoke () from /opt/kde3/lib/kde3/kipiplugin_metadataedit.so #10 0xb69aaf1d in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #11 0xb69abb7d in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #12 0xb6ceb5dc in QButton::clicked () from /usr/lib/qt3/lib/libqt-mt.so.3 #13 0xb6a3eb13 in QButton::mouseReleaseEvent () from /usr/lib/qt3/lib/libqt-mt.so.3 #14 0xb69e3c40 in QWidget::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #15 0xb694bf07 in QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3 #16 0xb694ce3b in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3 #17 0xb708ebd3 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4 #18 0xb68ebe12 in QETWidget::translateMouseEvent () from /usr/lib/qt3/lib/libqt-mt.so.3 #19 0xb68eafe6 in QApplication::x11ProcessEvent () from /usr/lib/qt3/lib/libqt-mt.so.3 #20 0xb68fb62a in QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #21 0xb6962d28 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3 #22 0xb694ba2f in QApplication::enter_loop () from /usr/lib/qt3/lib/libqt-mt.so.3 #23 0xb6b31515 in QDialog::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #24 0xb392c927 in Plugin_MetadataEdit::slotEditIptc () from /opt/kde3/lib/kde3/kipiplugin_metadataedit.so #25 0xb392daba in Plugin_MetadataEdit::qt_invoke () from /opt/kde3/lib/kde3/kipiplugin_metadataedit.so #26 0xb69aaf1d in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #27 0xb69abb7d in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #28 0xb7274de9 in KAction::activated () from /opt/kde3/lib/libkdeui.so.4 #29 0xb72b72c2 in KAction::slotActivated () from /opt/kde3/lib/libkdeui.so.4 #30 0xb737be6f in KAction::qt_invoke () from /opt/kde3/lib/libkdeui.so.4 #31 0xb69aaf1d in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #32 0xb69abb7d in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #33 0xb6faa769 in KAccelPrivate::menuItemActivated () from /opt/kde3/lib/libkdecore.so.4 #34 0xb6ffb077 in KAccelPrivate::emitActivatedSignal () from /opt/kde3/lib/libkdecore.so.4 #35 0xb7042439 in KAccelPrivate::eventFilter () from /opt/kde3/lib/libkdecore.so.4 #36 0xb69aa81c in QObject::activate_filters () from /usr/lib/qt3/lib/libqt-mt.so.3 ---Type <return> to continue, or q <return> to quit--- #37 0xb69aa88b in QObject::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #38 0xb69e38cc in QWidget::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #39 0xb6a9e9c2 in QMainWindow::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #40 0xb694bf07 in QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3 #41 0xb694d262 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3 #42 0xb708ebd3 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4 #43 0xb70072f2 in KAccelEventHandler::x11Event () from /opt/kde3/lib/libkdecore.so.4 #44 0xb708d03b in KApplication::x11EventFilter () from /opt/kde3/lib/libkdecore.so.4 #45 0xb68dadf4 in qt_x11EventFilter () from /usr/lib/qt3/lib/libqt-mt.so.3 #46 0xb68ea773 in QApplication::x11ProcessEvent () from /usr/lib/qt3/lib/libqt-mt.so.3 #47 0xb68fb62a in QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #48 0xb6962d28 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3 #49 0xb6962bbe in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #50 0xb694babf in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #51 0x0804aa49 in main () (gdb) (gdb) quit The program is running. Exit anyway? (y or n) y caspar@casco:~> Op zondag 5 november 2006 21:23, schreef Gilles Caulier: > Can you post in this thread a copy of your JPEG files witch crash > the plugin. Thanks in advance I am in the proces of recompiling from svn digikam and kipi-plugins, as you suggested earlier. After that I wil test again and if necessary I will post some of the tested jpegs. Caspar. Apparently there is a big delay between posting a message by kmail and publishing on the list. #13 was send 21:39 in response of Gilles' message #8. Caspar. I can reproduce the crash. Select any image, Metadata->Edit IPTC, add a Copyright, click apply. In console, I get *** glibc detected *** lt-digikam: double free or corruption (out): 0x0870fa20 *** ======= Backtrace: ========= /lib/libc.so.6[0xb620d3c0] /lib/libc.so.6(__libc_free+0x84)[0xb620ea04] /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libstdc++.so.6(_ZdlPv+0x21)[0xb63a1121] /usr/local/lib/libexiv2-0.11.so(_ZN5Exiv29ValueTypeISt4pairIjjEED0Ev+0x43)[0xb794f023] /usr/local/lib/libexiv2-0.11.so(_ZN5Exiv29ExifdatumD1Ev+0x37)[0xb79561a7] /usr/local/lib/libexiv2-0.11.so(_ZN5Exiv28ExifDataD1Ev+0xe7)[0xb7959177] /usr/local/lib/libexiv2-0.11.so(_ZN5Exiv28JpegBaseD2Ev+0x7d)[0xb7971f2d] /usr/local/lib/libexiv2-0.11.so(_ZN5Exiv29JpegImageD0Ev+0x2d)[0xb79720bd] /usr/kde/3.5/lib/kde3/kipiplugin_metadataedit.so(_ZN11KIPIPlugins10Exiv2Iface4saveERK7QString+0xfd)[0xb47e502d] /usr/kde/3.5/lib/kde3/kipiplugin_metadataedit.so(_ZN22KIPIMetadataEditPlugin14IPTCEditDialog9slotApplyEv+0x182)[0xb47b7282] (...) Backtrace (...) #18 0xb63a1121 in operator delete () from /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libstdc++.so.6 #19 0xb794f023 in ~ValueType (this=0xbfbcbb77) at new_allocator.h:96 #20 0xb79561a7 in ~Exifdatum (this=0x873b584) at memory:260 #21 0xb7959177 in ~ExifData (this=0x867e1ec) at stl_construct.h:107 #22 0xb7971f2d in ~JpegBase (this=0x867e1e0) at jpgimage.hpp:123 #23 0xb79720bd in ~JpegImage (this=0x867e1e0) at jpgimage.hpp:284 #24 0xb47e502d in KIPIPlugins::Exiv2Iface::save () from /usr/kde/3.5/lib/kde3/kipiplugin_metadataedit.so #25 0xb47b7282 in KIPIMetadataEditPlugin::IPTCEditDialog::slotApply ( this=0xbfbcc5e0) at iptceditdialog.cpp:301 (...) I'm not able to reproduce this crash. I've followed the steps you say and done some others tests using both forward and apply buttons and all work ok with digikam-0.9.0-beta3 and a just-updated kipi-plugins from svn on kubuntu edgy 64 bits. Paco Cruz I've forgotten to say that exiv2 version is 0.10: neke@nekeland:~$ exiv2-config --version 0.10 Paco Cruz Paco, Can you test using last stable Exiv2 0.11 like Caspar does ? Unforget to uninstall old Exiv2 from your computer before. Thanks in advance Gilles Caspar, Other questions : - Witch CPU type you use : Pentium, Pentium with HyperThreading, Pentium M, AMD, PPC, etc... - Witch gcc release you use ? - Witch libc release you use ? - Are you used the ./configure --enable-debug=full to compile digiKam & kipi-plugins ? - Are you used some optimizations options with ./configure script to compile digiKam & kipi-plugins ? Thanks in advance Gilles >----Mensaje original---- >De: caulier.gilles@kdemail.net >Fecha: 06/11/2006 7:52 >Para: <digikam-devel@kde.org> >Asunto: [Digikam-devel] [Bug 136855] Editing metadata on a few selected imagefiles and clicking forward or apply crashes digikam. [bugs.kde.org quoted mail] 06 07:52 ------- >Paco, > >Can you test using last stable Exiv2 0.11 like Caspar does ? > >Unforget to uninstall old Exiv2 from your computer before. > >Thanks in advance > >Gilles >_______________________________________________ Sure Gilles, I'll try it later, when I arrive at home. Paco Cruz. Op maandag 6 november 2006 07:55, schreef Gilles Caulier: > - Witch CPU type you use : Pentium, Pentium with HyperThreading, > Pentium M, AMD, PPC, etc... Intel Pentium 4 Linux 2.6.16.21-0.25-smp i686 SUSE LINUX 10.1 (i586) KDE 3.5.5 "release 19.1" > - Witch gcc release you use ? caspar@casco:~> rpm -qa | grep gcc libgcc-4.1.0-25 gcc-4.1.0-25 gcc-c++-4.1.0-25 > - Witch libc release you use ? caspar@casco:~> rpm -qa | grep glibc glibc-devel-2.4-31.1 glibc-2.4-31.1 > - Are you used the ./configure --enable-debug=full to compile Yes > digiKam & kipi-plugins ? - Are you used some optimizations options > with ./configure script to compile digiKam & kipi-plugins ? No I hope this is the information you are looking for. Caspar. El Lunes, 6 de Noviembre de 2006 08:29, F.J.Cruz escribi I can confirm that for Digikam 601741 and clean install of Exiv2 0.11 Backtrace is very limited (I understand it is E2 taking down Digikam). Way of reproduce isn't always the same. But generally: select few images, edit caption and move between images, forward, backward, change caption, move, etc. And after few iterations D. will crash. Also happens with Exiv2 from svn 943. Using host libthread_db library "/lib/tls/libthread_db.so.1". `shared object read from target memory' has disappeared; keeping its symbols. [Thread debugging using libthread_db enabled] [New Thread -1240250048 (LWP 494)] [KCrash handler] #5 0xb619ccb5 in free () from /lib/tls/libc.so.6 #6 0xb619e6ef in malloc () from /lib/tls/libc.so.6 #7 0xb6346e57 in operator new () from /usr/lib/libstdc++.so.6 #8 0xb6346f7d in operator new[] () from /usr/lib/libstdc++.so.6 #9 0xb796f607 in Ifd (this=0xbf96cda0, ifdId=9599049) at ifd.cpp:271 #10 0xb79619c9 in Exiv2::ExifData::copyFromMetadata (this=0x8656444) at exif.cpp:631 #11 0xb7962410 in Exiv2::ExifData::copy (this=0x8656444) at exif.cpp:623 #12 0xb797977c in Exiv2::JpegBase::doWriteMetadata (this=0x8656438, outIo=@0x86d9ac0) at jpgimage.cpp:482 #13 0xb797a144 in Exiv2::JpegBase::writeMetadata (this=0x8656438) at jpgimage.cpp:360 #14 0xb4e8418a in KIPIPlugins::Exiv2Iface::save (this=0xbf96cff8, filePath=@0xbf96d000) at exiv2iface.cpp:304 #15 0xb4e5dfee in KIPIMetadataEditPlugin::IPTCEditDialog::slotApply ( this=0xbf96d854) at iptceditdialog.cpp:301 #16 0xb733da8c in KDialogBase::qt_invoke () from /usr/local/kde/lib/libkdeui.so.4 #17 0xb4e5ec52 in KIPIMetadataEditPlugin::IPTCEditDialog::qt_invoke ( this=0xbf96d854, _id=75, _o=0xbf96d0dc) at iptceditdialog.moc:105 #18 0xb69e81bf in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #19 0x086380d0 in ?? () #20 0xbf96d094 in ?? () #21 0x00000000 in ?? () Exiv2 from svn 943 does not address this problem. This one looks like one of these mysterious memory mgmt related issues. Can someone who can reproduce this and understands digikam's thread and memory mgmt model well debug this one further, please, with an eye on the memory related issues (where does the memory get free'd for the 1st time, if it's freed twice? etc.) To pinpoint any related exiv2 issue, it would of course be best to have a small reproducer program which just calls exiv2. Thanks. -ahu. I'm experiencing this also for the last couple days from svn. This worked up until a few days ago when the menu options changed for Metadata and provided the 4 options. To recreate: select photo, choose metadata, edit iptc, change caption or other field, apply (should crash). may also take a few more tries or click okay or arrow buttons. This Wipes out all exif and iptc data in file in addition to the crash. for example: exiv2 pr -p s Photo_103106_003.jpg Photo_103106_003.jpg: No Exif data found in the file Using Ubuntu Edgy Both Libs (first) and Graphics (second) are compiled with ./configure --enable-debug=full P4 with Hyperthreading gcc (GCC) 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5) using exiv2 0.11 compiled from source Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1241032400 (LWP 14218)] 0xb6115c64 in free () from /lib/tls/i686/cmov/libc.so.6 (gdb) (gdb) bt #0 0xb6115c64 in free () from /lib/tls/i686/cmov/libc.so.6 #1 0xb611783f in malloc () from /lib/tls/i686/cmov/libc.so.6 #2 0xb62bc4b7 in operator new () from /usr/lib/libstdc++.so.6 #3 0xb62bc5ed in operator new[] () from /usr/lib/libstdc++.so.6 #4 0xb794b4cf in Entry (this=0x86394b8, rhs=@0xbfa1e33c) at ifd.cpp:79 #5 0xb79290ac in std::vector<Exiv2::Entry, std::allocator<Exiv2::Entry> >::_M_insert_aux (this=0xbfa1e504, __position={_M_current = 0x0}, __x=@0xbfa1e33c) at /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/ext/new_allocator.h:104 #6 0xb794ba15 in Exiv2::Ifd::add (this=0x85f77e8, entry=@0xb61e0160) at /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_vector.h:610 #7 0xb793d989 in Exiv2::addToIfd (ifd=@0xbfa1e500, md=@0x8679578, byteOrder=Exiv2::littleEndian) at exif.cpp:1204 #8 0xb793dad3 in Exiv2::addToIfd (ifd=@0xbfa1e500, begin={_M_current = 0x8679578}, end={_M_current = 0x8679d1c}, byteOrder=Exiv2::littleEndian) at exif.cpp:1181 #9 0xb793db3f in Exiv2::ExifData::copyFromMetadata (this=0x863e9e4) at exif.cpp:632 #10 0xb793e574 in Exiv2::ExifData::copy (this=0x863e9e4) at exif.cpp:623 #11 0xb7956a1a in Exiv2::JpegBase::doWriteMetadata (this=0x863e9d8, outIo=@0x8639498) at jpgimage.cpp:482 #12 0xb795757e in Exiv2::JpegBase::writeMetadata (this=0x863e9d8) at jpgimage.cpp:360 #13 0xb45226d8 in KIPIPlugins::Exiv2Iface::save (this=0xbfa1e798, filePath=@0xbfa1e7a0) at exiv2iface.cpp:304 #14 0xb44f3753 in KIPIMetadataEditPlugin::IPTCEditDialog::slotApply (this=0xbfa1f254) at iptceditdialog.cpp:301 #15 0xb7354223 in KDialogBase::qt_invoke () from /usr/lib/libkdeui.so.4 #16 0xb44f6094 in KIPIMetadataEditPlugin::IPTCEditDialog::qt_invoke (this=0xbfa1f254, _id=75, _o=0xbfa1e88c) at iptceditdialog.moc:105 #17 0xb6938a84 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #18 0xb69393fc in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #19 0xb6ccdf5f in QButton::clicked () from /usr/lib/libqt-mt.so.3 #20 0xb69d6fe8 in QButton::mouseReleaseEvent () from /usr/lib/libqt-mt.so.3 #21 0xb696f729 in QWidget::event () from /usr/lib/libqt-mt.so.3 #22 0xb68cfb88 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3 #23 0xb68d1d46 in QApplication::notify () from /usr/lib/libqt-mt.so.3 #24 0xb7095db2 in KApplication::notify () from /usr/lib/libkdecore.so.4 #25 0xb68623fd in QApplication::sendSpontaneousEvent () from /usr/lib/libqt-mt.so.3 #26 0xb6861062 in QETWidget::translateMouseEvent () from /usr/lib/libqt-mt.so.3 #27 0xb685f14c in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3 #28 0xb6876320 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3 #29 0xb68ea25e in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3 #30 0xb68d16af in QApplication::enter_loop () from /usr/lib/libqt-mt.so.3 #31 0xb6aed4a1 in QDialog::exec () from /usr/lib/libqt-mt.so.3 #32 0xb44d59e7 in Plugin_MetadataEdit::slotEditIptc (this=0x8368940) at plugin_metadataedit.cpp:188 #33 0xb44d6b26 in Plugin_MetadataEdit::qt_invoke (this=0x8368940, _id=4, _o=0xbfa1f3dc) at plugin_metadataedit.moc:90 #34 0xb6938957 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #35 0xb69393fc in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #36 0xb72773b9 in KAction::activated () from /usr/lib/libkdeui.so.4 #37 0xb72b4c02 in KAction::slotActivated () from /usr/lib/libkdeui.so.4 #38 0xb737d29d in KAction::slotPopupActivated () from /usr/lib/libkdeui.so.4 #39 0xb737d561 in KAction::qt_invoke () from /usr/lib/libkdeui.so.4 #40 0xb6938957 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #41 0xb6cc4f44 in QSignal::signal () from /usr/lib/libqt-mt.so.3 #42 0xb69588ea in QSignal::activate () from /usr/lib/libqt-mt.so.3 #43 0xb6a5efd3 in QPopupMenu::mouseReleaseEvent () from /usr/lib/libqt-mt.so.3 #44 0xb72803ce in KPopupMenu::mouseReleaseEvent () from /usr/lib/libkdeui.so.4 #45 0xb696f729 in QWidget::event () from /usr/lib/libqt-mt.so.3 #46 0xb68cfb88 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3 #47 0xb68d1d46 in QApplication::notify () from /usr/lib/libqt-mt.so.3 #48 0xb7095db2 in KApplication::notify () from /usr/lib/libkdecore.so.4 #49 0xb68623fd in QApplication::sendSpontaneousEvent () from /usr/lib/libqt-mt.so.3 #50 0xb6860d3f in QETWidget::translateMouseEvent () from /usr/lib/libqt-mt.so.3 ---Type <return> to continue, or q <return> to quit--- #51 0xb685f14c in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3 #52 0xb6876320 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3 #53 0xb68ea25e in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3 #54 0xb68ea06e in QEventLoop::exec () from /usr/lib/libqt-mt.so.3 #55 0xb68d1731 in QApplication::exec () from /usr/lib/libqt-mt.so.3 #56 0x0804ab6c in main (argc=-1208541364, argv=0xbfa201e4) at main.cpp:269 Someone can give a valgrind backtrace to check memory leak like this : valgrind --tool=memcheck --leak-check=full --error-limit=no digikam Of course, to have a full report in the console, Exiv2, digiKam and kipi-plugins need to be compiled with full debug option. Gilles Andreas, Look like my Exiv2 wrapper used by the MetadataEdit kipi-plugin is simple in fact : http://websvn.kde.org/trunk/extragear/libs/kipi-plugins/common/exiv2iface/exiv2iface.cpp?rev=600798&view=auto http://websvn.kde.org/trunk/extragear/libs/kipi-plugins/common/exiv2iface/exiv2iface.h?rev=600788&view=auto If you see somthing wronf, lets me hear... Note : the current implementation of Exiv2Iface class is a copy of DigiKam::DMetadata class. Later, I have planed to do a new shared "libKExiv2" library as well, to remplace the current implementation in digiKam core and kipi-plugins common area. Like this we will remove duplicated code. Gilles Andreas, Perhaps a simple test program is to do a simple loop witch use Exiv2 command line tool and read metadata around a group of JPEG files. Gilles Created attachment 18466 [details]
valgrind backtrace text
I hope the attached valgrind backtrace helps. I'm not sure how much you
need...
Very good Geof. Thanks you... Andreas, look like the valgrind report is very instructive... Gilles Yes, looks good - or bad, depending on the viewpoint. Thanks. I'm going to write a test driver for the Exiv2Iface class now, which I can feed with a series of images. I'd like it to do something similar to what Geoff did manually. So, Geoff, what actions did you do in detail (just what you described in #26?) Gilles, what series of calls to the interface does that translate to? -ahu. Andreas, When i said "good", i want mean "instructive" in fact (:=)))... About the methods used in Exiv2iface from the MetadataEdit kipi-plugin, it's very simple. look the code from the slots used when we want save the changes in pictures metadata : In Exif editor dialog, we have : void EXIFEditDialog::slotApply() { if (d->modified && !d->isReadOnly) { d->captionPage->applyMetadata(d->exifData); ... KIPIPlugins::Exiv2Iface exiv2Iface; exiv2Iface.load((*d->currItem).path()); exiv2Iface.setExif(d->exifData); exiv2Iface.save((*d->currItem).path()); d->modified = false; } } d->modified and d->isReadOnly are just boolean variables. d->exifData is a bytearray to store metadata. The IPTC code is similar than Exif : void IPTCEditDialog::slotApply() { if (d->modified && !d->isReadOnly) { d->captionPage->applyMetadata(d->iptcData); ... KIPIPlugins::Exiv2Iface exiv2Iface; exiv2Iface.load((*d->currItem).path()); exiv2Iface.setExif(d->iptcData); exiv2Iface.save((*d->currItem).path()); d->modified = false; } } About to load metadata from pictures when user change current selected one to edit in MetadataEdit plugin, we have another slots for Exif : void EXIFEditDialog::slotItemChanged() { KIPIPlugins::Exiv2Iface exiv2Iface; exiv2Iface.load((*d->currItem).path()); d->exifData = exiv2Iface.getExif(); d->captionPage->readMetadata(d->exifData); ... d->isReadOnly = KIPIPlugins::Exiv2Iface::isReadOnly((*d->currItem).path()); ... } ... and for IPTC : void IPTCEditDialog::slotItemChanged() { KIPIPlugins::Exiv2Iface exiv2Iface; exiv2Iface.load((*d->currItem).path()); d->iptcData = exiv2Iface.getIptc(); d->captionPage->readMetadata(d->iptcData); ... d->isReadOnly = KIPIPlugins::Exiv2Iface::isReadOnly((*d->currItem).path()); ... } The slotItemChanged() and slotApply() call the dialog page methods to get or set the matadata values on the Exif/IPTC bytearray. this is the readMetadata() and applyMetadata() methods. These one use too another instances of KIPIPlugins::Exiv2Iface class to use others methods relevant of tags manipulations. For example, in Exif Captions editor page, we have : void EXIFCaption::readMetadata(QByteArray& exifData) { ... KIPIPlugins::Exiv2Iface exiv2Iface; exiv2Iface.setExif(exifData); QString data; data = exiv2Iface.getExifTagString("Exif.Image.DocumentName", false); ... } void EXIFCaption::applyMetadata(QByteArray& exifData) { KIPIPlugins::Exiv2Iface exiv2Iface; exiv2Iface.setExif(exifData); if (d->documentNameCheck->isChecked()) exiv2Iface.setExifTagString("Exif.Image.DocumentName", d->documentNameEdit->text()); else exiv2Iface.removeExifTag("Exif.Image.DocumentName"); ... } The both class instance are independant and there is no memory conflict here (checked with valgrind). Exiv2Iface do not use static member. Other important note : this plugin do not use multithreading like in digiKam core. The crash is not relevant of an unthread-safe problem. You can read all current plugin source code here : http://websvn.kde.org/trunk/extragear/libs/kipi-plugins/metadataedit and the Exiv2Iface class here : http://websvn.kde.org/trunk/extragear/libs/kipi-plugins/common/exiv2iface Gilles Created attachment 18470 [details]
Exiv2Iface test-driver
Yup, with the attached test program, run with the *.jpg files from the exiv2
test/data directory, I can recreate the problem here, finally. I'm posting this
first as I won't have time to figure out the rest before next week.
-ahu.
Created attachment 18471 [details]
Simple Makefile for the Exiv2Iface test-driver
Glad you can recreate this now.
>>So, Geoff, what actions did you do in detail (just what you described in #26?)
The #26 describes it. For this particular case I'm not sure exactly which iptc field was changed, but it was probably a few text fields including caption.
Exiv2 SVN rev. 979 fixes the issues reproduceable with the test-driver. Those who could recreate this bug before, please try with the latest Exiv2 version from SVN and let us know if it still occurs. Thanks! -ahu. Thanks, thanks, thanks Andreas to have fixed this problem. I will checkout source code and test. Just to remember : these files in kde bugzilla are certainly duplicates : http://bugs.kde.org/show_bug.cgi?id=133567 http://bugs.kde.org/show_bug.cgi?id=136086 http://bugs.kde.org/show_bug.cgi?id=132805 http://bugs.kde.org/show_bug.cgi?id=137204 http://bugs.kde.org/show_bug.cgi?id=135407 http://bugs.kde.org/show_bug.cgi?id=134999 http://bugs.kde.org/show_bug.cgi?id=131935 If your fix solve the problem these files will be closed... Witch will be the next Exiv2 release number ? Because i will update digiKam/kipi-plugins depencies before to release final. Gilles Keeping my fingers crossed, but we need feedback first. The next version will be 0.12 -ahu. I'm sorry to say, but it looks even worse. As you asked I downloaded and compiled exiv2 svn rev. 984. Ran it with digiKam svn rev. 604964. Selected a few images, edited the caption-field, apply, crash. The same, but forward, crash. Tested on a single file, and the same results. Caspar. Forgot to mention that I lost all the EXIF-information of the first of the selected files, while it was the IPTC tags I was editing. Following is the backtrace of one of the crashes. Caspar. (no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1240709456 (LWP 2911)] [New Thread -1252365408 (LWP 2938)] [KCrash handler] #5 0xb787a453 in ~Exifdatum (this=0xb30d8ce4) at /usr/include/c++/4.1.0/memory:259 #6 0xb787d39b in ~ExifData (this=0xb3074704) at /usr/include/c++/4.1.0/bits/stl_construct.h:107 #7 0xb7896043 in ~JpegBase (this=0xb30746f8) at jpgimage.hpp:123 #8 0xb78961cd in ~JpegImage (this=0xb30746f8) at jpgimage.hpp:284 #9 0xb7e4eda3 in std::auto_ptr<Exiv2::Image>::~auto_ptr () from /opt/kde3/lib/libdigikam.so.0 #10 0xb38222d2 in KIPIPlugins::Exiv2Iface::save () from /opt/kde3/lib/kde3/kipiplugin_metadataedit.so #11 0xb37f2fcf in KIPIMetadataEditPlugin::IPTCEditDialog::slotApply () from /opt/kde3/lib/kde3/kipiplugin_metadataedit.so #12 0xb7260333 in KDialogBase::qt_invoke () from /opt/kde3/lib/libkdeui.so.4 #13 0xb37f5ab2 in KIPIMetadataEditPlugin::IPTCEditDialog::qt_invoke () from /opt/kde3/lib/kde3/kipiplugin_metadataedit.so #14 0xb68b85d1 in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #15 0xb68b92cd in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #16 0xb6bf8dec in QButton::clicked () from /usr/lib/qt3/lib/libqt-mt.so.3 #17 0xb694c263 in QButton::mouseReleaseEvent () from /usr/lib/qt3/lib/libqt-mt.so.3 #18 0xb68f1390 in QWidget::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #19 0xb6859547 in QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3 #20 0xb685a47b in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3 #21 0xb6f9ce03 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4 #22 0xb67f8e72 in QETWidget::translateMouseEvent () from /usr/lib/qt3/lib/libqt-mt.so.3 #23 0xb67f8046 in QApplication::x11ProcessEvent () from /usr/lib/qt3/lib/libqt-mt.so.3 #24 0xb680868a in QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #25 0xb6870368 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3 #26 0xb685906f in QApplication::enter_loop () from /usr/lib/qt3/lib/libqt-mt.so.3 #27 0xb6a3ed55 in QDialog::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #28 0xb37d4507 in Plugin_MetadataEdit::slotEditIptc () from /opt/kde3/lib/kde3/kipiplugin_metadataedit.so #29 0xb37d615e in Plugin_MetadataEdit::qt_invoke () from /opt/kde3/lib/kde3/kipiplugin_metadataedit.so #30 0xb68b866d in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #31 0xb68b92cd in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #32 0xb7182da9 in KAction::activated () from /opt/kde3/lib/libkdeui.so.4 #33 0xb71c5282 in KAction::slotActivated () from /opt/kde3/lib/libkdeui.so.4 #34 0xb7289e2f in KAction::qt_invoke () from /opt/kde3/lib/libkdeui.so.4 #35 0xb68b866d in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #36 0xb68b92cd in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #37 0xb6eb8b69 in KAccelPrivate::menuItemActivated () from /opt/kde3/lib/libkdecore.so.4 #38 0xb6f088c7 in KAccelPrivate::emitActivatedSignal () from /opt/kde3/lib/libkdecore.so.4 #39 0xb6f4f239 in KAccelPrivate::eventFilter () from /opt/kde3/lib/libkdecore.so.4 #40 0xb68b7f6c in QObject::activate_filters () from /usr/lib/qt3/lib/libqt-mt.so.3 #41 0xb68b7fdb in QObject::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #42 0xb68f101c in QWidget::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #43 0xb69abfc2 in QMainWindow::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #44 0xb6859547 in QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3 #45 0xb685a8a2 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3 #46 0xb6f9ce03 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4 #47 0xb6f15082 in KAccelEventHandler::x11Event () from /opt/kde3/lib/libkdecore.so.4 #48 0xb6f9b26b in KApplication::x11EventFilter () from /opt/kde3/lib/libkdecore.so.4 #49 0xb67e7e54 in qt_x11EventFilter () from /usr/lib/qt3/lib/libqt-mt.so.3 #50 0xb67f77d3 in QApplication::x11ProcessEvent () from /usr/lib/qt3/lib/libqt-mt.so.3 #51 0xb680868a in QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #52 0xb6870368 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3 #53 0xb68701fe in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #54 0xb68590ff in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #55 0x0804aa49 in main () Caspar, Thanks for your feedback; please hang on... Gilles, In kipi-plugins/metadataedit/iptceditdialog.cpp: void IPTCEditDialog::slotApply() { if (d->modified && !d->isReadOnly) { ... KIPIPlugins::Exiv2Iface exiv2Iface; exiv2Iface.load((*d->currItem).path()); exiv2Iface.setExif(d->iptcData); ^^^^^^^ exiv2Iface.save((*d->currItem).path()); d->modified = false; } } That should be setIptc, shouldn't it? Does this explain why Caspar says his Exif data is lost? -ahu. Created attachment 18591 [details]
Updated Exiv2Iface test driver
Try to simulate setting an IPTC caption using digikam's IPTC editor.
However, this runs fine here and Valgrind doesn't report any problem.
Can somebody who understands exactly what digikam is doing verify that the test
driver does the same thing? If you get it to crash or Valgrind to find
something wrong, please report.
-ahu.
If I run the updated test driver with that suspicious setExif call instead of setIptc it crashes with a backtrace similar to that above. -ahu. And what happens is this: In setExif, the call to d->exifMetadata.load() does not succeed (as expected, since it's called with IPTC data), and returns 1 to indicate a problem, which the caller does not test. Instead it assumes everything is fine, but d->exifMetadata is in an inconsistent state now, which causes the subsequent Image::writeMetadata call to crash. bool Exiv2Iface::setExif(const QByteArray& data) { try { if (!data.isEmpty()) { d->exifMetadata.load((const Exiv2::byte*)data.data(), data.size()); ^---------------- test if return value is 0 return true; } } catch( Exiv2::Error &e ) ... -ahu #42 : fixed on svn Gilles #45 : ok . Idem with setIptc() method ? Gilles Andreas, Exiv2::IptcData::load() seem to return 0 or 1 like Exiv2::ExifData::load(). Fixed in svn, but it's not clear in Exiv2 API doc... Gilles AFAICS IptcData::load returns 0 or 5 just as documented. -ahu. #49 ==> right... Exiv2 API doc come from an old release. sorry (:=)) Fixed again in svn Gilles Andreas, i have fixed too the DMetadata class methods in digiKam core. Gilles Hi guys, We need a feedback from you about this problem. Andreas have fixed current Exiv2 implementation, and me the Exiv2 interface from kipi-plugins and digiKam. To test, you need to checkout Exiv2/digiKam/kipi-plugins from svn repository. Compile and Install Exiv2 in first and cleanup digiKam/kipi-plugins before to recompile and install it. Thanks in advance Gilles On Fri, 17 Nov 2006, Gilles Caulier wrote: > To test, you need to checkout Exiv2/digiKam/kipi-plugins from svn repository. > > Compile and Install Exiv2 in first and cleanup digiKam/kipi-plugins before to recompile and install it. Using the script at http://www.digikam.org/?q=download/svn I get the following compile error Making all in libkipiplugins make[4]: Entering directory `/tmp/NEWTRYSVNALL/libs/kipi-plugins/common/libkipiplugins' if /bin/sh ../../../libtool --silent --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../li bkipi/libkipi -I../../../kipi-plugins/common/include -I../../../kipi-plugins/common/e xiv2iface -I../../../libkipi -I../../../libkipi -I/usr/include/kde -I/usr/share/qt3/include -I/usr/X11R6/include -I/home/abaecker/NBB/SOFTWARE/digikam/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wno-long-long -Wundef -ansi -D _XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat- security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NA MESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -fexceptions -MT kpaboutdata.lo -MD -MP -MF ".deps/kpaboutdata.Tpo" \ -c -o kpaboutdata.lo `test -f 'kpaboutdata.cpp' || echo './'`kpaboutdata.cpp; \ then mv -f ".deps/kpaboutdata.Tpo" ".deps/kpaboutdata.Plo"; \ else rm -f ".deps/kpaboutdata.Tpo"; exit 1; \ fi kpaboutdata.cpp: In constructor `KIPIPlugins::KPAboutData::KPAboutData(const char*, const char*, int, const char*, const char*)': kpaboutdata.cpp:51: error: invalid use of undefined type `struct QImage' /usr/share/qt3/include/qwindowdefs.h:74: error: forward declaration of `struct QImage' kpaboutdata.cpp:51: error: `setProgramLogo' undeclared (first use this function) kpaboutdata.cpp:51: error: (Each undeclared identifier is reported only once for each function it appears in.) make[4]: *** [kpaboutdata.lo] Error 1 make[4]: Leaving directory `/tmp/NEWTRYSVNALL/libs/kipi-plugins/common/libkipiplugins' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/tmp/NEWTRYSVNALL/libs/kipi-plugins/common' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/tmp/NEWTRYSVNALL/libs/kipi-plugins' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/tmp/NEWTRYSVNALL/libs' make: *** [all] Error 2 I know that my debian sarge system is a bit outdated ;-), but I compiled this successfully in the not too distant past. (i.e. is the above a bug, or just a problem with my system, e.g. does kipi-plugins require KDE>3.3 ?) Best, Arnd in kipi-plugins : - svn up, - make -f Makefile.cvs - ./configure ... - make ==> work fine here using automake, not unsermake... Gilles On Fri, 17 Nov 2006, Gilles Caulier wrote: > in kipi-plugins : > > - svn up, > - make -f Makefile.cvs > - ./configure ... > - make > > ==> work fine here using automake, not unsermake... Here I get: [] /tmp/NEWTRYSVNALL/libs/kipi-plugins $ svn up At revision 605592. [] /tmp/NEWTRYSVNALL/libs/kipi-plugins $ make -f Makefile.cvs make: Makefile.cvs: No such file or directory make: *** No rule to make target `Makefile.cvs'. Stop. Whereas [] /tmp/NEWTRYSVNALL/libs $ make -f Makefile.cvs ... works ... [] ./configure ... runs through, no warnings etc. ... [] make ... gets to the place of the error mentioned before ... So if it works for you, it must be my system. And if my debian sarge is too old, I am happy to give up on compiling digikam svn until I upgraded to debian 4.0 ;-) Concerning unsermake: this is nowhere on my system. It says: *** automake (GNU automake) 1.7.9 found. Best, Arnd Move on parent directory of kipi-plugins to run make -f Makefile.cvs Gilles Sorry, now I am confused. isn't that precisely what I did: cd /tmp/NEWTRYSVNALL/libs; make -f Makefile.cvs does work there. And ./configure works fine. But then the make command leads to the error shown in #53. Best, Arnd No crashes exiv2 984, kipi-plugins/metadataedit 605645, digikam 605645 Looks like fixed. Thanks! No crashes for me either. I mark it as FIXED for now. exiv2 984, kipi-plugins/metadataedit 605697, digikam 605697. No crashes. A job well done! Caspar. Works for Me. Geoff Thanks for these reports. Important : note that i will fix digiKam/kipi-plugins Exiv2 depency to next Exiv2 0.12 release. Gilles |