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)

Reply via email to