commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Groß (JIRA) <j...@apache.org>
Subject [jira] [Comment Edited] (IMAGING-134) Invalid marker found in entropy data
Date Sun, 22 Feb 2015 20:54:13 GMT

    [ https://issues.apache.org/jira/browse/IMAGING-134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14332359#comment-14332359
] 

Michael Groß edited comment on IMAGING-134 at 2/22/15 8:54 PM:
---------------------------------------------------------------

The exception is thrown from *org.apache.commons.imaging.formats.jpeg.decoder.JpegInputStream.nextBit()*
when a marker called *b2* is not 220:
{noformat}
org.apache.commons.imaging.formats.jpeg.JpegConstants

public static final int DNL_MARKER = 0xFFdc;

org.apache.commons.imaging.formats.jpeg.decoder.JpegInputStream.nextBit()

if (b2 == (0xff & JpegConstants.DNL_MARKER)) {
    throw new ImageReadException("DNL not yet supported");
}
throw new ImageReadException("Invalid marker found " + "in entropy data");
{noformat}

0xff & 0xffdc = 0xdc = 220 => if b2 is not 220 then throw an ImageReadException!

So I modified *org.apache.commons.imaging.formats.jpeg.decoder.JpegInputStream.nextBit()*
to print *b2* before the exception is thrown and executed the same test for image.jpeg from
the issue and _DSC6099.jpg from IMAGING-97:
=== b2 is 208 ===
=== b2 is 208 ===

Both issues are caused by the same problem: *b2* is 208, not 220 as expected. Whatever *b2*
is - does someone know?




was (Author: mgmechanics):
The exception is thrown from *org.apache.commons.imaging.formats.jpeg.decoder.JpegInputStream.nextBit()*
when a marker called *b2* is not 220:
{noformat}
org.apache.commons.imaging.formats.jpeg.JpegConstants

public static final int DNL_MARKER = 0xFFdc;

org.apache.commons.imaging.formats.jpeg.decoder.JpegInputStream.nextBit()

if (b2 == (0xff & JpegConstants.DNL_MARKER)) {
    throw new ImageReadException("DNL not yet supported");
}
throw new ImageReadException("Invalid marker found " + "in entropy data");
{noformat}

0xff & 0xffdc = 0xdc = 220 => if b2 is not 220 then throw an ImageReadException!

So I modified *org.apache.commons.imaging.formats.jpeg.decoder.JpegInputStream.nextBit()*
to print *b2* before the exception is thrown and executed the same test for image.jpeg from
the issue and _DSC6099.jpg from IMAGING-97:
=== b2 is 208 ===
=== b2 is 208 ===

Both issues seems to be caused by the same problem: *b2* is 208, not 220 as expected. Whatever
*b2* is - does someone know?



> Invalid marker found in entropy data
> ------------------------------------
>
>                 Key: IMAGING-134
>                 URL: https://issues.apache.org/jira/browse/IMAGING-134
>             Project: Commons Imaging
>          Issue Type: Bug
>          Components: Format: JPEG
>    Affects Versions: 1.0
>            Reporter: John Hewson
>             Fix For: Patch Needed
>
>         Attachments: image.jpeg
>
>
> I'm getting the following exception when trying to read a JPEG:
> Exception in thread "main" org.apache.commons.imaging.ImageReadException: Invalid marker
found in entropy data
> 	at org.apache.commons.imaging.formats.jpeg.decoder.JpegInputStream.nextBit(JpegInputStream.java:50)
> 	at org.apache.commons.imaging.formats.jpeg.decoder.JpegDecoder.decode(JpegDecoder.java:426)
> 	at org.apache.commons.imaging.formats.jpeg.decoder.JpegDecoder.readMCU(JpegDecoder.java:320)
> 	at org.apache.commons.imaging.formats.jpeg.decoder.JpegDecoder.visitSOS(JpegDecoder.java:124)
> 	at org.apache.commons.imaging.formats.jpeg.JpegUtils.traverseJFIF(JpegUtils.java:80)
> 	at org.apache.commons.imaging.formats.jpeg.decoder.JpegDecoder.decode(JpegDecoder.java:436)
> 	at org.apache.commons.imaging.formats.jpeg.JpegImageParser.getBufferedImage(JpegImageParser.java:98)
> 	at org.apache.commons.imaging.Imaging.getBufferedImage(Imaging.java:1378)
> 	at org.apache.commons.imaging.Imaging.getBufferedImage(Imaging.java:1341)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message