db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Myrna van Lunteren (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-5422) IndexOutOfBoundsException followed by NullPointerException in cleanup during system.nstest
Date Thu, 29 Sep 2011 21:59:46 GMT

    [ https://issues.apache.org/jira/browse/DERBY-5422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13117649#comment-13117649
] 

Myrna van Lunteren commented on DERBY-5422:
-------------------------------------------

I still see this issue show up, even after the changes for DERBY-5423/5426.

Even before, Rick, I wonder how you deduced this was fall out from the error seen in DERBY-5423?
Even in my first report, the first error X0Y84 showed up later and in another Tester objects
threads (and, well, the Tester object that sees the IndexOutOfBoundsException lost the connection,
so could not do anything to get any X0Y84 errors).

I have only once run with derby.language.sequence.preallocator=200, and that time I didn't
see the error, but I've also run it without any properties for a couple of days and not seen
the error also.
My most recent run was to experiment with another variation of modification to the tests,
and I saw the error again.
So, it's quite intermittent.

The bothersome part about this is that the connection gets dropped for the Tester who gets
this error.
I think that is worrying.

I can modify the test to make the Tester object stop processing once this error is seen, or
perhaps, only perform the offending task (it seems to be any of the methods DbUtil.update_one_row,
DbUtil.add_one_row, DbUtil.delete_one_row, called from TesterObject.doIUDOperation can run
into the 'no current connection' trouble. We get more of a stack trace with DbUtil.add_one_row.

But the problem remains...

                
> IndexOutOfBoundsException 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.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message