ICEpdf
  1. ICEpdf
  2. PDF-1203

State issue when retrieving a compressed stream entry recursively

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 6.2.5
    • Fix Version/s: 6.3
    • Component/s: Core/Parsing
    • Labels:
      None
    • Environment:
      any

      Description

      The bug is related to a support case where some page content was not being displayed. After closer inspection the problem appeared to be regression introduced in 6.1.3. After quite a bit of debuging the regression was located and was do to the double entry into getting two object from the same compressed entry. When the font classes encoding property is retrieved it offset the object pointer and subsequent lookups return the wrong object.

      Further investigation is needed to figure out why this error is occurring.

        Activity

        Patrick Corless created issue -
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #52004 Thu Oct 12 09:58:42 MDT 2017 patrick.corless PDF-1203 moved encoding initialization to avoid the recursive object get.
        interm solution.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/core/core-awt/src/main/java/org/icepdf/core/pobjects/fonts/Font.java
        Judy Guglielmin made changes -
        Field Original Value New Value
        Support Case References https://icesoft.my.salesforce.com/5000g00001mh0l3 Support Case 14219:- https://icesoft.my.salesforce.com/5000g00001mh0l3
        Patrick Corless made changes -
        Fix Version/s 6.3 [ 13093 ]
        Hide
        Patrick Corless added a comment -

        I've had a chance to revisit this issue with regards to getting more then one object at a time from an object stream. I've added a restore cursor which seems to be a better solution and will pick up other potential issue. I've also move the stream lock out a bit so the sub object values are less likely to be affected by multiple thread access.

        Show
        Patrick Corless added a comment - I've had a chance to revisit this issue with regards to getting more then one object at a time from an object stream. I've added a restore cursor which seems to be a better solution and will pick up other potential issue. I've also move the stream lock out a bit so the sub object values are less likely to be affected by multiple thread access.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #52221 Thu Jan 18 10:17:32 MST 2018 patrick.corless PDF-1203 revered font.java and touched up ObjectStream to better handle
        an object looking up an other object in the same stream.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/core/core-awt/src/main/java/org/icepdf/core/pobjects/ObjectStream.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/core-awt/src/main/java/org/icepdf/core/pobjects/fonts/Font.java
        Hide
        Patrick Corless added a comment -

        Marking as fixed.

        Show
        Patrick Corless added a comment - Marking as fixed.
        Patrick Corless made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Patrick Corless made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved: