ICEpdf
  1. ICEpdf
  2. PDF-383

Image loading errors, TIFFFax and jbig2 deocode issues.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major 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

        Activity

        Hide
        Patrick Corless added a comment -

        The two samples seem to be loading fine with version 5.0 and org.icepdf.core.ccittfax.jai=false.

        Show
        Patrick Corless added a comment - The two samples seem to be loading fine with version 5.0 and org.icepdf.core.ccittfax.jai=false.
        Hide
        Patrick Corless added a comment -

        Test files can be found here, \\iceads1\support\PDF\300\383

        Show
        Patrick Corless added a comment - Test files can be found here, \\iceads1\support\PDF\300\383

          People

          • Assignee:
            Patrick Corless
            Reporter:
            Patrick Corless
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: