Derby
  1. Derby
  2. DERBY-5422

IndexOutOfBoundsException followed by NullPointerException in cleanup during system.nstest

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Cannot Reproduce
    • Affects Version/s: 10.9.1.0
    • Fix Version/s: None
    • Component/s: Test
    • Labels:
      None
    • Environment:
      Windows XP, with ibm 1.6 SR9 FP1
    • Urgency:
      Blocker
    • Bug behavior facts:
      Regression

      Description

      During the embedded NsTest system test on windows XP I saw the following in derby.log:

      Tue Sep 13 16:25:03 PDT 2011:
      Booting Derby version The Apache Software Foundation - Apache Derby - 10.8.2.1 - (1170221): instance b779ce27-0132-6516-81e1-000000312348
      on database directory D:\10.8.2.1\tst\restoredir\nstestdb with class loader sun.misc.Launcher$AppClassLoader@40504050
      Loaded from file:/D:/10.8.2.1/jars/derby.jar
      java.vendor=IBM Corporation
      java.runtime.version=jvmwi3260sr9-20110203_74623
      java.fullversion=JRE 1.6.0 IBM J9 2.4 Windows Server 2003 x86-32 jvmwi3260sr9-20110203_74623 (JIT enabled, AOT enabled)
      J9VM - 20110203_074623
      JIT - r9_20101028_17488ifx3
      GC - 20101027_AA
      user.dir=D:\10.8.2.1\tst
      derby.system.home=null
      New exception raised during cleanup Index: -1, Size: 15
      java.lang.IndexOutOfBoundsException: Index: -1, Size: 15
      at java.util.ArrayList.remove(ArrayList.java:552)
      at org.apache.derby.iapi.services.context.ContextManager.popContext(Unknown Source)
      at org.apache.derby.iapi.services.context.ContextImpl.popMe(Unknown Source)
      at org.apache.derby.impl.store.access.RAMTransaction.destroy(Unknown Source)
      at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.doRollback(Unknown Source)
      at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.internalRollback(Unknown Source)
      at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.cleanupOnError(Unknown Source)
      at org.apache.derby.iapi.services.context.ContextManager.cleanupOnError(Unknown Source)
      at org.apache.derby.impl.sql.catalog.SequenceUpdater.clearIdentity(Unknown Source)
      at org.apache.derby.impl.services.cache.ConcurrentCache.removeEntry(Unknown Source)
      at org.apache.derby.impl.services.cache.ConcurrentCache.ageOut(Unknown Source)
      at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.clearSequenceCaches(Unknown Source)
      at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.clearCaches(Unknown Source)
      at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.doneReading(Unknown Source)
      at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
      at org.apache.derby.impl.sql.GenericStatement.prepareStorable(Unknown Source)
      at org.apache.derby.iapi.sql.dictionary.SPSDescriptor.compileStatement(Unknown Source)
      at org.apache.derby.iapi.sql.dictionary.SPSDescriptor.prepareAndRelease(Unknown Source)
      at org.apache.derby.iapi.sql.dictionary.SPSDescriptor.getPreparedStatement(Unknown Source)
      at org.apache.derby.iapi.sql.dictionary.SPSDescriptor.getPreparedStatement(Unknown Source)
      at org.apache.derby.impl.sql.execute.GenericTriggerExecutor.executeSPS(Unknown Source)
      at org.apache.derby.impl.sql.execute.RowTriggerExecutor.fireTrigger(Unknown Source)
      at org.apache.derby.impl.sql.execute.TriggerEventActivator.notifyEvent(Unknown Source)
      at org.apache.derby.impl.sql.execute.DeleteResultSet.fireAfterTriggers(Unknown Source)
      at org.apache.derby.impl.sql.execute.DeleteResultSet.open(Unknown Source)
      at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(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.EmbedPreparedStatement.executeUpdate(Unknown Source)
      at org.apache.derbyTesting.system.nstest.utils.DbUtil.delete_one_row(DbUtil.java:452)
      at org.apache.derbyTesting.system.nstest.tester.TesterObject.doIUDOperation(TesterObject.java:175)
      at org.apache.derbyTesting.system.nstest.tester.Tester1.startTesting(Tester1.java:118)
      at org.apache.derbyTesting.system.nstest.NsTest.run(NsTest.java:551)
      Cleanup action completed
      New exception raised during cleanup null
      java.lang.NullPointerException
      at org.apache.derby.impl.sql.compile.CompilerContextImpl.initRequiredPriv(Unknown Source)
      at org.apache.derby.impl.sql.compile.CompilerContextImpl.resetContext(Unknown Source)
      at org.apache.derby.impl.sql.compile.CompilerContextImpl.cleanupOnError(Unknown Source)
      at org.apache.derby.iapi.services.context.ContextManager.cleanupOnError(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.cleanupOnError(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
      at org.apache.derby.impl.jdbc.ConnectionChild.handleException(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.EmbedPreparedStatement.executeUpdate(Unknown Source)
      at org.apache.derbyTesting.system.nstest.utils.DbUtil.delete_one_row(DbUtil.java:452)
      at org.apache.derbyTesting.system.nstest.tester.TesterObject.doIUDOperation(TesterObject.java:175)
      at org.apache.derbyTesting.system.nstest.tester.Tester1.startTesting(Tester1.java:118)
      at org.apache.derbyTesting.system.nstest.NsTest.run(NsTest.java:551)
      Tue Sep 13 16:25:12 PDT 2011 Thread[Thread 1,5,main] Equally severe exception raised during cleanup (ignored) null
      java.lang.NullPointerException
      at org.apache.derby.impl.sql.compile.CompilerContextImpl.initRequiredPriv(Unknown Source)
      at org.apache.derby.impl.sql.compile.CompilerContextImpl.resetContext(Unknown Source)
      at org.apache.derby.impl.sql.compile.CompilerContextImpl.cleanupOnError(Unknown Source)
      at org.apache.derby.iapi.services.context.ContextManager.cleanupOnError(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.cleanupOnError(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
      at org.apache.derby.impl.jdbc.ConnectionChild.handleException(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.EmbedPreparedStatement.executeUpdate(Unknown Source)
      at org.apache.derbyTesting.system.nstest.utils.DbUtil.delete_one_row(DbUtil.java:452)
      at org.apache.derbyTesting.system.nstest.tester.TesterObject.doIUDOperation(TesterObject.java:175)
      at org.apache.derbyTesting.system.nstest.tester.Tester1.startTesting(Tester1.java:118)
      at org.apache.derbyTesting.system.nstest.NsTest.run(NsTest.java:551)
      Cleanup action completed

      It appears this caused the Tester1 thread to loose the connection:
      ---------------------
      Tester1Thread 1 dbUtil ----> During failure to execute delete stmt, exception thrown was : java.sql.SQLTransactionRollbackException: An internal error was identified by RawStore module.
      TObj -->At this point - executing delete_one_row(), exception thrown was : No current connection.
      java.sql.SQLNonTransientConnectionException: No current connection.
      at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.noCurrentConnection(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.checkIfClosed(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.setupContextStack(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
      at org.apache.derbyTesting.system.nstest.utils.DbUtil.add_one_row(DbUtil.java:96)
      at org.apache.derbyTesting.system.nstest.tester.TesterObject.doIUDOperation(TesterObject.java:148)
      at org.apache.derbyTesting.system.nstest.tester.Tester1.startTesting(Tester1.java:118)
      at org.apache.derbyTesting.system.nstest.NsTest.run(NsTest.java:551)
      Caused by: java.sql.SQLException: No current connection.
      at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
      ... 12 more
      -------------------------------

      1. derby1.log
        754 kB
        Mamta A. Satoor
      2. derby2.log
        507 kB
        Mamta A. Satoor
      3. DERBY5422_diff_patch1.txt
        2 kB
        Mamta A. Satoor
      4. run2.jar
        194 kB
        Myrna van Lunteren
      5. run7.jar
        17 kB
        Myrna van Lunteren

        Issue Links

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              Myrna van Lunteren
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development