You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Andy Seaborne (JIRA)" <ji...@apache.org> on 2013/11/26 20:24:38 UTC

[jira] [Issue Comment Deleted] (JENA-597) IRIResolverNormal needs thread safe CacheLRU

     [ https://issues.apache.org/jira/browse/JENA-597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andy Seaborne updated JENA-597:
-------------------------------

    Comment: was deleted

(was: The fix to JENA-467 should fix the situation.  

The stacktrace line numbers do not align with Jena 2.11.0. They do align with Jena 2.10.1

The cache is per IRIResolverNormal object and (see code) the call to resolveSilent is protected by a lock in 2.11.0, but not in 2.10.1.
)

> 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
>         Attachments: IRIResolverTest.java
>
>
> The following exception may occur 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:339)
> 	at org.apache.jena.atlas.lib.cache.CacheLRU.get(CacheLRU.java:53)
> 	at org.apache.jena.riot.system.IRIResolver$IRIResolverNormal.resolveSilent(IRIResolver.java:427)
> 	at org.apache.jena.riot.system.IRIResolver$IRIResolverNormal.<init>(IRIResolver.java:383)
> 	at org.apache.jena.riot.system.IRIResolver.create(IRIResolver.java:210)
> 	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.lang.LangRDFXML.<init>(LangRDFXML.java:104)
> 	at org.apache.jena.riot.lang.LangRDFXML.create(LangRDFXML.java:74)
> 	at org.apache.jena.riot.RiotReader.createParser(RiotReader.java:128)
> 	at org.apache.jena.riot.RDFParserRegistry$ReaderRIOTFactoryImpl$1.read(RDFParserRegistry.java:141)
> 	at org.apache.jena.riot.RDFDataMgr.process(RDFDataMgr.java:818)
> 	at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:258)
> 	at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:244)
> 	at org.apache.jena.riot.adapters.RDFReaderRIOT.read(RDFReaderRIOT.java:69)
> 	at com.ibm.team.jis.lqe.resource.RDFEntity.getModel(RDFEntity.java:361)
> 	... 39 more
> This may be related to the problem reported that is suppose to be fixed by the cloned issue. It looks to be the same stack trace. I've attached a test to reproduce. Works with Oracle Oracle JRE 1.6.0.27 but not IBM jre. Keep stopping and restarting the test until the NPE happens. NPE usually happens right off the start.



--
This message was sent by Atlassian JIRA
(v6.1#6144)