Uploaded image for project: 'PDFBox'
  1. PDFBox
  2. PDFBOX-2350

Type1 Parser hangs indefinitely



    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0
    • Fix Version/s: 2.0.0
    • Component/s: FontBox
    • Labels:
    • Environment:
      Windows 7, JDK 1.7.0_51-b13


      When rendering the first page of my pdf document the Type1Parser (org.apache.fontbox.type1.Type1Parser) hangs in a loop in

      parseBinary(byte[] bytes) throws IOException

      and "kills" our rendering pipeline. Please find the loop that hangs below:

      // find /Private dict
      while (!lexer.peekToken().getText().equals("Private"))

      { lexer.nextToken(); }

      There is no token named "Private" ever in the list of returned tokens (they're empty all the time).

      Furthermore going deeper into the source code it seems the class reading the tokens (Type1Lexer) does never finally advance the buffer position and always returns an empty name token in the readToken(Token prevToken) method.

      Looking at the decrypted buffer i cannot get something useful out of it based on my current understanding.

      Unfortunately i cannot provide the pdf in question as it contains confidental data.

      Acrobat Reader XI Version 11.0.08 renders the document just fine.

      In addition it seems the pdf was encrypted (40-Bit RC4) with an empty password and says it's pdf version 1.5.

      Does this provide enough information or can i do anything else to help nailing this one down?

      I guess this might be a pdf document structure/feature that is not yet supported completely but at least pdfbox should throw an exception instead of failing "silently"...


        1. bad_length1.pdf
          11 kB
          John Hewson
        2. PDFBOX-2350-289451-endless.pdf
          559 kB
          Tilman Hausherr

          Issue Links



              • Assignee:
                jahewson John Hewson
                daniel.scheibe Daniel Scheibe
              • Votes:
                0 Vote for this issue
                4 Start watching this issue


                • Created: