ICEpdf
  1. ICEpdf
  2. PDF-754

Display issues after letting PDF sit idle in Viewer

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.0.6_P01
    • Fix Version/s: 5.0.7
    • Component/s: Core/Parsing
    • Labels:
      None
    • Environment:
      All

      Description

      When running the provided PDF file in the ICEpdf viewer app for more than 5 hours, the PDF is rendered as blank. Changing pages will re-render some of the content but not the images included in the PDF. I do see the following NPE thrown in the logs:

      May 07, 2014 1:40:11 PM org.icepdf.core.pobjects.graphics.Shapes paint
      FINE: Error painting shapes.
      java.lang.NullPointerException
      at org.icepdf.core.pobjects.fonts.nfont.NFontTrueType.interpretCompositeGlyph(Unknown Source)
      at org.icepdf.core.pobjects.fonts.nfont.NFontTrueType.buildPathFromGlyphDefinition(Unknown Source)
      at org.icepdf.core.pobjects.fonts.nfont.NFontTrueType.getGlyph(Unknown Source)
      at org.icepdf.core.pobjects.fonts.nfont.NFontTrueType.drawEstring(Unknown Source)
      at org.icepdf.core.pobjects.graphics.TextSprite.paint(TextSprite.java:213)
      at org.icepdf.core.pobjects.graphics.commands.TextSpriteDrawCmd.paintOperand(TextSpriteDrawCmd.java:49)
      at org.icepdf.core.pobjects.graphics.Shapes.paint(Shapes.java:136)
      at org.icepdf.core.pobjects.Page.paintPageContent(Page.java:542)
      at org.icepdf.core.pobjects.Page.paint(Page.java:499)
      at org.icepdf.ri.common.views.PageViewComponentImpl.createBufferedPageImage(PageViewComponentImpl.java:844)
      at org.icepdf.ri.common.views.PageViewComponentImpl.access$400(PageViewComponentImpl.java:74)
      at org.icepdf.ri.common.views.PageViewComponentImpl$PagePainter.run(PageViewComponentImpl.java:993)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:744)

        Activity

        Hide
        Flextronics International added a comment -

        Hi

        Do you have any update or ETA?

        Thank you

        Show
        Flextronics International added a comment - Hi Do you have any update or ETA? Thank you
        Hide
        Patrick Corless added a comment -

        Make some progresses on this issue finding several issues with the currently PageViewComponentImpl.

        • buffer sizes where much larger then they had to be.
        • cleaned up the buffer size calculation so the buffers is truing X % larger.
        • a reoccurring corner case where a piece of the page is shown and the buffer is created, when more of the pge
          is shown the buffer will not be increased in size resulting in the blank content.
        • revisited paintCopyAreaLock lock and adjusted the synchronization.
        • added a hock to restart the dirty timer if the page buffer was disposed.
        Show
        Patrick Corless added a comment - Make some progresses on this issue finding several issues with the currently PageViewComponentImpl. buffer sizes where much larger then they had to be. cleaned up the buffer size calculation so the buffers is truing X % larger. a reoccurring corner case where a piece of the page is shown and the buffer is created, when more of the pge is shown the buffer will not be increased in size resulting in the blank content. revisited paintCopyAreaLock lock and adjusted the synchronization. added a hock to restart the dirty timer if the page buffer was disposed.
        Hide
        Patrick Corless added a comment -

        This was one has been difficult to reproduce but have managed to see it a few times after calling the garbage collection from VisualVM. Quite a bit of work has been done to try and address this issue and it would appear to be fix in our main text environment (windows 8 JDK 1.7). This bug may need to be re opened in the future.

        Show
        Patrick Corless added a comment - This was one has been difficult to reproduce but have managed to see it a few times after calling the garbage collection from VisualVM. Quite a bit of work has been done to try and address this issue and it would appear to be fix in our main text environment (windows 8 JDK 1.7). This bug may need to be re opened in the future.

          People

          • Assignee:
            Patrick Corless
            Reporter:
            Arran Mccullough
          • Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: