From: John B. <jo...@mi...> - 2006-09-06 23:48:28
|
Good Morning, I'm currently using eXist-20060316.war and have been experiencing the error below. I get this error when browsing to a collection using the webstart client or the command line client. I'm unable to make a backup of the database so I can upgrade to a newer version. The name of the collection I'm trying to browse to is: /db/sugarman/data/ I don't know for sure what collections and documents are in that collection. Any help would certainly be appreciated! John org.xmldb.api.base.XMLDBException: java.lang.StringIndexOutOfBoundsException: String index out of range: 1362720389 at org.exist.xmldb.RemoteUserManagementService.getPermissions(RemoteUserManagementService.java:295) at org.exist.client.InteractiveClient.getResources(InteractiveClient.java:311) at org.exist.client.InteractiveClient.process(InteractiveClient.java:487) at org.exist.client.ClientFrame$ProcessThread.run(ClientFrame.java:1369) Caused by: org.apache.xmlrpc.XmlRpcException: java.lang.StringIndexOutOfBoundsException: String index out of range: 1362720389 at org.apache.xmlrpc.XmlRpcClient$Worker.execute(XmlRpcClient.java:457) at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:163) at org.exist.xmldb.RemoteUserManagementService.getPermissions(RemoteUserManagementService.java:289) ... 3 more Caused by: org.apache.xmlrpc.XmlRpcException: java.lang.StringIndexOutOfBoundsException: String index out of range: 1362720389 at org.apache.xmlrpc.XmlRpcClient$Worker.execute(XmlRpcClient.java:457) at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:163) at org.exist.xmldb.RemoteUserManagementService.getPermissions(RemoteUserManagementService.java:289) at org.exist.client.InteractiveClient.getResources(InteractiveClient.java:311) at org.exist.client.InteractiveClient.process(InteractiveClient.java:487) at org.exist.client.ClientFrame$ProcessThread.run(ClientFrame.java:1369) |
From: Wolfgang M. <wol...@gm...> - 2006-09-07 01:33:56
|
> org.xmldb.api.base.XMLDBException: > java.lang.StringIndexOutOfBoundsException: String index out of range: > 1362720389 The stack trace you posted is from the client. However, the exception occurs on the server, so the client stack doesn't help much. Could you check the log files for the server-side exception and post that? Wolfgang |
From: John B. <jo...@mi...> - 2006-09-07 02:14:32
|
Wolfgang Meier wrote: >> org.xmldb.api.base.XMLDBException: >> java.lang.StringIndexOutOfBoundsException: String index out of range: >> 1362720389 > > The stack trace you posted is from the client. However, the exception > occurs on the server, so the client stack doesn't help much. Could you > check the log files for the server-side exception and post that? > > Wolfgang > Apparently, the reply with the server logs was sent just to me. The stack trace is at the end of this message. I did manage to get the data that I needed except for one document. In the event that anyone is interested, here is what I did: I changed org.exist.storage.io.readUTF from: public String readUTF() throws IOException, EOFException { int len = readInt(); String s; try { s = new String(data, position, len, "UTF-8"); } catch (UnsupportedEncodingException e) { s = new String(data, position, len); } position += len; return s; } To: public String readUTF() throws IOException, EOFException { int len = readInt(); String s; try { s = new String(data, position, len, "UTF-8"); } catch (UnsupportedEncodingException e) { s = new String(data, position, len); } catch (StringIndexOutOfBoundsException e) { e.printStackTrace(); System.out.println("Position: " + position + ", Length: " + len); s = "broke.xml"; len = 2; //throw e; } position += len; return s; } I'm not sure that's useful for much other than skipping over whatever is broke there. Here's the stack-trace found in $EXIST_HOME/webapp/WEB-INF/logs/ java.lang.StringIndexOutOfBoundsException: String index out of range: 1362720389 at java.lang.String.checkBounds(String.java:372) at java.lang.String.<init>(String.java:404) at org.exist.storage.io.VariableByteArrayInput.readUTF(VariableByteArrayInput.java:135) at org.exist.dom.DocumentImpl.read(DocumentImpl.java:385) at org.exist.storage.NativeBroker$DocumentCallback.indexInfo(NativeBroker.java:3239) at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1365) at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1302) at org.exist.storage.btree.BTree$BTreeNode.access$300(BTree.java:625) at org.exist.storage.btree.BTree.query(BTree.java:295) at org.exist.storage.NativeBroker.getCollectionResources(NativeBroker.java:1516) at org.exist.collections.Collection.read(Collection.java:653) at org.exist.storage.NativeBroker.openCollection(NativeBroker.java:710) at org.exist.storage.NativeBroker.getCollection(NativeBroker.java:672) at org.exist.http.RESTServer.printCollection(RESTServer.java:1075) at org.exist.http.RESTServer.doGet(RESTServer.java:358) at org.exist.http.servlets.EXistServlet.doGet(EXistServlet.java:202) at javax.servlet.http.HttpServlet.service(HttpServlet.java:743) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:405) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:472) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:525) at org.mortbay.http.HttpContext.handle(HttpContext.java:1457) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:514) at org.mortbay.http.HttpContext.handle(HttpContext.java:1409) at org.mortbay.http.HttpServer.service(HttpServer.java:889) at org.mortbay.http.HttpConnection.service(HttpConnection.java:829) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:998) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:846) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:345) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:530) |