Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 86740 - libexif >0.5.12-r2 causes Gimp JPEG plugin to fail while loading certain exif images
Summary: libexif >0.5.12-r2 causes Gimp JPEG plugin to fail while loading certain exif...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Jeremy Huddleston (RETIRED)
URL:
Whiteboard:
Keywords:
: 88936 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-03-26 00:06 UTC by William Dubel
Modified: 2005-04-17 14:41 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description William Dubel 2005-03-26 00:06:56 UTC
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.
Comment 1 Chris Ripp 2005-03-31 10:41:54 UTC
I can confirm this bug.  Exact same symptoms and fix.  Gimp 2.2.3.  Emerge libexif-0.5.12-r2 and re-emerge gimp.
Comment 2 Bryce Thomas 2005-04-09 22:56:49 UTC
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
Comment 3 Bryce Thomas 2005-04-09 23:08:29 UTC
I'm sorry, I misread the posts, when reverting to 0.5.12-r2 the problem goes away.  Thanks.
Comment 4 Zhenzhi 2005-04-10 05:06:11 UTC
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. 
Comment 5 Zhenzhi 2005-04-10 05:08:00 UTC
I reemerged 0.6.10-r1 and it works fine. Maybe you guys can give it a try. 
Comment 6 michael j tobler 2005-04-12 09:13:51 UTC
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
Comment 7 Malcolm Lashley (RETIRED) gentoo-dev 2005-04-12 10:49:41 UTC
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...
Comment 8 Jure Repinc 2005-04-12 13:13:55 UTC
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
Comment 9 Pav Lucistnik 2005-04-13 14:09:28 UTC
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
Comment 10 Keith Constable 2005-04-15 09:40:55 UTC
Confirmed, patch in Comment #9 fixes the issue.

There's your corruption, Malcolm.
Comment 11 foser (RETIRED) gentoo-dev 2005-04-16 05:57:59 UTC
maybe if we assign it to the right ppl it gets some work ;)
Comment 12 Jeremy Huddleston (RETIRED) gentoo-dev 2005-04-16 11:52:43 UTC
fixed in portage, thanks.
Comment 13 foser (RETIRED) gentoo-dev 2005-04-17 14:41:29 UTC
*** Bug 88936 has been marked as a duplicate of this bug. ***