After updating libexif and Gimp, I found that Gimp would no longer load JPEG images taken with my digital camera (Sony DSC-V1). Gimp allows a preview but on loading the plugin fails with the following message: Opening '/home/william/dsc02366.jpg' failed: Plug-In could not open image JPEG images from other sources load fine. Reproducible: Always Steps to Reproduce: 1. Update libexif to version 0.6.12 (I realize this is currently ~x86) 2. Possibly re-emerge Gimp 3. Open an exif formatted image with Gimp (only tested from Sony DSC-V1) Actual Results: Opening 'filename' failed: Plug-In could not open image Expected Results: Gimp should have opened the image just as it does any other jpeg I tested with both Gimp versions 2.2.0 and 2.2.3: with the libexif version 0.6.12 the problem occurs. When the old libexif =0.5.12-r12 is emerged, (and Gimp needs to be re-emerged as well), Gimp loads the exif jpeg images as it should. I have an x86 system. Other image applications that I tested were not affected, such as Eye of Gnome.
I can confirm this bug. Exact same symptoms and fix. Gimp 2.2.3. Emerge libexif-0.5.12-r2 and re-emerge gimp.
I'm running a ~amd64 system, I have libexif-0.6.12-r2 installed and I exhibit the exact same symptoms as the other two even with the updated libexif. [ebuild R ] media-gfx/gimp-2.2.3 -aalib (-altivec) -debug -doc -gimpprint -gtkhtml +jpeg (-mmx) -mng +png +python (-sse) +svg +tiff -wmf 0 kB [ebuild R ] media-libs/libexif-0.6.12-r2 +nls 0 kB Portage 2.0.51.19 (default-linux/amd64/2005.0, gcc-3.4.3-20050110, glibc-2.3.4.20050125-r1, 2.6.11-morph6 x86_64) ================================================================= System uname: 2.6.11-morph6 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.6.10 Python: dev-lang/python-2.3.5 [2.3.5 (#1, Apr 9 2005, 12:26:32)] dev-lang/python: 2.3.5 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.7.9-r1, 1.8.5-r3, 1.6.3, 1.5, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r8 sys-devel/libtool: 1.5.14 virtual/os-headers: 2.6.8.1-r4 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CFLAGS="-O3 -march=athlon64 -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=athlon64 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -Wl,--strip-all" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acpi alsa amd64 avi bash-completion berkdb bitmap-fonts cdr crypt dvd dvdread fam font-server fortran gif gpm gtk gtk2 hal imlib ipv6 java jp2 jpeg lzw lzw-tiff mad motif mp3 mpeg ncurses nls nptl nvidia opengl oss pam perl pic png python readline samba sdl ssl tcltk tcpd tiff truetype truetype-fonts type1-fonts usb userlocales xml2 xmms xpm xrandr xv xvid zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL
I'm sorry, I misread the posts, when reverting to 0.5.12-r2 the problem goes away. Thanks.
Using libexif-0.6.12-r2 on x86. Has exactly the same problem. It does not load pictures from a digital camera, a Canon G6 user here. Regular jpegs work fine.
I reemerged 0.6.10-r1 and it works fine. Maybe you guys can give it a try.
i can validate Zhenzhi's comments - GIMP now *works* on my AMD system: [ebuild R ] media-libs/libexif-0.6.10-r1 [ebuild R ] media-gfx/gimp-2.2.6 code: echo '>media-libs/libexif-0.6.10-r1' > /etc/portage/package.mask emerge -v --one-shot libexif emerge -v gimp info: Portage 2.0.51.19 (default-linux/amd64/2005.0, gcc-3.4.3-20050110, glibc-2.3.4.20050125-r1, 2.6.11-gentoo-r3 x86_64) ================================================================= System uname: 2.6.11-gentoo-r3 x86_64 AMD Athlon(tm) 64 Processor 4000+ Gentoo Base System version 1.6.10 Python: dev-lang/python-2.3.5 [2.3.5 (#1, Apr 4 2005, 13:10:21)] dev-lang/python: 2.3.5 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r8 sys-devel/libtool: 1.5.14 virtual/os-headers: 2.6.8.1-r4 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CFLAGS="-march=k8 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=k8 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox" MAKEOPTS="-j2" USE="amd64 X acpi alsa arts berkdb bitmap-fonts cdr crypt dvd dvdr esd fam font-server fortran gif gpm gtk imagemagick imlib ipv6 jack jp2 jpeg kde lzw lzw-tiff motif mp3 ncurses nls nvidia ogg opengl oss pam perl png python qt readline sdl sqlite ssl tcpd tiff truetype truetype-fonts type1-fonts usb userlocales vorbis xml2 xmms xpm xrandr xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
This bug is in libexif MakerNote handling, at least on images generated with my Nikon D70. in exif-data.c line 779 there is a switch statement, if you comment it out and rebuild - libexif will no longer parse the makernote and gimp loads images fine with libexif-0.6.12. now this is a hack, not a fix. I have reproduced the bug using the exif command line tool available from libexif.sf.net and the --show-mnote cmd line switch. Using the switch (with vanilla libexif) causes segfault, leaving it out parses the other exif data just fine. It appears that ExifMnoteDataOlympus->methods.free get's corrupted, causing the segfault once the functionpointer is attempted to be executed, but I can't figure out exactly how it's getting overwritten...
I have the same problem here. Upgraded to libexif 1.6.12-r2 some time ago and ever since that many graphical apps stopped working. For example digikam and showfoto and GIMP are one of those. I have since then rebuilt all of them but it doesn't help. It only helps to go back to an older version of libexif. I have AMD Athlon 64 and all is compiled in 64-bits for AMD64. Portage 2.0.51.19 (default-linux/amd64/2005.0, gcc-3.4.3-20050110, glibc-2.3.4.20050125-r1, 2.6.11-gentoo-r5 x86_64) ================================================================= System uname: 2.6.11-gentoo-r5 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.6.10 Python: dev-lang/python-2.3.5 [2.3.5 (#1, Mar 6 2005, 16:22:42)] distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] dev-lang/python: 2.3.5 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r8 sys-devel/libtool: 1.5.14 virtual/os-headers: 2.6.8.1-r4 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CFLAGS="-march=athlon64 -pipe -O2 -fomit-frame-pointer -frename-registers" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/cursors/xorg-x11/default /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-march=athlon64 -pipe -O2 -fomit-frame-pointer -frename-registers" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LANG="sl_SI" LINGUAS="en sl" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/root/portageoverlay" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aalib acpi alsa amd64 apm arts avi berkdb bitmap-fonts cdr crypt cups curl dvd dvdr encode esd exif fam fbcon flac font-server foomaticdb fortran ftp gd gdbm gif gnome gphoto2 gpm gstreamer gtk gtk2 imagemagick imlib ipv6 jabber jp2 jpeg kde libwww lzw lzw-tiff mad mikmod motif mozilla mp3 mpeg mysql ncurses nls nptl ogg oggvorbis opengl oss pam pdflib perl png posix ppds python qt quicktime readline samba scanner sdl slang speex spell ssl tcltk tcpd tetex theora tiff truetype truetype-fonts type1-fonts unicode usb userlocales videos vorbis xml xml2 xmms xosd xpm xprint xrandr xv xvid zlib linguas_en linguas_sl" Unset: ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS
This is fixed for me by applying revision 1.68 of libexif/exif-data.c http://cvs.sourceforge.net/viewcvs.py/libexif/libexif/libexif/exif-data.c?r1=1.67&r2=1.68&sortby=date&diff_format=u
Confirmed, patch in Comment #9 fixes the issue. There's your corruption, Malcolm.
maybe if we assign it to the right ppl it gets some work ;)
fixed in portage, thanks.
*** Bug 88936 has been marked as a duplicate of this bug. ***