Exist: NPE in "group by" combined with "for at"

Created on 6 Apr 2016  Â·  17Comments  Â·  Source: eXist-db/exist

In versions 2.2 and 3.0.RC1, everything worked as expected. After migrating onto the last build I got this error (when trying to access a particular protected site, other sites work well). I guess it has something to do with the rewriting:

HTTP ERROR 500

Problem accessing /exist/apps/test-app/create-ejournals-list.html. Reason:

    Server Error

Caused by:

javax.servlet.ServletException: An unknown error occurred: null
    at org.exist.http.servlets.EXistServlet.doPost(EXistServlet.java:460)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:229)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:103)
    at org.exist.http.urlrewrite.Forward.doRewrite(Forward.java:50)
    at org.exist.http.urlrewrite.XQueryURLRewrite.doRewrite(XQueryURLRewrite.java:549)
    at org.exist.http.urlrewrite.XQueryURLRewrite.applyViews(XQueryURLRewrite.java:414)
    at org.exist.http.urlrewrite.XQueryURLRewrite.service(XQueryURLRewrite.java:360)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496)
    at de.betterform.agent.web.filter.XFormsFilter.doFilter(XFormsFilter.java:171)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1476)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    at org.eclipse.jetty.server.Server.handle(Server.java:370)
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
    at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
    at org.exist.xquery.GroupByClause$GroupByData.access$200(GroupByClause.java:28)
    at org.exist.xquery.GroupByClause.eval(GroupByClause.java:79)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.DynamicTypeCheck.eval(DynamicTypeCheck.java:61)
    at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:323)
    at org.exist.xquery.FunctionCall.eval(FunctionCall.java:227)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.value.FunctionReference.eval(FunctionReference.java:81)
    at org.exist.xquery.DynamicFunctionCall.eval(DynamicFunctionCall.java:76)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.SwitchExpression.eval(SwitchExpression.java:104)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:323)
    at org.exist.xquery.FunctionCall.eval(FunctionCall.java:227)
    at org.exist.xquery.DynamicCardinalityCheck.eval(DynamicCardinalityCheck.java:74)
    at org.exist.xquery.FunctionCall.eval(FunctionCall.java:209)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:323)
    at org.exist.xquery.FunctionCall.eval(FunctionCall.java:227)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:100)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:100)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.TypeswitchExpression.eval(TypeswitchExpression.java:103)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.EnclosedExpr.eval(EnclosedExpr.java:81)
    at org.exist.xquery.ElementConstructor.eval(ElementConstructor.java:318)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.TypeswitchExpression.eval(TypeswitchExpression.java:103)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.EnclosedExpr.eval(EnclosedExpr.java:81)
    at org.exist.xquery.ElementConstructor.eval(ElementConstructor.java:318)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.TypeswitchExpression.eval(TypeswitchExpression.java:103)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.EnclosedExpr.eval(EnclosedExpr.java:81)
    at org.exist.xquery.ElementConstructor.eval(ElementConstructor.java:318)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.TypeswitchExpression.eval(TypeswitchExpression.java:103)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.EnclosedExpr.eval(EnclosedExpr.java:81)
    at org.exist.xquery.ElementConstructor.eval(ElementConstructor.java:318)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.TypeswitchExpression.eval(TypeswitchExpression.java:103)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.EnclosedExpr.eval(EnclosedExpr.java:81)
    at org.exist.xquery.ElementConstructor.eval(ElementConstructor.java:318)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.TypeswitchExpression.eval(TypeswitchExpression.java:103)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.EnclosedExpr.eval(EnclosedExpr.java:81)
    at org.exist.xquery.ElementConstructor.eval(ElementConstructor.java:318)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.TypeswitchExpression.eval(TypeswitchExpression.java:103)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.isEmpty(DeferredFunctionCall.java:198)
    at org.exist.xquery.DynamicCardinalityCheck.eval(DynamicCardinalityCheck.java:76)
    at org.exist.xquery.FunctionCall.eval(FunctionCall.java:209)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:323)
    at org.exist.xquery.FunctionCall.eval(FunctionCall.java:227)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:100)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.TypeswitchExpression.eval(TypeswitchExpression.java:103)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:323)
    at org.exist.xquery.FunctionCall.eval(FunctionCall.java:227)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:323)
    at org.exist.xquery.FunctionCall.eval(FunctionCall.java:227)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.XQuery.execute(XQuery.java:270)
    at org.exist.xquery.XQuery.execute(XQuery.java:190)
    at org.exist.http.RESTServer.executeXQuery(RESTServer.java:1497)
    at org.exist.http.RESTServer.doPost(RESTServer.java:672)
    at org.exist.http.servlets.EXistServlet.doPost(EXistServlet.java:433)
    ... 46 more

Caused by:

java.lang.NullPointerException
    at org.exist.xquery.GroupByClause$GroupByData.access$200(GroupByClause.java:28)
    at org.exist.xquery.GroupByClause.eval(GroupByClause.java:79)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.DynamicTypeCheck.eval(DynamicTypeCheck.java:61)
    at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:323)
    at org.exist.xquery.FunctionCall.eval(FunctionCall.java:227)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.value.FunctionReference.eval(FunctionReference.java:81)
    at org.exist.xquery.DynamicFunctionCall.eval(DynamicFunctionCall.java:76)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.SwitchExpression.eval(SwitchExpression.java:104)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:323)
    at org.exist.xquery.FunctionCall.eval(FunctionCall.java:227)
    at org.exist.xquery.DynamicCardinalityCheck.eval(DynamicCardinalityCheck.java:74)
    at org.exist.xquery.FunctionCall.eval(FunctionCall.java:209)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:323)
    at org.exist.xquery.FunctionCall.eval(FunctionCall.java:227)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:100)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:100)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.TypeswitchExpression.eval(TypeswitchExpression.java:103)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.EnclosedExpr.eval(EnclosedExpr.java:81)
    at org.exist.xquery.ElementConstructor.eval(ElementConstructor.java:318)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.TypeswitchExpression.eval(TypeswitchExpression.java:103)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.EnclosedExpr.eval(EnclosedExpr.java:81)
    at org.exist.xquery.ElementConstructor.eval(ElementConstructor.java:318)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.TypeswitchExpression.eval(TypeswitchExpression.java:103)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.EnclosedExpr.eval(EnclosedExpr.java:81)
    at org.exist.xquery.ElementConstructor.eval(ElementConstructor.java:318)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.TypeswitchExpression.eval(TypeswitchExpression.java:103)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.EnclosedExpr.eval(EnclosedExpr.java:81)
    at org.exist.xquery.ElementConstructor.eval(ElementConstructor.java:318)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.TypeswitchExpression.eval(TypeswitchExpression.java:103)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.EnclosedExpr.eval(EnclosedExpr.java:81)
    at org.exist.xquery.ElementConstructor.eval(ElementConstructor.java:318)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.TypeswitchExpression.eval(TypeswitchExpression.java:103)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:84)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.EnclosedExpr.eval(EnclosedExpr.java:81)
    at org.exist.xquery.ElementConstructor.eval(ElementConstructor.java:318)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:102)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.TypeswitchExpression.eval(TypeswitchExpression.java:103)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.isEmpty(DeferredFunctionCall.java:198)
    at org.exist.xquery.DynamicCardinalityCheck.eval(DynamicCardinalityCheck.java:76)
    at org.exist.xquery.FunctionCall.eval(FunctionCall.java:209)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:323)
    at org.exist.xquery.FunctionCall.eval(FunctionCall.java:227)
    at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:100)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall$DeferredFunctionCallImpl.execute(FunctionCall.java:420)
    at org.exist.xquery.DeferredFunctionCall.realize(DeferredFunctionCall.java:57)
    at org.exist.xquery.DeferredFunctionCall.iterate(DeferredFunctionCall.java:230)
    at org.exist.xquery.value.ValueSequence.addAll(ValueSequence.java:167)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.TypeswitchExpression.eval(TypeswitchExpression.java:103)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:323)
    at org.exist.xquery.FunctionCall.eval(FunctionCall.java:227)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:65)
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239)
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155)
    at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:323)
    at org.exist.xquery.FunctionCall.eval(FunctionCall.java:227)
    at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.LetExpr.eval(LetExpr.java:111)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.PathExpr.eval(PathExpr.java:267)
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
    at org.exist.xquery.XQuery.execute(XQuery.java:270)
    at org.exist.xquery.XQuery.execute(XQuery.java:190)
    at org.exist.http.RESTServer.executeXQuery(RESTServer.java:1497)
    at org.exist.http.RESTServer.doPost(RESTServer.java:672)
    at org.exist.http.servlets.EXistServlet.doPost(EXistServlet.java:433)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:229)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:103)
    at org.exist.http.urlrewrite.Forward.doRewrite(Forward.java:50)
    at org.exist.http.urlrewrite.XQueryURLRewrite.doRewrite(XQueryURLRewrite.java:549)
    at org.exist.http.urlrewrite.XQueryURLRewrite.applyViews(XQueryURLRewrite.java:414)
    at org.exist.http.urlrewrite.XQueryURLRewrite.service(XQueryURLRewrite.java:360)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496)
    at de.betterform.agent.web.filter.XFormsFilter.doFilter(XFormsFilter.java:171)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1476)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    at org.eclipse.jetty.server.Server.handle(Server.java:370)
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
    at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    at java.lang.Thread.run(Thread.java:745)

bug

All 17 comments

Caused by: java.lang.NullPointerException
    at org.exist.xquery.GroupByClause$GroupByData.access$200(GroupByClause.java:28)
    at org.exist.xquery.GroupByClause.eval(GroupByClause.java:79)

there have been fixes in RC2 (https://github.com/eXist-db/exist/pulls?utf8=âś“&q=is%3Apr+is%3Aclosed+group+by) so it might actually be solved right now.

To judge about the (a) bug, we need to have a runnable (piece of) xquery code and some date.....

I guess error is associated with grouping inside my functions…:

Caused by: java.lang.NullPointerException
    at org.exist.xquery.GroupByClause$GroupByData.access$200(GroupByClause.java:28)`

Here is the templating function:

declare function app:list-journals($node as node(), $model as map(*)) as node()* {
    let $journals := collection('/db/apps/karolinum-x/data/auc')
    for $journal at $count in $journals
    let $journalTitle := $journal//tei:seriesStmt/tei:title/text()
    let $journalId := xs:integer(util:random() * 10000)
    let $issue := $journal//tei:biblScope[@unit='issue']
    let $issueNumber := $issue//tei:seriesStmt/tei:biblScope/text()
    let $year := $issue//tei:publicationStmt/tei:date/text()
    group by $journalTitle, $issueNumber
    return
        if ($journalTitle) then 
            ( 
                journal-form:snippet($journal, $journalTitle, $journalId)
            )
        else ()
};

Here the rich xhtml snippet passed into the templating function above:


module namespace journal-form="http://46.28.111.241:8081/exist/db/apps/karolinum-x/modules/journal-form";

declare namespace tei = "http://www.tei-c.org/ns/1.0";

(:~
 : This function is a snippet of code used across a few functions in the main app.xql module.
 : Functions inside the app.xql module simply pass useful parameters to it and 
 : the form for generating different formats of e-books is generated.
 :)
declare function journal-form:snippet($journal as node()+, $journalTitle as xs:string, $journalId as xs:string) as element()* {
    let $snippet := 
        (
            <div class="list-group-root">
                <div class="list-group-item">
                    <h3 data-toggle="collapse" data-target="#issues-{$journalId}"><i class="glyphicon glyphicon-chevron-right"/> {$journalTitle}</h3>
                    <div id="issues-{$journalId}" class="list-group collapse">
                        {
                            for $issue in $journal
                            let $issueNumber := $issue//tei:seriesStmt/tei:biblScope/text()
                            let $issueId := xs:integer(util:random() * 10000)
                            let $year := $issue//tei:publicationStmt/tei:date/text()
                            group by $issueNumber, $year
                            order by $year, $issueNumber descending
                            return
                                if ($issueNumber) then (
                                    <div class="list-group-item">
                                        <h3 data-toggle="collapse" data-target="#articles-journal-{$issueNumber}-{$issueId}"><i class="glyphicon glyphicon-chevron-right"/> {$issueNumber}/{$year}</h3>
                                        <div id="articles-journal-{$issueNumber}-{$issueId}" class="list-group collapse">
                                            {
                                                for $article at $count in $issue
                                                let $articleTitle := $article//tei:titleStmt/tei:title/text()
                                                let $doi := $article//tei:idno[@type="doi"]/text()
                                                let $authors := $article//tei:titleStmt/tei:author/text()
                                                return
                                                    <div class="list-group-item">
                                                        <h3 class="text-primary">{$count}. {$articleTitle}</h3>
                                                        <p>{string-join($authors, ', ')}</p>
                                                        <p><small>{$doi}</small></p>
                                                    </div>,
                                                    <div class="list-group-item">
                                                        <form role="form" action="./modules/create-ebook.xq">
                                                            <div class="form-group row">
                                                                <div class="form-group col-md-3">
                                                                    <fieldset class="form-group">
                                                                        <h3>Export</h3>
                                                                        {
                                                                            for $article at $count in $issue
                                                                            let $articleUri := base-uri($article)
                                                                            return
                                                                               <label class="checkbox-inline"><input type="checkbox" name="article-uri-{$count}" value="{$articleUri}"/>{$count}</label>
                                                                        }
                                                                        <p>Články</p>
                                                                        <div class="checkbox">
                                                                            <label><input type="checkbox" name="checkAll"/>Všechny jako jedno pdf</label>
                                                                        </div>
                                                                        <div class="checkbox">
                                                                            <label><input type="checkbox" name="zipAll"/>Vše po částech v zipu</label>
                                                                        </div>
                                                                        <div class="checkbox">
                                                                            <label><input type="checkbox" name="imprints"/>Přidat vstupy a tiráž</label>
                                                                        </div>
                                                                        {
                                                                            let $articles-counter := count($issue//tei:TEI)
                                                                            return
                                                                                <input type="hidden" name="articles-counter" value="{$articles-counter}"/>
                                                                        }
                                                                        <input type="text" class="form-control" name="pageno" placeholder="page No." value="1"/>
                                                                        <p>Začátek číslování</p>
                                                                        <button name="button-articles" class="btn btn-primary btn-small">OK</button>
                                                                    </fieldset>
                                                                    <fieldset class="form-group">
                                                                        <input type="hidden" name="pdfQuality" value="print"/>
                                                                        <input type="hidden" name="format" value="pdf"/>
                                                                        <input type="hidden" name="title" value="{$journalTitle}"/>
                                                                        <input type="hidden" name="layout" value="auc-geographica"/>
                                                                    </fieldset>
                                                                </div>
                                                            </div>
                                                        </form>
                                                    </div>
                                            }
                                        </div>
                                    </div>
                                )
                                else ()
                        }
                    </div>
                </div>
            </div>
        )
    return $snippet
};

Is it possible for you test the query with exist-db 3.0RC2 ?

a build can be retrieved from http://static.adamretter.org.uk/exist-nightly/

This is an error from 3.0RC2 (build 3.0.RC2-develop-ecc4df4). As I wrote, I use the query in 3.0RC1 without any hassle. Thanks!

Can we stop talking about 3.0.RC2 please? Unless I am mistaken, there is no
such thing yet!
On 11 Apr 2016 10:25 am, "Dannes Wessels" [email protected] wrote:

Is it possible for you test the query with exist-db 3.0RC2 ?

a build can be retrieved from
http://static.adamretter.org.uk/exist-nightly/

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/eXist-db/exist/issues/967#issuecomment-208372221

Ok, I should stick to exact terms. I thought 3.0.RC2-develop-ecc4df4

Yup, thanks. Ideally the term "3.0.RC2" should not be set until the release, I don't know why it is set before the release?!?

...Anyway, any version after the last release is always best described using the Git Hash :-)

This issue still exists.
I am facing this issue currently on the latest code from github, too.

Is it possible For you to make a smaller example that should the same issue?

Since it is in the groupby function it has probably nothing to do with either rewriting or templating....

This xquery will lead to the problem....

xquery version "3.1"; 
let $test := <xmltest><test1></test1><test2></test2></xmltest>
return
for $dates at $pos in $test
let $group := xs:integer($pos div 30)
group by $group
order by $group
return
$group

in eXide, you dont get an error. Its thrown in the exist.log...

a bit more simpler, leaving out a lot of noise:

for $nr at $pos in (1,2)
group by $pos
return
$nr

@wolfgangmm @adamretter I think this one should not be too difficult to fix.... no idea yet though...

org.exist.xquery.GroupByClause#eval

image

Any new news on this? Otherwise we will not be able to use any new RC/Release :/

good point, I think it is a quick fix... @wolfgangmm ?

I saw some parallelities with other pieces of code (where the data value is checked, but I could not say if I was on the right track :-/

Confirmed that the reduced code by @dizzzz above (https://github.com/eXist-db/exist/issues/967#issuecomment-240693164) still causes an NPE in exist.log with current develop branch:

2017-01-31 10:54:41,073 [qtp985285352-470] ERROR (XQueryServlet.java [process]:534) - null 
java.lang.NullPointerException: null
    at org.exist.xquery.GroupByClause$GroupByData.access$200(GroupByClause.java:28) ~[exist.jar:?]
    at org.exist.xquery.GroupByClause.eval(GroupByClause.java:79) ~[exist.jar:?]
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71) ~[exist.jar:?]
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239) ~[exist.jar:?]
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179) ~[exist.jar:?]
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71) ~[exist.jar:?]
    at org.exist.xquery.PathExpr.eval(PathExpr.java:276) ~[exist.jar:?]
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71) ~[exist.jar:?]
    at org.exist.xquery.XQuery.execute(XQuery.java:253) ~[exist.jar:?]
    at org.exist.xquery.XQuery.execute(XQuery.java:185) ~[exist.jar:?]
    at org.exist.http.servlets.XQueryServlet.process(XQueryServlet.java:470) [exist-optional.jar:?]
    at org.exist.http.servlets.XQueryServlet.doPost(XQueryServlet.java:191) [exist-optional.jar:?]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) [servlet-api-3.1.jar:3.1.0]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [servlet-api-3.1.jar:3.1.0]
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845) [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583) [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566) [jetty-security-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1174) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511) [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1106) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:159) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:74) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.exist.http.urlrewrite.Forward.doRewrite(Forward.java:50) [exist-optional.jar:?]
    at org.exist.http.urlrewrite.XQueryURLRewrite.doRewrite(XQueryURLRewrite.java:545) [exist-optional.jar:?]
    at org.exist.http.urlrewrite.XQueryURLRewrite.service(XQueryURLRewrite.java:349) [exist-optional.jar:?]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [servlet-api-3.1.jar:3.1.0]
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845) [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1689) [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517]
    at de.betterform.agent.web.filter.XFormsFilter.doFilter(XFormsFilter.java:171) [betterform-exist-5.1-SNAPSHOT-20160615.jar:?]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668) [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581) [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) [jetty-security-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1174) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511) [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1106) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:396) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.Server.handle(Server.java:524) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:319) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:253) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273) [jetty-io-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) [jetty-io-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [jetty-io-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [jetty-util-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [jetty-util-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [jetty-util-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [jetty-util-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [jetty-util-9.3.9.v20160517.jar:9.3.9.v20160517]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
2017-01-31 10:54:50,657 [qtp985285352-380] ERROR (XQueryServlet.java [process]:534) - null 
java.lang.NullPointerException: null
    at org.exist.xquery.GroupByClause$GroupByData.access$200(GroupByClause.java:28) ~[exist.jar:?]
    at org.exist.xquery.GroupByClause.eval(GroupByClause.java:79) ~[exist.jar:?]
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71) ~[exist.jar:?]
    at org.exist.xquery.ForExpr.processItem(ForExpr.java:239) ~[exist.jar:?]
    at org.exist.xquery.ForExpr.eval(ForExpr.java:179) ~[exist.jar:?]
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71) ~[exist.jar:?]
    at org.exist.xquery.PathExpr.eval(PathExpr.java:276) ~[exist.jar:?]
    at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71) ~[exist.jar:?]
    at org.exist.xquery.XQuery.execute(XQuery.java:253) ~[exist.jar:?]
    at org.exist.xquery.XQuery.execute(XQuery.java:185) ~[exist.jar:?]
    at org.exist.http.servlets.XQueryServlet.process(XQueryServlet.java:470) [exist-optional.jar:?]
    at org.exist.http.servlets.XQueryServlet.doPost(XQueryServlet.java:191) [exist-optional.jar:?]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) [servlet-api-3.1.jar:3.1.0]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [servlet-api-3.1.jar:3.1.0]
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845) [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583) [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566) [jetty-security-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1174) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511) [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1106) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:159) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:74) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.exist.http.urlrewrite.Forward.doRewrite(Forward.java:50) [exist-optional.jar:?]
    at org.exist.http.urlrewrite.XQueryURLRewrite.doRewrite(XQueryURLRewrite.java:545) [exist-optional.jar:?]
    at org.exist.http.urlrewrite.XQueryURLRewrite.service(XQueryURLRewrite.java:349) [exist-optional.jar:?]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [servlet-api-3.1.jar:3.1.0]
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845) [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1689) [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517]
    at de.betterform.agent.web.filter.XFormsFilter.doFilter(XFormsFilter.java:171) [betterform-exist-5.1-SNAPSHOT-20160615.jar:?]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668) [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581) [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) [jetty-security-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1174) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511) [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1106) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:396) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.Server.handle(Server.java:524) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:319) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:253) [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273) [jetty-io-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) [jetty-io-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [jetty-io-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [jetty-util-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [jetty-util-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [jetty-util-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [jetty-util-9.3.9.v20160517.jar:9.3.9.v20160517]
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [jetty-util-9.3.9.v20160517.jar:9.3.9.v20160517]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]

i'll have a check again

Tag with milestone 3.1 so it's not lost?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jonjhallettuob picture jonjhallettuob  Â·  3Comments

mathias-goebel picture mathias-goebel  Â·  4Comments

dizzzz picture dizzzz  Â·  4Comments

wolfgangmm picture wolfgangmm  Â·  3Comments

lguariento picture lguariento  Â·  5Comments