ArrayIndexOutOfBoundsException followed by NullPointerException in cleanup
during system.nstest
------------------------------------------------------------------------------------------------
Key: DERBY-5422
URL: https://issues.apache.org/jira/browse/DERBY-5422
Project: Derby
Issue Type: Bug
Affects Versions: 10.8.2.1
Environment: Windows XP, with ibm 1.6 SR9 FP1
Reporter: Myrna van Lunteren
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
-------------------------------
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira