ICEpdf
  1. ICEpdf
  2. PDF-698

-Dorg.icepdf.core.imageProxy=false causing null pointer for some image types.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.0.4
    • Fix Version/s: 5.0.5
    • Component/s: Core/Parsing
    • Labels:
      None
    • Environment:
      -Dorg.icepdf.core.imageProxy=false
    • Salesforce Case Reference:

      Description

      The file in question can not be shared but they where able to provide a stack trace. There are a few cases where an inlineImageRefernce would produce the below error but for some reason it's not on the class path.



      java.lang.NullPointerException
      at org.icepdf.core.pobjects.graphics.ImageReference.createImage(ImageReference.java:107)
      at org.icepdf.core.pobjects.graphics.CachedImageReference.getImage(CachedImageReference.java:55)
      at org.icepdf.core.pobjects.graphics.ImageReference.drawImage(ImageReference.java:71)
      at org.icepdf.core.pobjects.graphics.commands.ImageDrawCmd.paintOperand(ImageDrawCmd.java:50)
      at org.icepdf.core.pobjects.graphics.Shapes.paint(Shapes.java:136)
      at org.icepdf.core.pobjects.Page.paintPageContent(Page.java:543)
      at org.icepdf.core.pobjects.Page.paint(Page.java:500)
      at org.icepdf.core.pobjects.Page.paint(Page.java:432)
      at org.icepdf.core.pobjects.Document.getPageImage(Document.java:1097)
      at com.agfa.hap.ddc.viewables.PDFViewable.getRasterImage(PDFViewable.java:319)
      at com.agfa.hap.ddc.swing.docview.ViewableRasterizerAdapter.getImage(ViewableRasterizerAdapter.java:225)
      at com.agfa.hap.ddc.swing.docview.Victorizer2D.loadImage(Victorizer2D.java:261)
      at com.agfa.hap.ddc.swing.docview.Victorizer2D$ImageLoadingThread.run(Victorizer2D.java:197)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
      java.lang.NullPointerException
      at org.icepdf.core.pobjects.graphics.ImageReference.createImage(ImageReference.java:107)
      at org.icepdf.core.pobjects.graphics.CachedImageReference.getImage(CachedImageReference.java:55)
      at org.icepdf.core.pobjects.graphics.ImageReference.drawImage(ImageReference.java:71)
      at org.icepdf.core.pobjects.graphics.commands.ImageDrawCmd.paintOperand(ImageDrawCmd.java:50)
      at org.icepdf.core.pobjects.graphics.Shapes.paint(Shapes.java:136)
      at org.icepdf.core.pobjects.Page.paintPageContent(Page.java:543)
      at org.icepdf.core.pobjects.Page.paint(Page.java:500)
      at org.icepdf.core.pobjects.Page.paint(Page.java:432)
      at org.icepdf.core.pobjects.Document.getPageImage(Document.java:1097)
      at com.agfa.hap.ddc.viewables.PDFViewable.getRasterImage(PDFViewable.java:319)
      at com.agfa.hap.ddc.swing.docview.ViewableRasterizerAdapter.getImage(ViewableRasterizerAdapter.java:225)
      at com.agfa.hap.ddc.swing.docview.Victorizer2D.calculateNiceImage(Victorizer2D.java:771)
      at com.agfa.hap.ddc.swing.docview.Victorizer2D.access$900(Victorizer2D.java:66)
      at com.agfa.hap.ddc.swing.docview.Victorizer2D$NiceTransfomRunnable.run(Victorizer2D.java:739)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

        Activity

        Hide
        Patrick Corless added a comment -

        Added some extra null pointer checks to avoid the issue shown in the stack trace. Fix added to both the 5.0.1 branch and trunk.

        Show
        Patrick Corless added a comment - Added some extra null pointer checks to avoid the issue shown in the stack trace. Fix added to both the 5.0.1 branch and trunk.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: