[
https://issues.apache.org/jira/browse/MARMOTTA-608?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jakob Frank closed MARMOTTA-608.
--------------------------------
Marmotta 3.4.0 released: https://s.apache.org/oBw2
> IndexOutOfBoundsException evaluating SPARQL query with variables not projected
> ------------------------------------------------------------------------------
>
> Key: MARMOTTA-608
> URL: https://issues.apache.org/jira/browse/MARMOTTA-608
> Project: Marmotta
> Issue Type: Bug
> Components: KiWi Triple Store
> Affects Versions: 3.3.0
> Reporter: Sergio Fernández
> Assignee: Sergio Fernández
> Priority: Minor
> Labels: sparql
> Fix For: 3.4.0
>
> Original Estimate: 10m
> Remaining Estimate: 10m
>
> I got an issue evaluating SPARQL queries with variables not projected:
> {code}
> java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException:
> Index: 0, Size: 0
> at java.util.concurrent.FutureTask.report(FutureTask.java:122)
> ~[na:1.7.0_75]
> at java.util.concurrent.FutureTask.get(FutureTask.java:202)
> ~[na:1.7.0_75]
> at
> org.apache.marmotta.platform.sparql.services.sparql.SparqlServiceImpl.query(SparqlServiceImpl.java:324)
> ~[marmotta-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.sparql.services.sparql.SparqlServiceImpl$Proxy$_$$_WeldClientProxy.query(Unknown
> Source) [marmotta-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.sparql.webservices.SparqlWebService$3.write(SparqlWebService.java:515)
> [marmotta-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.jboss.resteasy.plugins.providers.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:32)
> [resteasy-jaxrs-3.0.10.Final.jar:na]
> at
> org.jboss.resteasy.plugins.providers.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:17)
> [resteasy-jaxrs-3.0.10.Final.jar:na]
> at
> org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.writeTo(AbstractWriterInterceptorContext.java:129)
> [resteasy-jaxrs-3.0.10.Final.jar:na]
> at
> org.jboss.resteasy.core.interception.ServerWriterInterceptorContext.writeTo(ServerWriterInterceptorContext.java:62)
> [resteasy-jaxrs-3.0.10.Final.jar:na]
> at
> org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:118)
> [resteasy-jaxrs-3.0.10.Final.jar:na]
> at
> org.jboss.resteasy.plugins.providers.jackson.Jackson2JsonpInterceptor.aroundWriteTo(Jackson2JsonpInterceptor.java:113)
> [resteasy-jackson2-provider-3.0.10.Final.jar:na]
> at
> org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:122)
> [resteasy-jaxrs-3.0.10.Final.jar:na]
> at
> org.jboss.resteasy.plugins.interceptors.encoding.GZIPEncodingInterceptor.aroundWriteTo(GZIPEncodingInterceptor.java:100)
> [resteasy-jaxrs-3.0.10.Final.jar:na]
> at
> org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:122)
> [resteasy-jaxrs-3.0.10.Final.jar:na]
> at
> org.jboss.resteasy.core.ServerResponseWriter.writeNomapResponse(ServerResponseWriter.java:99)
> [resteasy-jaxrs-3.0.10.Final.jar:na]
> at
> org.jboss.resteasy.core.SynchronousDispatcher.writeResponse(SynchronousDispatcher.java:427)
> [resteasy-jaxrs-3.0.10.Final.jar:na]
> at
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:376)
> [resteasy-jaxrs-3.0.10.Final.jar:na]
> at
> org.jboss.resteasy.core.SynchronousDispatcher.invokePropagateNotFound(SynchronousDispatcher.java:217)
> [resteasy-jaxrs-3.0.10.Final.jar:na]
> at
> org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:224)
> [resteasy-jaxrs-3.0.10.Final.jar:na]
> at
> org.jboss.resteasy.plugins.server.servlet.FilterDispatcher.doFilter(FilterDispatcher.java:62)
> [resteasy-jaxrs-3.0.10.Final.jar:na]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.marmotta.platform.core.servlet.MarmottaResourceFilter$MarmottaFilterChain.doFilter(MarmottaResourceFilter.java:185)
> [marmotta-core-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.core.filters.ModuleResourceFilter.doFilter(ModuleResourceFilter.java:157)
> [marmotta-core-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.core.filters.ModuleResourceFilter$Proxy$_$$_WeldClientProxy.doFilter(Unknown
> Source) [marmotta-core-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.core.servlet.MarmottaResourceFilter$MarmottaFilterChain.doFilter(MarmottaResourceFilter.java:180)
> [marmotta-core-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.core.servlet.MarmottaResourceFilter$MarmottaFilterChain.doFilter(MarmottaResourceFilter.java:182)
> [marmotta-core-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.core.filters.MarmottaServerNameFilter.doFilter(MarmottaServerNameFilter.java:104)
> [marmotta-core-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.core.servlet.MarmottaResourceFilter$MarmottaFilterChain.doFilter(MarmottaResourceFilter.java:180)
> [marmotta-core-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.core.filters.TemplatingFilter.doFilter(TemplatingFilter.java:176)
> [marmotta-core-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.core.filters.TemplatingFilter$Proxy$_$$_WeldClientProxy.doFilter(Unknown
> Source) [marmotta-core-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.core.servlet.MarmottaResourceFilter$MarmottaFilterChain.doFilter(MarmottaResourceFilter.java:180)
> [marmotta-core-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.security.filters.MarmottaAccessControlFilter.doFilter(MarmottaAccessControlFilter.java:142)
> [marmotta-security-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.security.filters.MarmottaAccessControlFilter$Proxy$_$$_WeldClientProxy.doFilter(Unknown
> Source) [marmotta-security-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.core.servlet.MarmottaResourceFilter$MarmottaFilterChain.doFilter(MarmottaResourceFilter.java:180)
> [marmotta-core-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.user.filters.MarmottaAuthenticationFilter.doFilter(MarmottaAuthenticationFilter.java:163)
> [marmotta-user-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.user.filters.MarmottaAuthenticationFilter$Proxy$_$$_WeldClientProxy.doFilter(Unknown
> Source) [marmotta-user-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.core.servlet.MarmottaResourceFilter$MarmottaFilterChain.doFilter(MarmottaResourceFilter.java:180)
> [marmotta-core-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.core.servlet.MarmottaResourceFilter.doFilter(MarmottaResourceFilter.java:133)
> [marmotta-core-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.marmotta.platform.core.servlet.MarmottaPreStartupFilter.doFilter(MarmottaPreStartupFilter.java:106)
> [marmotta-core-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:169)
> [cors-filter-1.9.jar:1.9]
> at
> com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:232)
> [cors-filter-1.9.jar:1.9]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.marmotta.platform.core.servlet.MarmottaOptionsFilter.doFilter(MarmottaOptionsFilter.java:81)
> [marmotta-core-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
> [tomcat-embed-core-7.0.47.jar:7.0.47]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> [na:1.7.0_75]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> [na:1.7.0_75]
> at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]
> Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
> at java.util.ArrayList.rangeCheck(ArrayList.java:635) ~[na:1.7.0_75]
> at java.util.ArrayList.get(ArrayList.java:411) ~[na:1.7.0_75]
> at
> org.apache.marmotta.kiwi.sparql.builder.SQLBuilder.buildSelectClause(SQLBuilder.java:622)
> ~[kiwi-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.kiwi.sparql.builder.SQLBuilder.build(SQLBuilder.java:936)
> ~[kiwi-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.kiwi.sparql.builder.eval.ValueExpressionEvaluator.meet(ValueExpressionEvaluator.java:135)
> ~[kiwi-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at org.openrdf.query.algebra.Exists.visit(Exists.java:42)
> ~[sesame-queryalgebra-model-2.7.13.jar:na]
> at
> org.apache.marmotta.kiwi.sparql.builder.eval.ValueExpressionEvaluator.<init>(ValueExpressionEvaluator.java:89)
> ~[kiwi-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.kiwi.sparql.builder.SQLBuilder.evaluateExpression(SQLBuilder.java:849)
> ~[kiwi-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.kiwi.sparql.builder.SQLBuilder.prepareBuilder(SQLBuilder.java:343)
> ~[kiwi-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.kiwi.sparql.builder.SQLBuilder.<init>(SQLBuilder.java:165)
> ~[kiwi-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.kiwi.sparql.builder.SQLBuilder.<init>(SQLBuilder.java:146)
> ~[kiwi-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.kiwi.sparql.builder.SQLBuilder.<init>(SQLBuilder.java:136)
> ~[kiwi-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.kiwi.sparql.evaluation.KiWiEvaluationStrategy.evaluateNative(KiWiEvaluationStrategy.java:206)
> ~[kiwi-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.kiwi.sparql.evaluation.KiWiEvaluationStrategy.evaluate(KiWiEvaluationStrategy.java:123)
> ~[kiwi-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.openrdf.query.algebra.evaluation.impl.EvaluationStrategyImpl.evaluate(EvaluationStrategyImpl.java:592)
> ~[sesame-queryalgebra-evaluation-2.7.13.jar:na]
> at
> org.openrdf.query.algebra.evaluation.impl.EvaluationStrategyImpl.evaluate(EvaluationStrategyImpl.java:197)
> ~[sesame-queryalgebra-evaluation-2.7.13.jar:na]
> at
> org.openrdf.query.algebra.evaluation.impl.EvaluationStrategyImpl.evaluate(EvaluationStrategyImpl.java:662)
> ~[sesame-queryalgebra-evaluation-2.7.13.jar:na]
> at
> org.apache.marmotta.kiwi.sparql.evaluation.KiWiEvaluationStrategy.evaluate(KiWiEvaluationStrategy.java:108)
> ~[kiwi-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.openrdf.query.algebra.evaluation.impl.EvaluationStrategyImpl.evaluate(EvaluationStrategyImpl.java:577)
> ~[sesame-queryalgebra-evaluation-2.7.13.jar:na]
> at
> org.openrdf.query.algebra.evaluation.impl.EvaluationStrategyImpl.evaluate(EvaluationStrategyImpl.java:197)
> ~[sesame-queryalgebra-evaluation-2.7.13.jar:na]
> at
> org.openrdf.query.algebra.evaluation.impl.EvaluationStrategyImpl.evaluate(EvaluationStrategyImpl.java:607)
> ~[sesame-queryalgebra-evaluation-2.7.13.jar:na]
> at
> org.openrdf.query.algebra.evaluation.impl.EvaluationStrategyImpl.evaluate(EvaluationStrategyImpl.java:197)
> ~[sesame-queryalgebra-evaluation-2.7.13.jar:na]
> at
> org.apache.marmotta.kiwi.sparql.sail.KiWiSparqlSailConnection.evaluate(KiWiSparqlSailConnection.java:97)
> ~[kiwi-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.openrdf.sail.helpers.SailConnectionWrapper.evaluate(SailConnectionWrapper.java:95)
> ~[sesame-sail-api-2.7.13.jar:na]
> at
> org.openrdf.sail.helpers.SailConnectionWrapper.evaluate(SailConnectionWrapper.java:95)
> ~[sesame-sail-api-2.7.13.jar:na]
> at
> org.openrdf.repository.sail.SailTupleQuery.evaluate(SailTupleQuery.java:60)
> ~[sesame-repository-sail-2.7.13.jar:na]
> at
> org.openrdf.repository.sail.SailTupleQuery.evaluate(SailTupleQuery.java:75)
> ~[sesame-repository-sail-2.7.13.jar:na]
> at
> org.apache.marmotta.platform.sparql.services.sparql.SparqlServiceImpl.query(SparqlServiceImpl.java:345)
> ~[marmotta-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.sparql.services.sparql.SparqlServiceImpl.query(SparqlServiceImpl.java:352)
> ~[marmotta-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.sparql.services.sparql.SparqlServiceImpl.access$700(SparqlServiceImpl.java:60)
> ~[marmotta-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.sparql.services.sparql.SparqlServiceImpl$5.call(SparqlServiceImpl.java:291)
> ~[marmotta-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at
> org.apache.marmotta.platform.sparql.services.sparql.SparqlServiceImpl$5.call(SparqlServiceImpl.java:280)
> ~[marmotta-sparql-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT]
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> ~[na:1.7.0_75]
> ... 3 common frames omitted
> {code}
> That's the typical query that SKOSjs does.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)