[ 
https://issues.apache.org/jira/browse/JENA-2055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17292710#comment-17292710
 ] 

Andy Seaborne edited comment on JENA-2055 at 3/1/21, 12:18 PM:
---------------------------------------------------------------

[~andy] thanks for this commit. I just tested it. It fixes everything for us, 
thank you !

We have a slightly different configuration here than what i sent you in 
attachments, with a named graphed configured in the dataset, in addition to the 
defaultGraph. And in the ShiroEvaluator, we return true when the defaultGraph 
is queries, and false when the named graph is queried.
For those 2 different kinds  of SELECT, the behaviour is different:

This one will result in a 403. all good !
{color:#a31515}SELECT ?s ?p ?o WHERE \{ GRAPH <http://namedgraph/> { ?s ?p ?o } 
}{color}
The following one will result in a 200, with some triples returned, and then an 
abrupt string saying "Model permissions violation: http://securednamedgraph/";, 
which renders the JSON invalid. Jena starts to produce an output for the 
defaultGraph, with a 200 status code, and a stream of results is being sent 
already back to the client, and then, abruptly, when the engine bumps into some 
forbidden access for the named graph, the Exception is catched and a 403 status 
code is logged on Jena's side. The http response we get on the client side is 
still 200 because a 200 status code was already sent before the exception 
occurs. Before your fix, the body of the response contained some triples, and 
then the string mentioned above (it breaks JSON syntax obviously). Now it 
contains the triples, and no string (because you didn't make the status text 
bubble up). But the jSON is still malformed, because it ends abruptly on the 
last triple that was found, and there is no closing of the JSON (at least we 
would need this : "] } }" for a proper ending of the JSON) This is not a 
problem for us, as we never do this kind of query. And I can totally understand 
that JENA cannot do much better since it already started to stream some 
results, and only afterwards bumps into some permissions violation. 
{color:#a31515}SELECT * \{ { ?s ?p ?o } UNION \{ GRAPH ?g { ?s ?p ?o } } 
}{color}
End of the body output (without your fix):
{·
 \"s\": \{ \"type\": \"uri\" , \"value\": 
\"http://localhost:3000/resources/603b54786ded3ceb12024fcf\"; } ,
 \"p\": \{ \"type\": \"uri\" , \"value\": 
\"http://localhost:3000/predicate#p1\"; } ,
 \"o\": \{ \"type\": \"literal\" , \"value\": \"myValue\" }
 }Model permissions violation: http://securedNamedGraph

 

End of the body output (with your fix):
{·
 \"s\": \{ \"type\": \"uri\" , \"value\": 
\"http://localhost:3000/resources/603b54786ded3ceb12024fcf\"; } ,
 \"p\": \{ \"type\": \"uri\" , \"value\": 
\"http://localhost:3000/predicate#p1\"; } ,
 \"o\": \{ \"type\": \"literal\" , \"value\": \"myValue\" }
 }


Stacktrace for this case (withotu your fix, so you know where it happens) :
{noformat}
org.apache.jena.shared.ReadDeniedException: Model permissions violation: 
http://securedNamedGraph
at 
org.apache.jena.permissions.impl.SecuredItemImpl.checkRead(SecuredItemImpl.java:683)
 ~[jena-permissions-3.17.0.jar:3.17.0]
at 
org.apache.jena.permissions.graph.impl.SecuredGraphImpl.find(SecuredGraphImpl.java:143)
 ~[jena-permissions-3.17.0.jar:3.17.0]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
 ~[?:?]
at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:564) ~[?:?]
at 
org.apache.jena.permissions.impl.SecuredItemInvoker.invoke(SecuredItemInvoker.java:120)
 ~[jena-permissions-3.17.0.jar:3.17.0]
at com.sun.proxy.$Proxy18.find(Unknown Source) ~[?:?]
at 
org.apache.jena.sparql.engine.iterator.QueryIterTriplePattern$TripleMapper.<init>(QueryIterTriplePattern.java:83)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIterTriplePattern.nextStage(QueryIterTriplePattern.java:52)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:108)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIterBlockTriplesStar.hasNextBinding(QueryIterBlockTriplesStar.java:54)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIterProcessBinding.hasNextBinding(QueryIterProcessBinding.java:66)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.main.iterator.QueryIterGraph$QueryIterGraphInner.hasNextBinding(QueryIterGraph.java:121)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:74)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIterConcat.hasNextBinding(QueryIterConcat.java:82)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:74)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:38)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:38)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:74) 
~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.sparql.engine.ResultSetCheckCondition.hasNext(ResultSetCheckCondition.java:55)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.riot.resultset.rw.ResultSetWriterJSON$ResultSetWriterTableJSON.writeRows(ResultSetWriterJSON.java:143)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.riot.resultset.rw.ResultSetWriterJSON$ResultSetWriterTableJSON.write(ResultSetWriterJSON.java:130)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.riot.resultset.rw.ResultSetWriterJSON$ResultSetWriterTableJSON.access$100(ResultSetWriterJSON.java:98)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.riot.resultset.rw.ResultSetWriterJSON.write(ResultSetWriterJSON.java:89)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.riot.resultset.rw.ResultsWriter.write(ResultsWriter.java:127) 
~[fuseki-server.jar:3.17.0]
at org.apache.jena.riot.resultset.rw.ResultsWriter.write(ResultsWriter.java:97) 
~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.fuseki.servlets.ResponseResultSet.lambda$generalOutput$1(ResponseResultSet.java:209)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.fuseki.servlets.ResponseResultSet.output(ResponseResultSet.java:225)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.fuseki.servlets.ResponseResultSet.generalOutput(ResponseResultSet.java:215)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.fuseki.servlets.ResponseResultSet.doResponseResultSet$(ResponseResultSet.java:176)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.fuseki.servlets.ResponseResultSet.doResponseResultSet(ResponseResultSet.java:85)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.sendResults(SPARQLQueryProcessor.java:392)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:275)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeWithParameter(SPARQLQueryProcessor.java:222)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:207)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.fuseki.servlets.ActionService.executeLifecycle(ActionService.java:58)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execPost(SPARQLQueryProcessor.java:83)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.fuseki.servlets.ActionProcessor.process(ActionProcessor.java:34)
 ~[fuseki-server.jar:3.17.0]
at org.apache.jena.fuseki.servlets.ActionBase.process(ActionBase.java:55) 
~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.fuseki.servlets.ActionExecLib.execAction(ActionExecLib.java:106)
 ~[fuseki-server.jar:3.17.0]
at org.apache.jena.fuseki.server.Dispatcher.dispatchAction(Dispatcher.java:118) 
~[fuseki-server.jar:3.17.0]
at org.apache.jena.fuseki.server.Dispatcher.process(Dispatcher.java:110) 
~[fuseki-server.jar:3.17.0]
at org.apache.jena.fuseki.server.Dispatcher.dispatch(Dispatcher.java:96) 
~[fuseki-server.jar:3.17.0]
at org.apache.jena.fuseki.servlets.FusekiFilter.doFilter(FusekiFilter.java:51) 
~[fuseki-server.jar:3.17.0]
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) 
~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) 
~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) 
~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) 
~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:450)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) 
~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
 ~[fuseki-server.jar:3.17.0]
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) 
~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.fuseki.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:284)
 ~[fuseki-server.jar:3.17.0]
at 
org.apache.jena.fuseki.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:247)
 ~[fuseki-server.jar:3.17.0]
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:201) 
~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
 ~[fuseki-server.jar:3.17.0]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548) 
~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) 
~[fuseki-server.jar:3.17.0]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602) 
~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) 
~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
 ~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1612)
 ~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
 ~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)
 ~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
 ~[fuseki-server.jar:3.17.0]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) 
~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1582)
 ~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
 ~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)
 ~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 
~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:716) 
~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) 
~[fuseki-server.jar:3.17.0]
at org.eclipse.jetty.server.Server.handle(Server.java:516) 
~[fuseki-server.jar:3.17.0]
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) 
~[fuseki-server.jar:3.17.0]
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556) 
~[fuseki-server.jar:3.17.0]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) 
~[fuseki-server.jar:3.17.0]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) 
~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
 ~[fuseki-server.jar:3.17.0]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) 
~[fuseki-server.jar:3.17.0]
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) 
~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
 ~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
 ~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
 ~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:135)
 ~[fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
 [fuseki-server.jar:3.17.0]
at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
 [fuseki-server.jar:3.17.0]
at java.lang.Thread.run(Thread.java:832) [?:?]
{noformat}



was (Author: infoplp):
[~andy] thanks for this commit. I just tested it. It fixes everything for us, 
thank you !

We have a slightly different configuration here than what i sent you in 
attachments, with a named graphed configured in the dataset, in addition to the 
defaultGraph. And in the ShiroEvaluator, we return true when the defaultGraph 
is queries, and false when the named graph is queried.
For those 2 different kinds  of SELECT, the behaviour is different:

This one will result in a 403. all good !
{color:#a31515}SELECT ?s ?p ?o WHERE \{ GRAPH <http://namedgraph/> { ?s ?p ?o } 
}{color}
The following one will result in a 200, with some triples returned, and then an 
abrupt string saying "Model permissions violation: http://securednamedgraph/";, 
which renders the JSON invalid. Jena starts to produce an output for the 
defaultGraph, with a 200 status code, and a stream of results is being sent 
already back to the client, and then, abruptly, when the engine bumps into some 
forbidden access for the named graph, the Exception is catched and a 403 status 
code is logged on Jena's side. The http response we get on the client side is 
still 200 because a 200 status code was already sent before the exception 
occurs. Before your fix, the body of the response contained some triples, and 
then the string mentioned above (it breaks JSON syntax obviously). Now it 
contains the triples, and no string (because you didn't make the status text 
bubble up). But the jSON is still malformed, because it ends abruptly on the 
last triple that was found, and there is no closing of the JSON (at least we 
would need this : "] } }" for a proper ending of the JSON) This is not a 
problem for us, as we never do this kind of query. And I can totally understand 
that JENA cannot do much better since it already started to stream some 
results, and only afterwards bumps into some permissions violation. 
{color:#a31515}SELECT * \{ { ?s ?p ?o } UNION \{ GRAPH ?g { ?s ?p ?o } } 
}{color}
End of the body output (without your fix):
{·
 \"s\": \{ \"type\": \"uri\" , \"value\": 
\"http://localhost:3000/resources/603b54786ded3ceb12024fcf\"; } ,
 \"p\": \{ \"type\": \"uri\" , \"value\": 
\"http://localhost:3000/predicate#p1\"; } ,
 \"o\": \{ \"type\": \"literal\" , \"value\": \"myValue\" }
 }Model permissions violation: http://securedNamedGraph

 

End of the body output (with your fix):
{·
 \"s\": \{ \"type\": \"uri\" , \"value\": 
\"http://localhost:3000/resources/603b54786ded3ceb12024fcf\"; } ,
 \"p\": \{ \"type\": \"uri\" , \"value\": 
\"http://localhost:3000/predicate#p1\"; } ,
 \"o\": \{ \"type\": \"literal\" , \"value\": \"myValue\" }
 }


Stacktrace for this case (withotu your fix, so you know where it happens) :
org.apache.jena.shared.ReadDeniedException: Model permissions violation: 
http://securedNamedGraph
 at 
org.apache.jena.permissions.impl.SecuredItemImpl.checkRead(SecuredItemImpl.java:683)
 ~[jena-permissions-3.17.0.jar:3.17.0]
 at 
org.apache.jena.permissions.graph.impl.SecuredGraphImpl.find(SecuredGraphImpl.java:143)
 ~[jena-permissions-3.17.0.jar:3.17.0]
 at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
 at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
 ~[?:?]
 at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:?]
 at java.lang.reflect.Method.invoke(Method.java:564) ~[?:?]
 at 
org.apache.jena.permissions.impl.SecuredItemInvoker.invoke(SecuredItemInvoker.java:120)
 ~[jena-permissions-3.17.0.jar:3.17.0]
 at com.sun.proxy.$Proxy18.find(Unknown Source) ~[?:?]
 at 
org.apache.jena.sparql.engine.iterator.QueryIterTriplePattern$TripleMapper.<init>(QueryIterTriplePattern.java:83)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIterTriplePattern.nextStage(QueryIterTriplePattern.java:52)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:108)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIterBlockTriplesStar.hasNextBinding(QueryIterBlockTriplesStar.java:54)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIterProcessBinding.hasNextBinding(QueryIterProcessBinding.java:66)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.main.iterator.QueryIterGraph$QueryIterGraphInner.hasNextBinding(QueryIterGraph.java:121)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:74)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIterConcat.hasNextBinding(QueryIterConcat.java:82)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:74)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:38)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:38)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:74) 
~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.sparql.engine.ResultSetCheckCondition.hasNext(ResultSetCheckCondition.java:55)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.riot.resultset.rw.ResultSetWriterJSON$ResultSetWriterTableJSON.writeRows(ResultSetWriterJSON.java:143)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.riot.resultset.rw.ResultSetWriterJSON$ResultSetWriterTableJSON.write(ResultSetWriterJSON.java:130)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.riot.resultset.rw.ResultSetWriterJSON$ResultSetWriterTableJSON.access$100(ResultSetWriterJSON.java:98)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.riot.resultset.rw.ResultSetWriterJSON.write(ResultSetWriterJSON.java:89)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.riot.resultset.rw.ResultsWriter.write(ResultsWriter.java:127) 
~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.riot.resultset.rw.ResultsWriter.write(ResultsWriter.java:97) 
~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.fuseki.servlets.ResponseResultSet.lambda$generalOutput$1(ResponseResultSet.java:209)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.fuseki.servlets.ResponseResultSet.output(ResponseResultSet.java:225)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.fuseki.servlets.ResponseResultSet.generalOutput(ResponseResultSet.java:215)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.fuseki.servlets.ResponseResultSet.doResponseResultSet$(ResponseResultSet.java:176)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.fuseki.servlets.ResponseResultSet.doResponseResultSet(ResponseResultSet.java:85)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.sendResults(SPARQLQueryProcessor.java:392)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:275)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeWithParameter(SPARQLQueryProcessor.java:222)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:207)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.fuseki.servlets.ActionService.executeLifecycle(ActionService.java:58)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execPost(SPARQLQueryProcessor.java:83)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.fuseki.servlets.ActionProcessor.process(ActionProcessor.java:34)
 ~[fuseki-server.jar:3.17.0]
 at org.apache.jena.fuseki.servlets.ActionBase.process(ActionBase.java:55) 
~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.fuseki.servlets.ActionExecLib.execAction(ActionExecLib.java:106)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.fuseki.server.Dispatcher.dispatchAction(Dispatcher.java:118) 
~[fuseki-server.jar:3.17.0]
 at org.apache.jena.fuseki.server.Dispatcher.process(Dispatcher.java:110) 
~[fuseki-server.jar:3.17.0]
 at org.apache.jena.fuseki.server.Dispatcher.dispatch(Dispatcher.java:96) 
~[fuseki-server.jar:3.17.0]
 at org.apache.jena.fuseki.servlets.FusekiFilter.doFilter(FusekiFilter.java:51) 
~[fuseki-server.jar:3.17.0]
 at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) 
~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) 
~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) 
~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) 
~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:450)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) 
~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
 ~[fuseki-server.jar:3.17.0]
 at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) 
~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.fuseki.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:284)
 ~[fuseki-server.jar:3.17.0]
 at 
org.apache.jena.fuseki.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:247)
 ~[fuseki-server.jar:3.17.0]
 at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:201) 
~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
 ~[fuseki-server.jar:3.17.0]
 at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548) 
~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) 
~[fuseki-server.jar:3.17.0]
 at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602) 
~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) 
~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
 ~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1612)
 ~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
 ~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)
 ~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
 ~[fuseki-server.jar:3.17.0]
 at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) 
~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1582)
 ~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
 ~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)
 ~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 
~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:716) 
~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) 
~[fuseki-server.jar:3.17.0]
 at org.eclipse.jetty.server.Server.handle(Server.java:516) 
~[fuseki-server.jar:3.17.0]
 at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) 
~[fuseki-server.jar:3.17.0]
 at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556) 
~[fuseki-server.jar:3.17.0]
 at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) 
~[fuseki-server.jar:3.17.0]
 at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) 
~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
 ~[fuseki-server.jar:3.17.0]
 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) 
~[fuseki-server.jar:3.17.0]
 at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) 
~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
 ~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
 ~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
 ~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:135)
 ~[fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
 [fuseki-server.jar:3.17.0]
 at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
 [fuseki-server.jar:3.17.0]
 at java.lang.Thread.run(Thread.java:832) [?:?]

> handle properly the denied access generated by jena-permission security 
> evaluator
> ---------------------------------------------------------------------------------
>
>                 Key: JENA-2055
>                 URL: https://issues.apache.org/jira/browse/JENA-2055
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: Fuseki
>    Affects Versions: Jena 3.17.0
>         Environment: jena-fuseki 3.17.0
> openjdk version "1.8.0_275"
>            Reporter: info parlepeuple
>            Assignee: Andy Seaborne
>            Priority: Major
>              Labels: fuseki2, permission
>             Fix For: Jena 4.0.0
>
>         Attachments: 
> 0001-handle-properly-the-denied-access-generated-by-jena.patch, 
> ShiroEvaluator.java, localData.ttl, pom.xml
>
>
> When the dataset is secured with [jena 
> permission|https://jena.apache.org/documentation/permissions/] , and some 
> access is denied, an exception is thrown from the SecuredGraph.
> This exception is not catched in SPARQLQueryProcessor, which results in a 500 
> error returned to the HTTP client.
> exception OperationDeniedException should return a 403, not a 500.
>  
> attached is the patch !
>  
> [2021-02-21 03:10:26] Fuseki WARN [3] RC = 500 : Model permissions violation:
>  org.apache.jena.shared.ReadDeniedException: Model permissions violation:
>  at 
> org.apache.jena.permissions.impl.SecuredItemImpl.checkRead(SecuredItemImpl.java:683)
>  ~[jena-permissions-3.17.0.jar:3.17.0]
>  at 
> org.apache.jena.permissions.graph.impl.SecuredGraphImpl.find(SecuredGraphImpl.java:154)
>  ~[jena-permissions-3.17.0.jar:3.17.0]
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_275]
>  at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> ~[?:1.8.0_275]
>  at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[?:1.8.0_275]
>  at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_275]
>  at 
> org.apache.jena.permissions.impl.SecuredItemInvoker.invoke(SecuredItemInvoker.java:120)
>  ~[jena-permissions-3.17.0.jar:3.17.0]
>  at com.sun.proxy.$Proxy18.find(Unknown Source) ~[?:?]
>  at 
> org.apache.jena.sparql.graph.GraphUnionRead.graphBaseFind(GraphUnionRead.java:104)
>  ~[fuseki-server.jar:3.17.0]
>  at org.apache.jena.graph.impl.GraphBase.find(GraphBase.java:244) 
> ~[fuseki-server.jar:3.17.0]
>  at org.apache.jena.graph.impl.GraphBase.graphBaseFind(GraphBase.java:261) 
> ~[fuseki-server.jar:3.17.0]
>  at org.apache.jena.graph.impl.GraphBase.find(GraphBase.java:258) 
> ~[fuseki-server.jar:3.17.0]
>  at org.apache.jena.graph.impl.WrappedGraph.find(WrappedGraph.java:100) 
> ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.sparql.engine.iterator.QueryIterTriplePattern$TripleMapper.<init>(QueryIterTriplePattern.java:83)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.sparql.engine.iterator.QueryIterTriplePattern.nextStage(QueryIterTriplePattern.java:52)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:108)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.sparql.engine.iterator.QueryIterBlockTriplesStar.hasNextBinding(QueryIterBlockTriplesStar.java:54)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding(QueryIterConvert.java:58)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:38)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:38)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:74)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.sparql.engine.ResultSetCheckCondition.hasNext(ResultSetCheckCondition.java:55)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeQuery(SPARQLQueryProcessor.java:324)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:273)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeWithParameter(SPARQLQueryProcessor.java:222)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:207)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.fuseki.servlets.ActionService.executeLifecycle(ActionService.java:58)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execPost(SPARQLQueryProcessor.java:83)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.fuseki.servlets.ActionProcessor.process(ActionProcessor.java:34)
>  ~[fuseki-server.jar:3.17.0]
>  at org.apache.jena.fuseki.servlets.ActionBase.process(ActionBase.java:55) 
> ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.fuseki.servlets.ActionExecLib.execAction(ActionExecLib.java:106)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.fuseki.server.Dispatcher.dispatchAction(Dispatcher.java:118) 
> ~[fuseki-server.jar:3.17.0]
>  at org.apache.jena.fuseki.server.Dispatcher.process(Dispatcher.java:110) 
> ~[fuseki-server.jar:3.17.0]
>  at org.apache.jena.fuseki.server.Dispatcher.dispatch(Dispatcher.java:96) 
> ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.fuseki.servlets.FusekiFilter.doFilter(FusekiFilter.java:51) 
> ~[fuseki-server.jar:3.17.0]
>  at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) 
> ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) 
> ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) 
> ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) 
> ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:450)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
>  ~[fuseki-server.jar:3.17.0]
>  at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) 
> ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.fuseki.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:284)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.apache.jena.fuseki.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:247)
>  ~[fuseki-server.jar:3.17.0]
>  at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:201) 
> ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548) 
> ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) 
> ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602) 
> ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1612)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
>  ~[fuseki-server.jar:3.17.0]
>  at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) 
> ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1582)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 
> ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:716)
>  ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>  ~[fuseki-server.jar:3.17.0]
>  at org.eclipse.jetty.server.Server.handle(Server.java:516) 
> ~[fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) 
> ~[fuseki-server.jar:3.17.0]
>  at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556) 
> [fuseki-server.jar:3.17.0]
>  at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) 
> [fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) 
> [fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
>  [fuseki-server.jar:3.17.0]
>  at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) 
> [fuseki-server.jar:3.17.0]
>  at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) 
> [fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
>  [fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
>  [fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
>  [fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
>  [fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
>  [fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
>  [fuseki-server.jar:3.17.0]
>  at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
>  [fuseki-server.jar:3.17.0]
>  at java.lang.Thread.run(Thread.java:748) [?:1.8.0_275]
>  [2021-02-21 03:10:26] Fuseki INFO [3] 500 Server Error (18 ms)



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

Reply via email to