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

          Myrna van Lunteren created issue -
          Rick Hillegas made changes -
          Field Original Value New Value
          Link This issue relates to DERBY-5423 [ DERBY-5423 ]
          Myrna van Lunteren made changes -
          Summary ArrayIndexOutOfBoundsException followed by NullPointerException in cleanup during system.nstest IndexOutOfBoundsException followed by NullPointerException in cleanup during system.nstest
          Myrna van Lunteren made changes -
          Attachment run7.jar [ 12497101 ]
          Attachment run2.jar [ 12497102 ]
          Myrna van Lunteren made changes -
          Urgency Blocker [ 10050 ]
          Mike Matrigali made changes -
          Link This issue is related to DERBY-4377 [ DERBY-4377 ]
          Mike Matrigali made changes -
          Link This issue is related to DERBY-4377 [ DERBY-4377 ]
          Mike Matrigali made changes -
          Link This issue is related to DERBY-4437 [ DERBY-4437 ]
          Mike Matrigali made changes -
          Comment [ Without a good reproducible test case it hard to be sure, but it seems likely that this bug is caused by DERBY-4377. Given that Sequence cache cleanup is in the error stack, seems likely that using the sequence cache for identity generation is the problem. I don't think there are any sequences currently in the nstest.

          I assume the problem is some bad error handling after some other error. ]
          Rick Hillegas made changes -
          Link This issue is related to DERBY-5448 [ DERBY-5448 ]
          Myrna van Lunteren made changes -
          Affects Version/s 10.8.2.2 [ 12317968 ]
          Affects Version/s 10.8.2.1 [ 12317957 ]
          Mamta A. Satoor made changes -
          Attachment DERBY5422_diff_patch1.txt [ 12501158 ]
          Mamta A. Satoor made changes -
          Attachment derby1.log [ 12502008 ]
          Mamta A. Satoor made changes -
          Attachment derby2.log [ 12502009 ]
          Rick Hillegas made changes -
          Link This issue is related to DERBY-5495 [ DERBY-5495 ]
          Myrna van Lunteren made changes -
          Affects Version/s 10.9.0.0 [ 12316344 ]
          Affects Version/s 10.8.2.2 [ 12317968 ]
          Mike Matrigali made changes -
          Component/s Test [ 11413 ]
          Myrna van Lunteren made changes -
          Priority Major [ 3 ] Critical [ 2 ]
          Myrna van Lunteren made changes -
          Link This issue relates to DERBY-5661 [ DERBY-5661 ]
          Kathey Marsden made changes -
          Link This issue relates to DERBY-5671 [ DERBY-5671 ]
          Myrna van Lunteren made changes -
          Status Open [ 1 ] Closed [ 6 ]
          Resolution Cannot Reproduce [ 5 ]
          Gavin made changes -
          Workflow jira [ 12633666 ] Default workflow, editable Closed status [ 12801168 ]

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development