Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 65640 invoked from network); 7 May 2007 15:14:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 7 May 2007 15:14:38 -0000 Received: (qmail 75600 invoked by uid 500); 7 May 2007 15:14:43 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 75558 invoked by uid 500); 7 May 2007 15:14:43 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 75535 invoked by uid 99); 7 May 2007 15:14:42 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 May 2007 08:14:42 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 May 2007 08:14:35 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 54DDC714064 for ; Mon, 7 May 2007 08:14:15 -0700 (PDT) Message-ID: <1174356.1178550855338.JavaMail.jira@brutus> Date: Mon, 7 May 2007 08:14:15 -0700 (PDT) From: "Knut Anders Hatlen (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Updated: (DERBY-2584) Creating a database with JPOX SchemaTool sometimes gives ArrayIndexOutOfBoundsException when getIndexInfo() is called In-Reply-To: <1664933.1177403235291.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/DERBY-2584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Knut Anders Hatlen updated DERBY-2584: -------------------------------------- Attachment: d2584.java The attached java file (d2584.java) contains a simple repro for this error. What it does is: 1) create a new database 2) open a connection in repeatable read, auto-commit off 3) select * from sys.sysstatements 4) call DatabaseMetaData.getIndexInfo() -> this will hang for derby.locks.waitTimeout seconds and return successfully 5) call DatabaseMetaData.getIndexInfo() again -> this will throw ArrayIndexOutOfBoundsException I have verified that this fails consistently on 10.2.1.6, 10.2.2.0 and trunk. It does however not fail on 10.0.2.1 and 10.1.3.1. > Creating a database with JPOX SchemaTool sometimes gives ArrayIndexOutOfBoundsException when getIndexInfo() is called > --------------------------------------------------------------------------------------------------------------------- > > Key: DERBY-2584 > URL: https://issues.apache.org/jira/browse/DERBY-2584 > Project: Derby > Issue Type: Bug > Components: SQL > Affects Versions: 10.2.2.0 > Reporter: Bernt M. Johnsen > Attachments: d2584.java > > > It has been reported (e.g. here: http://www.jpox.org/servlet/forum/viewthread?thread=4034 ) that the database sometimes get corrupt when the db is created with JPOX SchemaTool. This leads to java.lang.ArrayIndexOutOfBoundsException for some (at least one: getIndexInfo) metadata calls. When this happens, the types array GenericParameterValueSet.initialize has length 0. > I have not yet managed to reproduce the bug in a small repro. A workaround exists though: Create the database before you run the JPOX SchemaTool. > The stack trace you get when getIndexInfo is called is > 2007-04-17 16:20:20.191 GMT Thread[DRDAConnThread_5,5,main] (XID = 1554), (SESSIONID = 10), (DATABASE = communitymc_portal1), (DRDAID = C0124DC3.H92B-954198994222304164{11}), Failed Statement is: CALL SYSIBM.SQLSTATISTICS(?,?,?,?,?,?) with 6 parameters begin parameter #1: null :end parameter begin parameter #2: PORTAL :end parameter begin parameter #3: COMMUNITY :end parameter begin parameter #4: 1 :end parameter begin parameter #5: 1 :end parameter begin parameter #6: DATATYPE='JDBC';DYNAMIC=0;REPORTPUBLICPRIVILEGES=1;CURSORHOLD=1 :end parameter > java.lang.ArrayIndexOutOfBoundsException: 0 > at org.apache.derby.impl.sql.GenericParameterValueSet.initialize(Unknown Source) > at org.apache.derby.impl.sql.execute.BaseActivation.setupActivation(Unknown Source) > at org.apache.derby.impl.sql.GenericActivationHolder.(Unknown Source) > at org.apache.derby.impl.sql.GenericPreparedStatement.getActivation(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.(Unknown Source) > at org.apache.derby.jdbc.Driver30.newEmbedPreparedStatement(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedConnection.prepareMetaDataStatement(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.prepareSPS(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getPreparedQueryUsingSystemTables(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getPreparedQuery(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getPreparedQuery(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.doGetIndexInfo(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getIndexInfo(Unknown Source) > at org.apache.derby.catalog.SystemProcedures.SQLSTATISTICS(Unknown Source) > at org.apache.derby.exe.ac72e9c096x0112x0056x2b09xffffcd3424e39.g0(Unknown Source) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(Unknown Source) > at org.apache.derby.impl.sql.execute.CallStatementResultSet.open(Unknown Source) > at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedCallableStatement.executeStatement(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown Source) > at org.apache.derby.impl.drda.DRDAStatement.execute(Unknown Source) > at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTTobjects(Unknown Source) > at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(Unknown Source) > at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source) > at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.