ArrayIndexOutOfBoundsException in DatabaseMetaDataTest when run in Soft Upgrade
mode
------------------------------------------------------------------------------------
Key: DERBY-4127
URL: https://issues.apache.org/jira/browse/DERBY-4127
Project: Derby
Issue Type: Bug
Components: Regression Test Failure
Affects Versions: 10.5.1.0
Environment: Windows Vista 64, Junit 3.8.2, Sun JDK 1.6.0_10
Reporter: Suran Jayathilaka
Priority: Critical
This bug was found when doing soft upgrade testing from Derby version 10.4.2.0
to 10.5.1.0 (RC1)
Steps followed are as follows.
1. Run setEmbeddedCP.bat from version 10.4.2.0's bin folder
2. In a test folder run ij
3. create system/wombat database.
ij> connect 'jdbc:derby:system/wombat;create=true';
4. exit ij
5. Copy the 10.5.1.0 derby jars (from lib folder) and the derbyTesting.jar from
10.4.2.0 to the test folder and set classpath with them (including junit and
ORO)
6. Run suites.All
java -Xmx512M -Xms512M -Dderby.tests.trace=true junit.textui.TestRunner
org.apache.derbyTesting.functionTests.suites.All
Result:
Tests run: 10479, Failures: 56, Errors: 34
The stack trace is as follows.
---------------------------------------------------------------------------------------------------------
21)
testGetColumnsReadOnly(org.apache.derbyTesting.functionTests.tests.jdbcapi.DatabaseMetaDataTest)java.lang.ArrayIndexOutOfBoundsException:
122
at org.apache.derby.client.net.NetCursor.readFdocaBytes(Unknown Source)
at org.apache.derby.client.net.NetCursor.parseSQLCAXGRP(Unknown Source)
at org.apache.derby.client.net.NetCursor.parseSQLCAGRP(Unknown Source)
at org.apache.derby.client.net.NetCursor.parseSQLCARD(Unknown Source)
at
org.apache.derby.client.net.NetCursor.calculateColumnOffsetsForRow_(Unknown
Source)
at org.apache.derby.client.am.Cursor.stepNext(Unknown Source)
at
org.apache.derby.client.net.NetCursor.scanDataBufferForEndOfData(Unknown Source)
at org.apache.derby.client.net.NetResultSet.preClose_(Unknown Source)
at org.apache.derby.client.am.ResultSet.closeX(Unknown Source)
at org.apache.derby.client.am.ResultSet.close(Unknown Source)
at
org.apache.derbyTesting.functionTests.tests.jdbcapi.DatabaseMetaDataTest.crossCheckGetColumnsAndResultSetMetaData(DatabaseMetaDataTest.java:1660)
at
org.apache.derbyTesting.functionTests.tests.jdbcapi.DatabaseMetaDataTest.testGetColumnsReadOnly(DatabaseMetaDataTest.java:1357)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at
org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:102)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
at junit.extensions.TestSetup.run(TestSetup.java:25)
at
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
at junit.extensions.TestSetup.run(TestSetup.java:25)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
at junit.extensions.TestSetup.run(TestSetup.java:25)
at
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
22)
testGetColumnsModify(org.apache.derbyTesting.functionTests.tests.jdbcapi.DatabaseMetaDataTest)java.lang.ArrayIndexOutOfBoundsException:
122
at org.apache.derby.client.net.NetCursor.readFdocaBytes(Unknown Source)
at org.apache.derby.client.net.NetCursor.parseSQLCAXGRP(Unknown Source)
at org.apache.derby.client.net.NetCursor.parseSQLCAGRP(Unknown Source)
at org.apache.derby.client.net.NetCursor.parseSQLCARD(Unknown Source)
at
org.apache.derby.client.net.NetCursor.calculateColumnOffsetsForRow_(Unknown
Source)
at org.apache.derby.client.am.Cursor.stepNext(Unknown Source)
at
org.apache.derby.client.net.NetCursor.scanDataBufferForEndOfData(Unknown Source)
at org.apache.derby.client.net.NetResultSet.preClose_(Unknown Source)
at org.apache.derby.client.am.ResultSet.closeX(Unknown Source)
at org.apache.derby.client.am.ResultSet.close(Unknown Source)
at
org.apache.derbyTesting.functionTests.tests.jdbcapi.DatabaseMetaDataTest.crossCheckGetColumnsAndResultSetMetaData(DatabaseMetaDataTest.java:1660)
at
org.apache.derbyTesting.functionTests.tests.jdbcapi.DatabaseMetaDataTest.testGetColumnsReadOnly(DatabaseMetaDataTest.java:1357)
at
org.apache.derbyTesting.functionTests.tests.jdbcapi.DatabaseMetaDataTest.testGetColumnsModify(DatabaseMetaDataTest.java:1374)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at
org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:102)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
at junit.extensions.TestSetup.run(TestSetup.java:25)
at
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
at junit.extensions.TestSetup.run(TestSetup.java:25)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
at junit.extensions.TestSetup.run(TestSetup.java:25)
at
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
----------------------------------------------------------------------------------
I did not see anything in the derby.log from the tests that seemed to be
related to this.
Note that this test passed when run by itself, and also when run after a couple
of failing tests (namely
org.apache.derbyTesting.functionTests.tests.jdbcapi.BlobClob4BlobTest and
org.apache.derbyTesting.functionTests.tests.jdbcapi.UpdatableResultSetTest)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.