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)