incubator-sanselan-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "charles m chen (JIRA)" <>
Subject [jira] Commented: (SANSELAN-3) OutOfMemoryError while loading metadata of a jpeg image
Date Sun, 25 May 2008 14:01:55 GMT


charles m chen commented on SANSELAN-3:

I committed a small fix around this issue today:

Basically, the Nikon D40x (or whatever software last edited this image) is writing invalid
EXIF metadata to the JPG.  The TIFF structure of the EXIF metadata included: a TIFF field
with a tag of 0 as well as a TIFF directory with an invalid "next directory offset" value.

SVN comment:
Small fix around parsing of invalid TIFF metadata in JPEG files.  Added a "strict" flag to
the parameter sets of certain read methods.  When not in strict mode, Sanselan will ignore
minor problems in image files that it parses.  Sanselan now defaults to strict=false.


> OutOfMemoryError while loading metadata of a jpeg image
> -------------------------------------------------------
>                 Key: SANSELAN-3
>                 URL:
>             Project: Sanselan
>          Issue Type: Bug
>            Reporter: Philippe Gassmann
>            Assignee: Carsten Ziegeler
>            Priority: Blocker
>         Attachments: 2127422194_4734e30dcb_o.jpg
> the code executed : 
> IImageMetadata metadata = Sanselan.getMetadata(new File(sourcePath));
> the stacktrace : 
> java.lang.OutOfMemoryError: Java heap space
> at org.cmc.sanselan.common.byteSources.ByteSourceArray.getBlock(
> at org.cmc.sanselan.formats.tiff.TiffField.fillInValue(
> at org.cmc.sanselan.formats.tiff.TiffReader.readDirectory(
> at org.cmc.sanselan.formats.tiff.TiffReader.readDirectory(
> at org.cmc.sanselan.formats.tiff.TiffReader.readDirectories(
> at
> at org.cmc.sanselan.formats.tiff.TiffReader.readContents(
> at org.cmc.sanselan.formats.tiff.TiffImageParser.getMetadata(
> In the method fillInValue, the method getBlock is called with a length of more than 1,300,000,000
thus resulting in an OOME (the method tries to allocate a byte array of more than 1.3 gigabytes)
> I will attach the guilty picture that triggers this issue

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message