Hi Marco,
thanks for trying. – It’s difficult to guess how the exception was caused in your scenario. The stack trace reported by Arto was caused by a bug in the implementation of xquery:eval() [1], while your stack trace seems to point to the replace command.
If you manage to reproduce the error, we’ll be glad to have a look at it, Christian
[1] https://github.com/BaseXdb/basex/commit/440f3c5499b6ec05806aabce55f285badfa1... ___________________________
On Tue, Feb 26, 2013 at 9:58 AM, Marco Lettere marco.lettere@dedalus.eu wrote:
Independently on how I hard I try, I'm not able to recreate the problem. It happened twice in two following days but now it's no t happening again ... I've seen that the mail reporting the same exception:
https://mailman.uni-konstanz.de/pipermail/basex-talk/2013-February/004690.ht...
has been faced and solved
https://mailman.uni-konstanz.de/pipermail/basex-talk/2013-February/004734.ht...
Can anyone tell on whether the problem, under the hood, was the same? Thank you. M.
On 02/20/2013 01:20 PM, Marco Lettere wrote:
Hi all, yesterday I stumbled upon a strange bug which today showed up again in the exact same manner.
I wanted to replace, by calling this REST uri (http://localhost:8984/rest/rlus/HCP/rules/CDAReports_rules.xml) from firefox's poster tool, the following resource
<hdataext:extension id="CDA2_REPORT" xmlns:hdataext="urn:dedalus:hdata:extensions" extensionId="CDA2_REPORT" contentType="application/xml"> <hdataext:namespace prefix="hl7v3" href="urn:hl7-org:v3" />
hdataext:documentid$input/cda:id/data(@extension)</hdataext:documentid>
hdataext:documentnameconcat($input/cda:templateId/data(@extension),'_',$input/cda:id/data(@extension),'.cda')</hdataext:documentname>
hdataext:documentrecordconcat($input//cda:patientRole/cda:id[@root='2.16.840.1.113883.2.9.4.3.2']/data(@root),'_',$input//cda:patientRole/cda:id[@root='2.16.840.1.113883.2.9.4.3.2']/data(@extension))</hdataext:documentrecord>
hdataext:documentaddressconcat("http://localhost:8984/rest/%22,$input)</hdataext:documentaddress> hdataext:documentmetadata()</hdataext:documentmetadata> </hdataext:extension>
with this one
<hdataext:extension id="CDA2_REPORT" xmlns:hdataext="urn:dedalus:hdata:extensions" extensionId="CDA2_REPORT" contentType="application/xml"> <hdataext:namespace prefix="hl7v3" href="urn:hl7-org:v3" /> <hdataext:namespace prefix="cda" href="urn:hl7-org:v3" />
hdataext:documentid$input/cda:id/data(@extension)</hdataext:documentid>
hdataext:documentnameconcat($input/cda:templateId/data(@extension),'_',$input/cda:id/data(@extension),'.cda')</hdataext:documentname>
hdataext:documentrecordconcat($input//cda:patientRole/cda:id[@root='2.16.840.1.113883.2.9.4.3.2']/data(@root),'_',$input//cda:patientRole/cda:id[@root='2.16.840.1.113883.2.9.4.3.2']/data(@extension))</hdataext:documentrecord>
hdataext:documentaddressconcat("http://localhost:8984/rest/%22,$input)</hdataext:documentaddress> hdataext:documentmetadata()</hdataext:documentmetadata> </hdataext:extension>
I got this nasty exception:
Improper use? Potential bug? Your feedback is welcome: Contact: basex-talk@mailman.uni-konstanz.de Version: BaseX 7.6 Java: Sun Microsystems Inc., 1.6.0_18 OS: Linux, i386 Stack Trace: java.lang.ArrayIndexOutOfBoundsException: 2 org.basex.io.random.TableDiskAccess.flush(TableDiskAccess.java:124) org.basex.data.DiskData.finishUpdate(DiskData.java:212) org.basex.core.cmd.Replace.run(Replace.java:78) org.basex.core.Command.run(Command.java:342) org.basex.core.Command.exec(Command.java:321) org.basex.core.Command.execute(Command.java:78) org.basex.core.Command.execute(Command.java:90) org.basex.server.LocalSession.execute(LocalSession.java:97) org.basex.server.LocalSession.replace(LocalSession.java:81) org.basex.http.rest.RESTPut.run(RESTPut.java:59) org.basex.http.rest.RESTServlet.run(RESTServlet.java:14) org.basex.http.BaseXServlet.service(BaseXServlet.java:39) javax.servlet.http.HttpServlet.service(HttpServlet.java:848) org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:648) org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:559)
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:232)
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1072) org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:382)
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:194)
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1006)
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) org.eclipse.jetty.server.Server.handle(Server.java:365)
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:485)
org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:937)
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:998) org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:856) org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:627)
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:51)
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) java.lang.Thread.run(Thread.java:619) 1 resource(s) replaced in 2.47 ms.
and as a MUCH WORSE side effect ... my database is completely messed up. It shows up in the basexgui but when I try to open it nothing happens and the basexgui yields the following exception:
Exception occurred during event dispatching: java.lang.RuntimeException: Data Access out of bounds:
- pre value: 0
- #used blocks: 0
- #total locks: 0
- access: -1 (0 > -1] at org.basex.util.Util.notexpected(Util.java:53) at org.basex.io.random.TableDiskAccess.cursor(TableDiskAccess.java:488) at org.basex.io.random.TableDiskAccess.read1(TableDiskAccess.java:189) at org.basex.data.Data.kind(Data.java:283) at org.basex.query.value.node.DBNode.<init>(DBNode.java:49) at org.basex.query.value.node.FTPosNode.<init>(FTPosNode.java:22) at org.basex.data.Nodes.serialize(Nodes.java:227) at org.basex.data.Nodes.serialize(Nodes.java:222) at org.basex.gui.view.text.TextView.setText(TextView.java:142) at org.basex.gui.view.text.TextView.refreshContext(TextView.java:104) at org.basex.gui.view.text.TextView.refreshInit(TextView.java:90) at org.basex.gui.view.ViewNotifier.init(ViewNotifier.java:80) at org.basex.gui.dialog.DialogProgress.execute(DialogProgress.java:204) at org.basex.gui.dialog.DialogProgress.execute(DialogProgress.java:146) at org.basex.gui.dialog.DialogProgress.execute(DialogProgress.java:124) at org.basex.gui.dialog.DialogManage.close(DialogManage.java:249) at org.basex.gui.dialog.DialogManage.action(DialogManage.java:145) at
org.basex.gui.layout.BaseXButton$1.actionPerformed(BaseXButton.java:39) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272) at java.awt.Component.processMouseEvent(Component.java:6263) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6028) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178) at java.awt.Dialog$1.run(Dialog.java:1046) at java.awt.Dialog$3.run(Dialog.java:1098) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1096) at java.awt.Component.show(Component.java:1563) at java.awt.Component.setVisible(Component.java:1515) at java.awt.Window.setVisible(Window.java:842) at java.awt.Dialog.setVisible(Dialog.java:986) at org.basex.gui.layout.BaseXDialog.finish(BaseXDialog.java:111) at org.basex.gui.dialog.DialogManage.<init>(DialogManage.java:119) at org.basex.gui.GUICommands$2.execute(GUICommands.java:52) at org.basex.gui.layout.BaseXButton$3.actionPerformed(BaseXButton.java:95) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272) at java.awt.Component.processMouseEvent(Component.java:6263) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6028) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
any hints? Thank you. M.
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk