ian green created JENA-2172:
-------------------------------

             Summary: WantPropertyElement.rdf_n() is not thread-safe
                 Key: JENA-2172
                 URL: https://issues.apache.org/jira/browse/JENA-2172
             Project: Apache Jena
          Issue Type: Bug
          Components: RDF/XML
    Affects Versions: Jena 2.7.4
            Reporter: ian green


In 2.7.4, concurrent calls to Model.read (on RDF/XML) are occasionally 
corrupting internal parser state which results in NPE.  This corruption is 
sticky - all subsequent RDF/XML parsing (at least via Model.read) is 
potentially affected.

com.hp.hpl.jena.rdf.arp.states.WantPropertyElement._rdf_n can be left with null 
elements when multiple threads race to expand the array.  One consequence of 
such null elements is that WantPropertyElement.predicate can be null, causing a 
NullPointerException when toObject() is called.

This was discovered in 2.7.4, but the same code is present in 
org.apache.jena.rdfxml.xmlinput.states.WantPropertyElement.  (I don't know the 
role that code plays in the latest Jena versions, so this issue may not be 
manifest in main.)

 

Simple fix for 2.7.4 is attached.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to