Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 5.0.2
-
Fix Version/s: 5.0.3
-
Component/s: Core/Parsing
-
Labels:None
-
Environment:any
-
Salesforce Case Reference:
Description
A client has reported the following stack trace which is generated after creating and moving freeTextAnnotations. I've been able to isolate a reproducible test case. Limit the heap to 64mb, create a freeTextAnnotation on the first page, load 50 or so pages, come back to the first page and the move the free text annotation or try and edit it.
java.lang.NullPointerException
at org.icepdf.core.pobjects.Resources.getFont(Resources.java:141)
at
org.icepdf.core.pobjects.annotations.FreeTextAnnotation.resetAppearanceStream(FreeTextAnnotation.java:519)
at
org.icepdf.core.pobjects.annotations.Annotation.resetAppearanceStream(Annotation.java:1572)
at
org.icepdf.ri.common.views.annotations.FreeTextAnnotationComponent.resetAppearanceShapes(FreeTextAnnotationComponent.java:259)
at
org.icepdf.ri.common.views.annotations.FreeTextAnnotationComponent.mouseDragged(FreeTextAnnotationComponent.java:207)
at java.awt.Component.processMouseMotionEvent(Unknown Source)
at javax.swing.JComponent.processMouseMotionEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown
Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
java.lang.NullPointerException
at org.icepdf.core.pobjects.Resources.getFont(Resources.java:141)
at
org.icepdf.core.pobjects.annotations.FreeTextAnnotation.resetAppearanceStream(FreeTextAnnotation.java:519)
at
org.icepdf.core.pobjects.annotations.Annotation.resetAppearanceStream(Annotation.java:1572)
at
org.icepdf.ri.common.views.annotations.FreeTextAnnotationComponent.resetAppearanceShapes(FreeTextAnnotationComponent.java:259)
at
org.icepdf.ri.common.views.annotations.FreeTextAnnotationComponent.mouseDragged(FreeTextAnnotationComponent.java:207)
at java.awt.Component.processMouseMotionEvent(Unknown Source)
at javax.swing.JComponent.processMouseMotionEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown
Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Activity
Patrick Corless
created issue -
Patrick Corless
made changes -
Field | Original Value | New Value |
---|---|---|
Status | Open [ 1 ] | Resolved [ 5 ] |
Fix Version/s | 5.0.3 [ 11070 ] | |
Resolution | Fixed [ 1 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #35944 | Wed Jun 05 15:02:42 MDT 2013 | patrick.corless | |
Files Changed | ||||
MODIFY
/icepdf/branches/icepdf-5.0.1/icepdf/core/src/org/icepdf/core/pobjects/annotations/FreeTextAnnotation.java
|
Arran Mccullough
made changes -
Salesforce Case Reference | 5007000000TuUAnAAN |
Patrick Corless
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
The reason for the null point is that the font's WeakReference is getting garbage collected even though there appears to be a hard reference to the same object in the StateManager class.