[ https://issues.apache.org/jira/browse/JENA-597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Scott Patterson updated JENA-597: --------------------------------- Environment: Any IBM JRE 7 or higher (was: Any IBM JRE 6 or higher) > IRIResolverNormal needs thread safe CacheLRU > -------------------------------------------- > > Key: JENA-597 > URL: https://issues.apache.org/jira/browse/JENA-597 > Project: Apache Jena > Issue Type: Bug > Components: ARQ > Affects Versions: Jena 2.11.0 > Environment: Any IBM JRE 7 or higher > Reporter: Scott Patterson > Assignee: Andy Seaborne > > The following exception may occur on an IBM JRE 6 or higher when more than > one thread requires access to the org.apache.jena.atlas.lib.cache.CacheLRU > embedded in IRIResolverNormal: > Caused by: java.lang.NullPointerException > at java.util.LinkedHashMap.get(LinkedHashMap.java:337) > at org.apache.jena.atlas.lib.cache.CacheLRU.get(CacheLRU.java:53) > at > org.apache.jena.riot.system.IRIResolver$IRIResolverNormal.resolveSilent(IRIResolver.java:403) > at > org.apache.jena.riot.system.IRIResolver$IRIResolverNormal.<init>(IRIResolver.java:359) > at org.apache.jena.riot.system.IRIResolver.create(IRIResolver.java:212) > at org.apache.jena.riot.system.RiotLib.profile(RiotLib.java:141) > at org.apache.jena.riot.system.RiotLib.profile(RiotLib.java:130) > at org.apache.jena.riot.system.RiotLib.profile(RiotLib.java:117) > at > org.apache.jena.riot.RiotReader.createParserTurtle(RiotReader.java:310) > at org.apache.jena.riot.RiotReader.createParser(RiotReader.java:142) > at org.apache.jena.riot.RiotReader.createParser(RiotReader.java:133) > at > org.apache.jena.riot.RDFParserRegistry$ReaderRIOTFactoryImpl$1.read(RDFParserRegistry.java:141) > at org.apache.jena.riot.RDFDataMgr.process(RDFDataMgr.java:760) > at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:258) > at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:244) > ... 20 more > The problem seems to only occurs on IBM JRE 6 or higher as its implementation > of LinkedHashMap is not thread safe. Note that the JDK specification does not > required LinkedHashMap to be thread safe. > The solution is to make use of CacheFactory.createSync when creating the > Cache in the IRIResolverNormal. Patch attached -- This message was sent by Atlassian JIRA (v6.1#6144)