Fellow FOP Devs,
periodically I run a test suite of documents against FOP Trunk to ensure
no new major issues have occurred since I last took a build of Trunk to
use in my application. Part of the test suite involves running a set of
a few documents several thousand times through FOP. After about 1400
documents I receive a NPE in the property cache:
Exception in thread "Thread-9065" java.lang.NullPointerException
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:276)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.rehash(PropertyCache.java:244)
at
org.apache.fop.fo.properties.PropertyCache.access$300(PropertyCache.java:33)
at
org.apache.fop.fo.properties.PropertyCache$CacheCleaner.run(PropertyCache.java:140)
at java.lang.Thread.run(Unknown Source)
Does anyone know why CacheEntry.ref can be null in this context and why
this only happens after a few thousand documents have been run through?
Previous documents all have the same property values. Perhaps the GC has
collected the object referenced by ref?
Thanks,
Chris