Hi
We're using Apache JXPath 1.3. We have multi-threaded code running
JXPathContext.newContext
We're having an occasional NullPointerException coming out of
NodePointer.newNodePointer
We've had a look at the code for this class, and wonder if
getNodePointerFactories is not synchronising correctly.
Other operations that read or write the attribute nodeFactoryArray ...
synchronize on nodeFactories.
But in getNodePointerFactories() ... it just returns the variable without
locking.
This makes us think that there is no happens-before in the
getNodePointerFactories() method.
I've put a snippet of the stack trace below.
Apologies if this has come up before, I didn't manage to find it after a
while searching.
Regards,
-David
java.lang.NullPointerException
at
org.apache.commons.jxpath.ri.model.NodePointer.newNodePointer(NodePointer.java:80)
at
org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.<init>(JXPathContextReferenceImpl.java:193)
at
org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.<init>(JXPathContextReferenceImpl.java:167)
at
org.apache.commons.jxpath.ri.JXPathContextFactoryReferenceImpl.newContext(JXPathContextFactoryReferenceImpl.java:39)
at
org.apache.commons.jxpath.JXPathContext.newContext(JXPathContext.java:416)