Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 6.1.2
-
Fix Version/s: 6.3
-
Component/s: Core/Rendering
-
Labels:None
-
Environment:All
-
Support Case References:Support Case #13821 - https://icesoft.my.salesforce.com/5007000001caSPK
Description
When rendering the provided PDF file the following exceptions are thrown and the content of the PDF is rendered blank:
WARNING: Fatal error parsing PDF file 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.Parser.getObject(Parser.java:144)
at org.icepdf.core.util.LazyObjectLoader.loadObject(LazyObjectLoader.java:73)
at org.icepdf.core.util.Library.getObject(Library.java:166)
at org.icepdf.core.pobjects.PageTree.getPageOrPagesPotentiallyNotInitedFromReferenceAt(PageTree.java:282)
at org.icepdf.core.pobjects.PageTree.getPagePotentiallyNotInitedByRecursiveIndex(PageTree.java:301)
at org.icepdf.core.pobjects.PageTree.getPage(PageTree.java:381)
at org.icepdf.ri.common.views.PageViewComponentImpl.getPage(PageViewComponentImpl.java:336)
at org.icepdf.ri.common.views.PageViewComponentImpl$DirtyTimerAction.actionPerformed(PageViewComponentImpl.java:1265)
at javax.swing.Timer.fireActionPerformed(Timer.java:312)
at javax.swing.Timer$DoPostEvent.run(Timer.java:244)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
WARNING: Fatal error parsing PDF file 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.Parser.getObject(Parser.java:144)
at org.icepdf.core.util.LazyObjectLoader.loadObject(LazyObjectLoader.java:73)
at org.icepdf.core.util.Library.getObject(Library.java:166)
at org.icepdf.core.pobjects.PageTree.getPageOrPagesPotentiallyNotInitedFromReferenceAt(PageTree.java:282)
at org.icepdf.core.pobjects.PageTree.getPagePotentiallyNotInitedByRecursiveIndex(PageTree.java:301)
at org.icepdf.core.pobjects.PageTree.getPage(PageTree.java:381)
at org.icepdf.ri.common.views.PageViewComponentImpl.getPage(PageViewComponentImpl.java:336)
at org.icepdf.ri.common.views.PageViewComponentImpl$DirtyTimerAction.actionPerformed(PageViewComponentImpl.java:1265)
at javax.swing.Timer.fireActionPerformed(Timer.java:312)
at javax.swing.Timer$DoPostEvent.run(Timer.java:244)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
I would appear the the file byte offset aren't correct which is making it impossible for our object parser to find the key objects in the file. Acrobat adjusts for the error and will correct the error when the file is saved.
Quite a bit of work is needed to fix this on our end as we'll need to create a object indexer and potentially correct the file. Can you find out if this is a one off or if they have a lot of files touched by the PDF producer "Generated by: AquaPDF 3.0.5 http://aquapdf.com".