Skip to content

org.apache.jena.sparql.ARQInternalErrorException: Peek iterator is already empty #3763

@s0rin

Description

@s0rin

Version

6.0.0

What happened?

This error occurs in v.6.0 for certain SPARQL queries (in v.5.5 it didn't occur therefore we have to downgrade)

Relevant output and stacktrace

09:13:20 INFO  Fuseki          :: [1154] Query = SELECT * WHERE { <https://d-nb.info/gnd/1090117159> ?predicate ?class . ?class <http://www.w3.org/2000/01/rdf-schema#subClassOf>* <https://d-nb.info/standards/elementset/gnd#AuthorityResource> . <https://d-nb.info/gnd/1090117159> a ?class . ?property <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> <https://d-nb.info/standards/elementset/gnd#preferredName> . <https://d-nb.info/gnd/1090117159> ?property ?obj . }
09:13:20 WARN  Fuseki          :: [1154] RC = 500 : org.apache.jena.sparql.ARQInternalErrorException: Peek iterator is already empty
org.apache.jena.query.QueryExecException: org.apache.jena.sparql.ARQInternalErrorException: Peek iterator is already empty
        at org.apache.jena.sparql.engine.iterator.QueryIterFailed.buildException(QueryIterFailed.java:65)
        at org.apache.jena.sparql.engine.iterator.QueryIterFailed.hasNextBinding(QueryIterFailed.java:53)
        at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:125)
        at org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40)
        at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:125)
        at org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40)
        at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:125)
        at org.apache.jena.sparql.exec.RowSetStream.hasNext(RowSetStream.java:51)
        at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeQuery(SPARQLQueryProcessor.java:393)
        at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:287)
        at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeWithParameter(SPARQLQueryProcessor.java:227)
        at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:212)
        at org.apache.jena.fuseki.servlets.ActionService.executeLifecycle(ActionService.java:61)
        at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execPost(SPARQLQueryProcessor.java:87)
        at org.apache.jena.fuseki.servlets.ActionProcessor.process(ActionProcessor.java:38)
        at org.apache.jena.fuseki.servlets.ActionBase.process(ActionBase.java:57)
        at org.apache.jena.fuseki.servlets.ActionExecLib.execActionSub(ActionExecLib.java:127)
        at org.apache.jena.fuseki.servlets.ActionExecLib.execAction(ActionExecLib.java:101)
        at org.apache.jena.fuseki.server.Dispatcher.dispatchAction(Dispatcher.java:242)
        at org.apache.jena.fuseki.server.Dispatcher.process(Dispatcher.java:232)
        at org.apache.jena.fuseki.server.Dispatcher.dispatch(Dispatcher.java:150)
        at org.apache.jena.fuseki.servlets.FusekiFilter.doFilter(FusekiFilter.java:52)
        at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
        at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
        at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)
        at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)
        at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)
        at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
        at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)
        at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)
        at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)
        at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
        at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)
        at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)
        at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)
        at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)
        at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)
        at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)
        at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)
        at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
        at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
        at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
        at org.apache.jena.fuseki.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:351)
        at org.apache.jena.fuseki.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:304)
        at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
        at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
        at org.eclipse.jetty.ee11.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1602)
        at org.eclipse.jetty.ee11.servlet.ServletChannel.dispatch(ServletChannel.java:868)
        at org.eclipse.jetty.ee11.servlet.ServletChannel.handle(ServletChannel.java:449)
        at org.eclipse.jetty.ee11.servlet.ServletHandler.handle(ServletHandler.java:470)
        at org.eclipse.jetty.ee11.servlet.SessionHandler.handle(SessionHandler.java:763)
        at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1224)
        at org.eclipse.jetty.server.Server.handle(Server.java:197)
        at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:720)
        at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:412)
        at org.eclipse.jetty.server.internal.HttpConnection$FillableCallback.succeeded(HttpConnection.java:1810)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
        at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:54)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:492)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.epcRunTask(AdaptiveExecutionStrategy.java:428)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:401)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:255)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:204)
        at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:317)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:1009)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1239)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1194)
        at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.apache.jena.sparql.ARQInternalErrorException: Peek iterator is already empty
        at org.apache.jena.tdb2.solver.OpExecutorTDB2.reorder(OpExecutorTDB2.java:307)
        at org.apache.jena.tdb2.solver.OpExecutorTDB2.optimizeExecuteTriples(OpExecutorTDB2.java:207)
        at org.apache.jena.tdb2.solver.OpExecutorTDB2.optimizeExecuteQuads(OpExecutorTDB2.java:242)
        at org.apache.jena.tdb2.solver.OpExecutorTDB2.execute(OpExecutorTDB2.java:167)
        at org.apache.jena.sparql.engine.main.ExecutionDispatch.visit(ExecutionDispatch.java:64)
        at org.apache.jena.sparql.algebra.op.OpQuadPattern.visit(OpQuadPattern.java:90)
        at org.apache.jena.sparql.engine.main.ExecutionDispatch.exec(ExecutionDispatch.java:46)
        at org.apache.jena.sparql.engine.main.OpExecutor.exec(OpExecutor.java:118)
        at org.apache.jena.tdb2.solver.OpExecutorTDB2.exec(OpExecutorTDB2.java:91)
        at org.apache.jena.sparql.engine.main.OpExecutor.execute(OpExecutor.java:228)
        at org.apache.jena.sparql.engine.main.ExecutionDispatch.visit(ExecutionDispatch.java:120)
        at org.apache.jena.sparql.algebra.op.OpSequence.visit(OpSequence.java:77)
        at org.apache.jena.sparql.engine.main.ExecutionDispatch.exec(ExecutionDispatch.java:46)
        at org.apache.jena.sparql.engine.main.OpExecutor.exec(OpExecutor.java:118)
        at org.apache.jena.tdb2.solver.OpExecutorTDB2.exec(OpExecutorTDB2.java:91)
        at org.apache.jena.sparql.engine.main.OpExecutor.execute(OpExecutor.java:90)
        at org.apache.jena.sparql.engine.main.QC.execute(QC.java:56)
        at org.apache.jena.sparql.engine.main.QueryEngineMain.eval(QueryEngineMain.java:58)
        at org.apache.jena.tdb2.solver.QueryEngineTDB.eval(QueryEngineTDB.java:111)
        at org.apache.jena.sparql.engine.QueryEngineBase.evaluate(QueryEngineBase.java:167)
        at org.apache.jena.sparql.engine.QueryEngineBase.createPlan(QueryEngineBase.java:131)
        at org.apache.jena.sparql.engine.QueryEngineBase.getPlan(QueryEngineBase.java:113)
        at org.apache.jena.tdb2.solver.QueryEngineTDB$QueryEngineFactoryTDB.create(QueryEngineTDB.java:141)
        at org.apache.jena.sparql.exec.QueryExecDataset.getPlan(QueryExecDataset.java:515)
        at org.apache.jena.sparql.exec.QueryExecDataset.startQueryIteratorActual(QueryExecDataset.java:482)
        at org.apache.jena.sparql.exec.QueryExecDataset.startQueryIterator(QueryExecDataset.java:453)
        at org.apache.jena.sparql.exec.QueryExecDataset.execute(QueryExecDataset.java:172)
        at org.apache.jena.sparql.exec.QueryExecDataset.select(QueryExecDataset.java:167)
        at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeQuery(SPARQLQueryProcessor.java:387)
        ... 59 more
09:13:20 INFO  Fuseki          :: [1154] 500 Server Error (2 ms)

Are you interested in making a pull request?

None

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions