Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 6.1
-
Fix Version/s: 6.1.1
-
Component/s: Core/Rendering
-
Labels:None
-
Environment:All
-
Support Case References:Support Case #13744 - https://icesoft.my.salesforce.com/5007000001aRqpK
Description
When rendering the provided PDF file, the following error stack traces are thrown:
Mar 29, 2016 9:36:20 AM org.icepdf.core.util.content.NContentParser parse
FINE: Parsing page content streams: 1
Mar 29, 2016 9:36:20 AM org.icepdf.core.util.content.NContentParser parse
FINER: Content = .~øC ç1
Mar 29, 2016 9:36:20 AM org.icepdf.core.util.content.NContentParser parse
WARNING: Error parsing content stream.
java.lang.ClassCastException: java.lang.Float cannot be cast to org.icepdf.core.pobjects.Name
at org.icepdf.core.util.content.AbstractContentParser.consume_CS(AbstractContentParser.java:244)
at org.icepdf.core.util.content.NContentParser.parse(Unknown Source)
at org.icepdf.core.pobjects.graphics.TilingPattern.init(TilingPattern.java:296)
at org.icepdf.core.util.content.AbstractContentParser.commonFill(AbstractContentParser.java:1840)
at org.icepdf.core.util.content.AbstractContentParser.consume_f_star(AbstractContentParser.java:1180)
at org.icepdf.core.util.content.NContentParser.parse(Unknown Source)
at org.icepdf.core.pobjects.Page.init(Page.java:403)
at org.icepdf.ri.common.views.PageViewComponentImpl$PageInitializer.run(PageViewComponentImpl.java:1169)
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:745)
Mar 29, 2016 9:36:20 AM org.icepdf.core.util.content.NContentParser parse
FINE: Parsing page content streams: 1
Mar 29, 2016 9:36:20 AM org.icepdf.core.util.content.NContentParser parse
FINER: Content = kÛ÷ßwV°
Mar 29, 2016 9:36:20 AM org.icepdf.core.util.content.NContentParser parse
WARNING: Error parsing content stream.
java.util.EmptyStackException
at java.util.Stack.peek(Stack.java:102)
at java.util.Stack.pop(Stack.java:84)
at org.icepdf.core.util.content.AbstractContentParser.consume_k(AbstractContentParser.java:230)
at org.icepdf.core.util.content.NContentParser.parse(Unknown Source)
at org.icepdf.core.pobjects.graphics.TilingPattern.init(TilingPattern.java:296)
at org.icepdf.core.util.content.AbstractContentParser.commonFill(AbstractContentParser.java:1840)
at org.icepdf.core.util.content.AbstractContentParser.consume_f_star(AbstractContentParser.java:1180)
at org.icepdf.core.util.content.NContentParser.parse(Unknown Source)
at org.icepdf.core.pobjects.Page.init(Page.java:403)
at org.icepdf.ri.common.views.PageViewComponentImpl$PageInitializer.run(PageViewComponentImpl.java:1169)
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:745)
The customer is also reporting that these exceptions result in an endless loop.
Mar 29, 2016 9:36:20 AM org.icepdf.core.util.content.NContentParser parse
FINE: Parsing page content streams: 1
Mar 29, 2016 9:36:20 AM org.icepdf.core.util.content.NContentParser parse
FINER: Content = .~øC ç1
Mar 29, 2016 9:36:20 AM org.icepdf.core.util.content.NContentParser parse
WARNING: Error parsing content stream.
java.lang.ClassCastException: java.lang.Float cannot be cast to org.icepdf.core.pobjects.Name
at org.icepdf.core.util.content.AbstractContentParser.consume_CS(AbstractContentParser.java:244)
at org.icepdf.core.util.content.NContentParser.parse(Unknown Source)
at org.icepdf.core.pobjects.graphics.TilingPattern.init(TilingPattern.java:296)
at org.icepdf.core.util.content.AbstractContentParser.commonFill(AbstractContentParser.java:1840)
at org.icepdf.core.util.content.AbstractContentParser.consume_f_star(AbstractContentParser.java:1180)
at org.icepdf.core.util.content.NContentParser.parse(Unknown Source)
at org.icepdf.core.pobjects.Page.init(Page.java:403)
at org.icepdf.ri.common.views.PageViewComponentImpl$PageInitializer.run(PageViewComponentImpl.java:1169)
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:745)
Mar 29, 2016 9:36:20 AM org.icepdf.core.util.content.NContentParser parse
FINE: Parsing page content streams: 1
Mar 29, 2016 9:36:20 AM org.icepdf.core.util.content.NContentParser parse
FINER: Content = kÛ÷ßwV°
Mar 29, 2016 9:36:20 AM org.icepdf.core.util.content.NContentParser parse
WARNING: Error parsing content stream.
java.util.EmptyStackException
at java.util.Stack.peek(Stack.java:102)
at java.util.Stack.pop(Stack.java:84)
at org.icepdf.core.util.content.AbstractContentParser.consume_k(AbstractContentParser.java:230)
at org.icepdf.core.util.content.NContentParser.parse(Unknown Source)
at org.icepdf.core.pobjects.graphics.TilingPattern.init(TilingPattern.java:296)
at org.icepdf.core.util.content.AbstractContentParser.commonFill(AbstractContentParser.java:1840)
at org.icepdf.core.util.content.AbstractContentParser.consume_f_star(AbstractContentParser.java:1180)
at org.icepdf.core.util.content.NContentParser.parse(Unknown Source)
at org.icepdf.core.pobjects.Page.init(Page.java:403)
at org.icepdf.ri.common.views.PageViewComponentImpl$PageInitializer.run(PageViewComponentImpl.java:1169)
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:745)
The customer is also reporting that these exceptions result in an endless loop.
The content stream associated with every tilling pattern object in the PDF is lacking a filter entry which means the stream contents should be treated as an encrypted string. The decode however fails because we don't have a properly setup object reference. Once this is corrected the PDF renders correctly.