Hi, I have code that used to work with 7.7.2, but that crashes with 7.8.
I was able to create a simple piece of code that reproduces the error.
I file:write the result before the db:replace. Notice how some elements have been re-ordered.
To run the attached file:
* Create an empty DB named 'tui-test'
* Access: http://localhost:8984/tui/test-1
Details:
Unexpected error: Improper use? Potential bug? Your feedback is welcome:
Contact: basex-talk@mailman.uni-konstanz.de
Version: BaseX 7.8 beta 132460f
Java: Apple Inc., 1.6.0_65
OS: Mac OS X, i386
Stack Trace:
java.lang.ArrayIndexOutOfBoundsException: -3
at org.basex.io.random.TableMemAccess.read1(TableMemAccess.java:44)
at org.basex.data.Data.kind(Data.java:283)
at org.basex.query.value.node.DBNode.parent(DBNode.java:250)
at org.basex.query.value.node.ANode.nsScope(ANode.java:160)
at org.basex.query.util.DataBuilder.addElem(DataBuilder.java:223)
at org.basex.query.util.DataBuilder.addNode(DataBuilder.java:79)
at org.basex.query.util.DataBuilder.addElem(DataBuilder.java:242)
at org.basex.query.util.DataBuilder.addNode(DataBuilder.java:79)
at org.basex.query.util.DataBuilder.addDoc(DataBuilder.java:101)
at org.basex.query.util.DataBuilder.addNode(DataBuilder.java:78)
at org.basex.query.util.DataBuilder.build(DataBuilder.java:64)
at org.basex.query.util.DataBuilder.build(DataBuilder.java:54)
at org.basex.query.value.node.ANode.dbCopy(ANode.java:93)
at org.basex.query.up.primitives.DBNew.data(DBNew.java:104)
at org.basex.query.up.primitives.DBNew.addDocs(DBNew.java:86)
at org.basex.query.up.primitives.DBAdd.prepare(DBAdd.java:47)
at org.basex.query.up.DatabaseUpdates.check(DatabaseUpdates.java:109)
at org.basex.query.up.ContextModifier.apply(ContextModifier.java:92)
at org.basex.query.up.Updates.apply(Updates.java:120)
at org.basex.query.QueryContext.update(QueryContext.java:340)
at org.basex.query.QueryContext.value(QueryContext.java:324)
at org.basex.query.QueryContext.iter(QueryContext.java:309)
at org.basex.http.restxq.RestXqResponse.create(RestXqResponse.java:72)
at org.basex.http.restxq.RestXqModule.process(RestXqModule.java:108)
at org.basex.http.restxq.RestXqFunction.process(RestXqFunction.java:100)
at org.basex.http.restxq.RestXqServlet.run(RestXqServlet.java:31)
at org.basex.http.BaseXServlet.service(BaseXServlet.java:58)
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:457)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
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:489)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
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:695)
--
France Baril
Architecte documentaire / Documentation architect
france.baril@architextus.com
(514) 572-0341