Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 4.3
-
Fix Version/s: 5.0.1
-
Component/s: Core/Parsing
-
Labels:None
-
Environment:any
-
Salesforce Case Reference:
Description
The the PDF in question has at least two major rendering issue related to image decoding. Further investigation is needed, stack trace is as follows.
26-Jan-2012 9:35:06 AM org.icepdf.core.util.ContentParser parse
FINER: Content =
q 835.2 0 0 623.88 0 0 cm /Im001 Do Q
q 835.2 0 0 623.88 0 0 cm /Im002 Do Q
q 436.72 0 0 436.72 199.24 93.58 cm /Im003 Do Q
26-Jan-2012 9:35:06 AM org.icepdf.core.pobjects.Stream jbig2Decode
WARNING: Problem loading JBIG2 image:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.icepdf.core.pobjects.Stream.jbig2Decode(Stream.java:880)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2339)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2250)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2198)
at org.icepdf.core.pobjects.Resources.getImage(Resources.java:246)
at org.icepdf.core.util.ContentParser.consume_Do(ContentParser.java:1987)
at org.icepdf.core.util.ContentParser.parse(ContentParser.java:373)
at org.icepdf.core.pobjects.Page.init(Page.java:372)
at org.icepdf.core.views.swing.PageViewComponentImpl$PageInitilizer.run(PageViewComponentImpl.java:1072)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -8
at org.jpedal.jbig2.io.StreamReader.readByte(StreamReader.java:51)
at org.jpedal.jbig2.decoders.JBIG2StreamDecoder.handleSegmentHeaderFlags(JBIG2StreamDecoder.java:479)
at org.jpedal.jbig2.decoders.JBIG2StreamDecoder.readSegmentHeader(JBIG2StreamDecoder.java:437)
at org.jpedal.jbig2.decoders.JBIG2StreamDecoder.readSegments(JBIG2StreamDecoder.java:190)
at org.jpedal.jbig2.decoders.JBIG2StreamDecoder.decodeJBIG2(JBIG2StreamDecoder.java:139)
at org.jpedal.jbig2.JBIG2Decoder.decodeJBIG2(JBIG2Decoder.java:114)
... 16 more
26-Jan-2012 9:35:06 AM org.icepdf.core.pobjects.Stream getImage
FINE: Error building image raster.
java.awt.image.RasterFormatException: raster dimensions overflow array bounds
at sun.awt.image.BytePackedRaster.verify(BytePackedRaster.java:1358)
at sun.awt.image.BytePackedRaster.<init>(BytePackedRaster.java:175)
at sun.awt.image.BytePackedRaster.<init>(BytePackedRaster.java:100)
at java.awt.image.Raster.createPackedRaster(Raster.java:848)
at org.icepdf.core.pobjects.Stream.makeImageWithRasterFromBytes(Stream.java:2458)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2387)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2250)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2198)
at org.icepdf.core.pobjects.Resources.getImage(Resources.java:246)
at org.icepdf.core.util.ContentParser.consume_Do(ContentParser.java:1987)
at org.icepdf.core.util.ContentParser.parse(ContentParser.java:373)
at org.icepdf.core.pobjects.Page.init(Page.java:372)
at org.icepdf.core.views.swing.PageViewComponentImpl$PageInitilizer.run(PageViewComponentImpl.java:1072)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
26-Jan-2012 9:35:08 AM org.icepdf.core.pobjects.filters.CCITTFax deriveBufferedImageFromTIFFBytes
FINE: deriveBufferedImageFromTIFFBytes() : Could not derive image from data bytes:
java.lang.ArrayIndexOutOfBoundsException: 4253
at com.sun.media.jai.codecimpl.TIFFFaxDecoder.nextLesserThan8Bits(TIFFFaxDecoder.java:1481)
at com.sun.media.jai.codecimpl.TIFFFaxDecoder.decodeT6(TIFFFaxDecoder.java:964)
at com.sun.media.jai.codecimpl.TIFFImage.getTile(TIFFImage.java:1067)
at javax.media.jai.RenderedImageAdapter.getTile(RenderedImageAdapter.java:156)
at javax.media.jai.NullOpImage.computeTile(NullOpImage.java:170)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:912)
at javax.media.jai.OpImage.getTile(OpImage.java:1139)
at javax.media.jai.RenderedOp.getTile(RenderedOp.java:2268)
at org.icepdf.core.pobjects.filters.CCITTFax.deriveBufferedImageFromTIFFBytes(CCITTFax.java:816)
at org.icepdf.core.pobjects.filters.CCITTFax.attemptDeriveBufferedImageFromBytes(CCITTFax.java:723)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2353)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2250)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2198)
at org.icepdf.core.pobjects.Resources.getImage(Resources.java:246)
at org.icepdf.core.util.ContentParser.consume_Do(ContentParser.java:1987)
at org.icepdf.core.util.ContentParser.parse(ContentParser.java:373)
at org.icepdf.core.pobjects.Page.init(Page.java:372)
at org.icepdf.core.views.swing.PageViewComponentImpl$PageInitilizer.run(PageViewComponentImpl.java:1072)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
26-Jan-2012 9:35:08 AM org.icepdf.core.pobjects.filters.CCITTFax deriveBufferedImageFromTIFFBytes
FINE: deriveBufferedImageFromTIFFBytes() : Could not derive image from data bytes:
java.lang.Error: Invalid code encountered.
at com.sun.media.jai.codecimpl.TIFFFaxDecoder.decodeNextScanline(TIFFFaxDecoder.java:621)
at com.sun.media.jai.codecimpl.TIFFFaxDecoder.decode1D(TIFFFaxDecoder.java:583)
at com.sun.media.jai.codecimpl.TIFFImage.getTile(TIFFImage.java:1060)
at javax.media.jai.RenderedImageAdapter.getTile(RenderedImageAdapter.java:156)
at javax.media.jai.NullOpImage.computeTile(NullOpImage.java:170)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:912)
at javax.media.jai.OpImage.getTile(OpImage.java:1139)
at javax.media.jai.RenderedOp.getTile(RenderedOp.java:2268)
at org.icepdf.core.pobjects.filters.CCITTFax.deriveBufferedImageFromTIFFBytes(CCITTFax.java:816)
at org.icepdf.core.pobjects.filters.CCITTFax.attemptDeriveBufferedImageFromBytes(CCITTFax.java:740)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2353)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2250)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2198)
at org.icepdf.core.pobjects.Resources.getImage(Resources.java:246)
at org.icepdf.core.util.ContentParser.consume_Do(ContentParser.java:1987)
at org.icepdf.core.util.ContentParser.parse(ContentParser.java:373)
at org.icepdf.core.pobjects.Page.init(Page.java:372)
at org.icepdf.core.views.swing.PageViewComponentImpl$PageInitilizer.run(PageViewComponentImpl.java:1072)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
26-Jan-2012 9:35:08 AM org.icepdf.core.pobjects.filters.CCITTFax deriveBufferedImageFromTIFFBytes
FINE: deriveBufferedImageFromTIFFBytes() : Could not derive image from data bytes:
java.lang.Error: End of data reached before next EOL encountered.
at com.sun.media.jai.codecimpl.TIFFFaxDecoder.readEOL(TIFFFaxDecoder.java:1288)
at com.sun.media.jai.codecimpl.TIFFFaxDecoder.decode2D(TIFFFaxDecoder.java:775)
at com.sun.media.jai.codecimpl.TIFFImage.getTile(TIFFImage.java:1063)
at javax.media.jai.RenderedImageAdapter.getTile(RenderedImageAdapter.java:156)
at javax.media.jai.NullOpImage.computeTile(NullOpImage.java:170)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:912)
at javax.media.jai.OpImage.getTile(OpImage.java:1139)
at javax.media.jai.RenderedOp.getTile(RenderedOp.java:2268)
at org.icepdf.core.pobjects.filters.CCITTFax.deriveBufferedImageFromTIFFBytes(CCITTFax.java:816)
at org.icepdf.core.pobjects.filters.CCITTFax.attemptDeriveBufferedImageFromBytes(CCITTFax.java:740)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2353)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2250)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2198)
at org.icepdf.core.pobjects.Resources.getImage(Resources.java:246)
at org.icepdf.core.util.ContentParser.consume_Do(ContentParser.java:1987)
at org.icepdf.core.util.ContentParser.parse(ContentParser.java:373)
at org.icepdf.core.pobjects.Page.init(Page.java:372)
at org.icepdf.core.views.swing.PageViewComponentImpl$PageInitilizer.run(PageViewComponentImpl.java:1072)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
26-Jan-2012 9:35:08 AM org.icepdf.core.util.ContentParser parse
FINER: End of Content Stream
26-Jan-2012 9:35:06 AM org.icepdf.core.util.ContentParser parse
FINER: Content =
q 835.2 0 0 623.88 0 0 cm /Im001 Do Q
q 835.2 0 0 623.88 0 0 cm /Im002 Do Q
q 436.72 0 0 436.72 199.24 93.58 cm /Im003 Do Q
26-Jan-2012 9:35:06 AM org.icepdf.core.pobjects.Stream jbig2Decode
WARNING: Problem loading JBIG2 image:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.icepdf.core.pobjects.Stream.jbig2Decode(Stream.java:880)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2339)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2250)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2198)
at org.icepdf.core.pobjects.Resources.getImage(Resources.java:246)
at org.icepdf.core.util.ContentParser.consume_Do(ContentParser.java:1987)
at org.icepdf.core.util.ContentParser.parse(ContentParser.java:373)
at org.icepdf.core.pobjects.Page.init(Page.java:372)
at org.icepdf.core.views.swing.PageViewComponentImpl$PageInitilizer.run(PageViewComponentImpl.java:1072)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -8
at org.jpedal.jbig2.io.StreamReader.readByte(StreamReader.java:51)
at org.jpedal.jbig2.decoders.JBIG2StreamDecoder.handleSegmentHeaderFlags(JBIG2StreamDecoder.java:479)
at org.jpedal.jbig2.decoders.JBIG2StreamDecoder.readSegmentHeader(JBIG2StreamDecoder.java:437)
at org.jpedal.jbig2.decoders.JBIG2StreamDecoder.readSegments(JBIG2StreamDecoder.java:190)
at org.jpedal.jbig2.decoders.JBIG2StreamDecoder.decodeJBIG2(JBIG2StreamDecoder.java:139)
at org.jpedal.jbig2.JBIG2Decoder.decodeJBIG2(JBIG2Decoder.java:114)
... 16 more
26-Jan-2012 9:35:06 AM org.icepdf.core.pobjects.Stream getImage
FINE: Error building image raster.
java.awt.image.RasterFormatException: raster dimensions overflow array bounds
at sun.awt.image.BytePackedRaster.verify(BytePackedRaster.java:1358)
at sun.awt.image.BytePackedRaster.<init>(BytePackedRaster.java:175)
at sun.awt.image.BytePackedRaster.<init>(BytePackedRaster.java:100)
at java.awt.image.Raster.createPackedRaster(Raster.java:848)
at org.icepdf.core.pobjects.Stream.makeImageWithRasterFromBytes(Stream.java:2458)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2387)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2250)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2198)
at org.icepdf.core.pobjects.Resources.getImage(Resources.java:246)
at org.icepdf.core.util.ContentParser.consume_Do(ContentParser.java:1987)
at org.icepdf.core.util.ContentParser.parse(ContentParser.java:373)
at org.icepdf.core.pobjects.Page.init(Page.java:372)
at org.icepdf.core.views.swing.PageViewComponentImpl$PageInitilizer.run(PageViewComponentImpl.java:1072)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
26-Jan-2012 9:35:08 AM org.icepdf.core.pobjects.filters.CCITTFax deriveBufferedImageFromTIFFBytes
FINE: deriveBufferedImageFromTIFFBytes() : Could not derive image from data bytes:
java.lang.ArrayIndexOutOfBoundsException: 4253
at com.sun.media.jai.codecimpl.TIFFFaxDecoder.nextLesserThan8Bits(TIFFFaxDecoder.java:1481)
at com.sun.media.jai.codecimpl.TIFFFaxDecoder.decodeT6(TIFFFaxDecoder.java:964)
at com.sun.media.jai.codecimpl.TIFFImage.getTile(TIFFImage.java:1067)
at javax.media.jai.RenderedImageAdapter.getTile(RenderedImageAdapter.java:156)
at javax.media.jai.NullOpImage.computeTile(NullOpImage.java:170)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:912)
at javax.media.jai.OpImage.getTile(OpImage.java:1139)
at javax.media.jai.RenderedOp.getTile(RenderedOp.java:2268)
at org.icepdf.core.pobjects.filters.CCITTFax.deriveBufferedImageFromTIFFBytes(CCITTFax.java:816)
at org.icepdf.core.pobjects.filters.CCITTFax.attemptDeriveBufferedImageFromBytes(CCITTFax.java:723)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2353)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2250)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2198)
at org.icepdf.core.pobjects.Resources.getImage(Resources.java:246)
at org.icepdf.core.util.ContentParser.consume_Do(ContentParser.java:1987)
at org.icepdf.core.util.ContentParser.parse(ContentParser.java:373)
at org.icepdf.core.pobjects.Page.init(Page.java:372)
at org.icepdf.core.views.swing.PageViewComponentImpl$PageInitilizer.run(PageViewComponentImpl.java:1072)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
26-Jan-2012 9:35:08 AM org.icepdf.core.pobjects.filters.CCITTFax deriveBufferedImageFromTIFFBytes
FINE: deriveBufferedImageFromTIFFBytes() : Could not derive image from data bytes:
java.lang.Error: Invalid code encountered.
at com.sun.media.jai.codecimpl.TIFFFaxDecoder.decodeNextScanline(TIFFFaxDecoder.java:621)
at com.sun.media.jai.codecimpl.TIFFFaxDecoder.decode1D(TIFFFaxDecoder.java:583)
at com.sun.media.jai.codecimpl.TIFFImage.getTile(TIFFImage.java:1060)
at javax.media.jai.RenderedImageAdapter.getTile(RenderedImageAdapter.java:156)
at javax.media.jai.NullOpImage.computeTile(NullOpImage.java:170)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:912)
at javax.media.jai.OpImage.getTile(OpImage.java:1139)
at javax.media.jai.RenderedOp.getTile(RenderedOp.java:2268)
at org.icepdf.core.pobjects.filters.CCITTFax.deriveBufferedImageFromTIFFBytes(CCITTFax.java:816)
at org.icepdf.core.pobjects.filters.CCITTFax.attemptDeriveBufferedImageFromBytes(CCITTFax.java:740)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2353)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2250)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2198)
at org.icepdf.core.pobjects.Resources.getImage(Resources.java:246)
at org.icepdf.core.util.ContentParser.consume_Do(ContentParser.java:1987)
at org.icepdf.core.util.ContentParser.parse(ContentParser.java:373)
at org.icepdf.core.pobjects.Page.init(Page.java:372)
at org.icepdf.core.views.swing.PageViewComponentImpl$PageInitilizer.run(PageViewComponentImpl.java:1072)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
26-Jan-2012 9:35:08 AM org.icepdf.core.pobjects.filters.CCITTFax deriveBufferedImageFromTIFFBytes
FINE: deriveBufferedImageFromTIFFBytes() : Could not derive image from data bytes:
java.lang.Error: End of data reached before next EOL encountered.
at com.sun.media.jai.codecimpl.TIFFFaxDecoder.readEOL(TIFFFaxDecoder.java:1288)
at com.sun.media.jai.codecimpl.TIFFFaxDecoder.decode2D(TIFFFaxDecoder.java:775)
at com.sun.media.jai.codecimpl.TIFFImage.getTile(TIFFImage.java:1063)
at javax.media.jai.RenderedImageAdapter.getTile(RenderedImageAdapter.java:156)
at javax.media.jai.NullOpImage.computeTile(NullOpImage.java:170)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:912)
at javax.media.jai.OpImage.getTile(OpImage.java:1139)
at javax.media.jai.RenderedOp.getTile(RenderedOp.java:2268)
at org.icepdf.core.pobjects.filters.CCITTFax.deriveBufferedImageFromTIFFBytes(CCITTFax.java:816)
at org.icepdf.core.pobjects.filters.CCITTFax.attemptDeriveBufferedImageFromBytes(CCITTFax.java:740)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2353)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2250)
at org.icepdf.core.pobjects.Stream.getImage(Stream.java:2198)
at org.icepdf.core.pobjects.Resources.getImage(Resources.java:246)
at org.icepdf.core.util.ContentParser.consume_Do(ContentParser.java:1987)
at org.icepdf.core.util.ContentParser.parse(ContentParser.java:373)
at org.icepdf.core.pobjects.Page.init(Page.java:372)
at org.icepdf.core.views.swing.PageViewComponentImpl$PageInitilizer.run(PageViewComponentImpl.java:1072)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
26-Jan-2012 9:35:08 AM org.icepdf.core.util.ContentParser parse
FINER: End of Content Stream
The two samples seem to be loading fine with version 5.0 and org.icepdf.core.ccittfax.jai=false.