[ https://issues.apache.org/jira/browse/IMAGING-246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17014377#comment-17014377 ]
Liberty Wollerman commented on IMAGING-246: ------------------------------------------- Thank you [~kinow] I appreciate your speedy response. Also, thanks for reformatting the description. I noticed that the reformatted code block was different content than my originally pasted code, so I just updated that in the description. > Invalid Block Size error prevents handling of block 1084, Macintosh > NSPrintInfo > ------------------------------------------------------------------------------- > > Key: IMAGING-246 > URL: https://issues.apache.org/jira/browse/IMAGING-246 > Project: Commons Imaging > Issue Type: Bug > Components: Format: JPEG > Affects Versions: 1.0-alpha1 > Reporter: Liberty Wollerman > Assignee: Bruno P. Kinoshita > Priority: Major > Attachments: FallHarvestKitKat_07610.jpg > > Time Spent: 40m > Remaining Estimate: 0h > > When processing an image created on a Mac with Adobe Photoshop which contains > embedded metadata having block 1084, an invalid block size error occurs. > |0x043C|1084|_(Photoshop CS5)_ Macintosh NSPrintInfo. Variable OS specific > info for Macintosh. NSPrintInfo. It is recommened that you do not interpret > or use this data.| > > Here is some simple test code that replicates what our application is trying > to do, and recreates the error: > {code:java} > import org.apache.commons.imaging.ImageInfo; > import org.apache.commons.imaging.ImageReadException; > import org.apache.commons.imaging.Imaging; > import org.apache.commons.io.FileUtils; > import java.io.File; > import java.io.IOException; > import java.util.Base64; > public class Main { > public static void main(String[] args) throws IOException, > ImageReadException { > String fileName = "FallHarvestKitKat_07610.jpg"; > ClassLoader classLoader = ClassLoader.getSystemClassLoader(); > File file = new File(classLoader.getResource(fileName).getFile()); > byte[] fileContent = FileUtils.readFileToByteArray(file); > String encodedString = Base64.getEncoder().encodeToString(fileContent); > byte[] decodedValue = Base64.getDecoder().decode(encodedString); > ImageInfo imageInfo = Imaging.getImageInfo(decodedValue); > } > }{code} > > Here is the resulting error: > {noformat} > Exception in thread "main" org.apache.commons.imaging.ImageReadException: > Invalid Block Size : 89562 > 65504Exception in thread "main" > org.apache.commons.imaging.ImageReadException: Invalid Block Size : 89562 > > 65504 at > > org.apache.commons.imaging.formats.jpeg.iptc.IptcParser.parseAllBlocks(IptcParser.java:318) > at > > org.apache.commons.imaging.formats.jpeg.iptc.IptcParser.parsePhotoshopSegment(IptcParser.java:119) > at > > org.apache.commons.imaging.formats.jpeg.iptc.IptcParser.parsePhotoshopSegment(IptcParser.java:112) > at > > org.apache.commons.imaging.formats.jpeg.segments.App13Segment.parsePhotoshopSegment(App13Segment.java:71) > at > > org.apache.commons.imaging.formats.jpeg.JpegImageParser.getPhotoshopMetadata(JpegImageParser.java:599) > at > > org.apache.commons.imaging.formats.jpeg.JpegImageParser.getMetadata(JpegImageParser.java:318) > at > > org.apache.commons.imaging.formats.jpeg.JpegImageParser.getImageInfo(JpegImageParser.java:739) > at org.apache.commons.imaging.Imaging.getImageInfo(Imaging.java:701) at > org.apache.commons.imaging.Imaging.getImageInfo(Imaging.java:635) at > Main.getMetaData(Main.java:22) at Main.main(Main.java:17){noformat} > -- This message was sent by Atlassian Jira (v8.3.4#803005)