FULL PRODUCT VERSION :
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Server VM (build 1.5.0-b64, mixed mode)
(confirmed also in JDK 1.4.2_04 and 1.4.2_06)
ADDITIONAL OS VERSION INFORMATION :
Linux XX 2.4.24 #7 SMP XX  i686 GNU/Linux
(confirmed also on Mac OSX)
A DESCRIPTION OF THE PROBLEM :
The ImageIO ImageReader throws an exception in the .read() method on some types of GIF images.
A sample file can be found at
ftp://ftp.berlios.de/pub/digilib/babylon_funny.gif
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Invoke ImageReader.read() on a special GIF image (e.g. with the provided test program)
A sample image file can be found at
ftp://ftp.berlios.de/pub/digilib/babylon_funny.gif
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
the reader loads the image
ACTUAL -
the reader throws an exception
ERROR MESSAGES/STACK TRACES THAT OCCUR :
javax.imageio.IIOException: Unexpected block type 51!
        at com.sun.imageio.plugins.gif.GIFImageReader.readMetadata(GIFImageReader.java:721)
        at com.sun.imageio.plugins.gif.GIFImageReader.read(GIFImageReader.java:954)
        at javax.imageio.ImageReader.read(ImageReader.java:919)
        at ReadImgTest.main(ReadImgTest.java:43)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import java.io.*;
import java.util.*;
import java.awt.image.*;
import javax.imageio.*;
import javax.imageio.stream.*;
public class IIO {
	public static void main(String[] args) {
		File f = new File(args[0]);
		ImageInputStream iis = null;
		try {
			iis = new FileImageInputStream(f);
		} catch (FileNotFoundException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		Iterator i = ImageIO.getImageReaders(iis);
		ImageReader r = (ImageReader) i.next();
		r.setInput(iis);
		try {
			BufferedImage img = r.read(0);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
---------- END SOURCE ----------