[
https://issues.apache.org/jira/browse/JENA-2172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ian green updated JENA-2172:
----------------------------
Description:
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.)
was:
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.
> 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
> Priority: Minor
>
> 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.)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)