[ 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)