Derby
  1. Derby
  2. DERBY-4127

ArrayIndexOutOfBoundsException in DatabaseMetaDataTest when run in Soft Upgrade mode

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 10.5.1.1
    • Component/s: Test
    • Labels:
      None
    • Environment:
      Windows Vista 64, Junit 3.8.2, Sun JDK 1.6.0_10
    • Urgency:
      Urgent
    • Bug behavior facts:
      Regression Test Failure

      Description

      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)

      1. Test4127.java
        1 kB
        Rick Hillegas
      2. derby-4127-aa-01-refactorPrivs.diff
        33 kB
        Rick Hillegas

        Issue Links

          Activity

          Suran Jayathilaka created issue -
          Dag H. Wanvik made changes -
          Field Original Value New Value
          Priority Critical [ 2 ] Blocker [ 1 ]
          Rick Hillegas made changes -
          Attachment Test4127.java [ 12405001 ]
          Rick Hillegas made changes -
          Assignee Rick Hillegas [ rhillegas ]
          Rick Hillegas made changes -
          Attachment derby-4127-aa-01-refactorPrivs.diff [ 12405163 ]
          Rick Hillegas made changes -
          Derby Info [Regression] [Patch Available, Regression]
          Rick Hillegas made changes -
          Link This issue is related to DERBY-4157 [ DERBY-4157 ]
          Rick Hillegas made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Myrna van Lunteren made changes -
          Fix Version/s 10.5.1.1 [ 12313771 ]
          Derby Info [Regression, Patch Available] [Regression]
          Myrna van Lunteren made changes -
          Affects Version/s 10.5.1.0 [ 12313770 ]
          Rick Hillegas made changes -
          Link This issue incorporates DERBY-4215 [ DERBY-4215 ]
          Dag H. Wanvik made changes -
          Component/s Regression Test Failure [ 12310664 ]
          Dag H. Wanvik made changes -
          Component/s Test [ 11413 ]
          Dag H. Wanvik made changes -
          Bug behavior facts [Regression Test Failure] [Regression]
          Dag H. Wanvik made changes -
          Bug behavior facts [Regression] [Regression Test Failure]
          Kathey Marsden made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Gavin made changes -
          Workflow jira [ 12457563 ] Default workflow, editable Closed status [ 12801662 ]

            People

            • Assignee:
              Rick Hillegas
              Reporter:
              Suran Jayathilaka
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development