You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Kathey Marsden (Commented) (JIRA)" <ji...@apache.org> on 2012/04/06 23:26:22 UTC
[jira] [Commented] (DERBY-5685)
java.lang.ArrayIndexOutOfBoundsException in
BTreeForwardScan.fetchRows(BTreeForwardScan.java:235) on Z/Os
[ https://issues.apache.org/jira/browse/DERBY-5685?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13248881#comment-13248881 ]
Kathey Marsden commented on DERBY-5685:
---------------------------------------
Below are some comments from Mik
the calling code is this:
{
boolean ret_val;
// Turn this call into a group fetch of a 1 element group.
fetchNext_one_slot_array[0] = row;
ret_val =
fetchRows(
scan_position,
fetchNext_one_slot_array,
(RowLocation[]) null,
(BackingStoreHashtable) null,
1,
(int[]) null) == 1;
return(ret_val);
}
the 1 there is the size of array, and note that we access that slot in this routine.
at line 235 we have
:if (row_array[ret_row_count] == null)
where row_array is the passed parameter.
Probably something weird is happening with the ret_row_count arg
> java.lang.ArrayIndexOutOfBoundsException in BTreeForwardScan.fetchRows(BTreeForwardScan.java:235) on Z/Os
> ---------------------------------------------------------------------------------------------------------
>
> Key: DERBY-5685
> URL: https://issues.apache.org/jira/browse/DERBY-5685
> Project: Derby
> Issue Type: Bug
> Components: Store
> Affects Versions: 10.5.3.2
> Environment: - Apache Derby - 10.5.3.2 - (1083356)
> z/OS 64 bit
> java.vendor=IBM Corporation
> java.runtime.version=pmz6460_26sr1fp1-20120309_01 (SR1 FP1)
> java.fullversion=JRE 1.6.0 IBM J9 2.6 z/OS s390x-64 20120308_104898 (JIT enabled, AOT enabled)
> J9VM - R26_Java626_SR1_FP1_20120308_1511_B104898
> JIT - r11_20111028_21230ifx5
> GC - R26_Java626_SR1_FP1_20120308_1511_B104898
> J9CL - 20120308_104898
> Reporter: Kathey Marsden
>
> On Z/os the following intermittent ArrayIndexOutOfBounds exception is being seen executing a query.
> SELECT TASKID, VERSION,ROW_VERSION, TASKTYPE, TASKSUSPENDED, CANCELLED, NEXTFIRETIME, STARTBYINTERVAL, STARTBYTIME, VALIDFROMTIME, VALIDTOTIME, REPEATINTERVAL, MAXREPEATS, REPEATSLEFT, TASKINFO, NAME, AUTOPURGE, FAILUREACTION, MAXATTEMPTS, QOS, PARTITIONID, CREATETIME from RELEASE.WPS_SCDTASK where ((NEXTFIRETIME < ?) AND (REPEATSLEFT <> 0) AND (CANCELLED = 0) AND (TASKSUSPENDED in (0, 4, 8, 12)) AND (((PARTITIONID >= 5 AND PARTITIONID <= 4100) OR (PARTITIONID IN (1, 2, 3, 4))))) ORDER BY NEXTFIRETIME ASC with 1 parameters begin parameter #1: 1333683143093 :end parameter
> java.lang.ArrayIndexOutOfBoundsException
> at org.apache.derby.impl.store.access.btree.BTreeForwardScan.fetchRows(BTreeForwardScan.java:235)
> at org.apache.derby.impl.store.access.btree.BTreeScan.fetchNext(BTreeScan.java:1503)
> at org.apache.derby.impl.sql.execute.TableScanResultSet.getNextRowCore(TableScanResultSet.java:577)
> at org.apache.derby.impl.sql.execute.IndexRowToBaseRowResultSet.getNextRowCore(IndexRowToBaseRowResultSet.java:373)
> at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(ProjectRestrictResultSet.java:268)
> at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.getNextRow(BasicNoPutResultSetImpl.java:466)
> at org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(EmbedResultSet.java:428)
> at org.apache.derby.impl.jdbc.EmbedResultSet.next(EmbedResultSet.java:372)
> <snip non-derby part of trace>
> After that every attempt to get a connection fails because just making the connection does some sort of query checking user credentials.
> 2012-04-06 03:32:13.723 GMT Thread[Non-deferrable Alarm : 0,5,main] (XID = 176924), (SESSIONID = 12), (DATABASE = /WebSphere/1/AppServer/profiles/default/PortalServer/derby/wpsdb), (DRDAID = null), Cleanup action starting
> java.lang.ArrayIndexOutOfBoundsException
> at org.apache.derby.impl.store.access.btree.BTreeForwardScan.fetchRows(BTreeForwardScan.java:235)
> at org.apache.derby.impl.store.access.btree.BTreeScan.fetchNext(BTreeScan.java:1503)
> at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getDescriptorViaIndexMinion(DataDictionaryImpl.java:8713)
> at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getDescriptorViaIndex(DataDictionaryImpl.java:8637)
> at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.locateSchemaRow(DataDictionaryImpl.java:1618)
> at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getSchemaDescriptor(DataDictionaryImpl.java:1485)
> at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.initDefaultSchemaDescriptor(GenericLanguageConnectionContext.java:376)
> at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.initialize(GenericLanguageConnectionContext.java:352)
> at org.apache.derby.impl.db.BasicDatabase.setupConnection(BasicDatabase.java:309)
> at org.apache.derby.impl.jdbc.TransactionResourceImpl.startTransaction(TransactionResourceImpl.java:188)
> at org.apache.derby.impl.jdbc.EmbedConnection.checkUserIsNotARole(EmbedConnection.java:1179)
> at org.apache.derby.impl.jdbc.EmbedConnection.checkUserCredentials(EmbedConnection.java:1143)
> at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:411)
> at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:73)
> at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(EmbedConnection40.java:54)
> at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Driver40.java:68)
> at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:238)
> at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSource.java:479)
> at org.apache.derby.jdbc.EmbedPooledConnection.openRealConnection(EmbedPooledConnection.java:169)
> at org.apache.derby.jdbc.EmbedPooledConnection.<init>(EmbedPooledConnection.java:110)
> at org.apache.derby.jdbc.EmbedXAConnection.<init>(EmbedXAConnection.java:53)
> at org.apache.derby.jdbc.EmbedXAConnection40.<init>(EmbedXAConnection40.java:58)
> at org.apache.derby.jdbc.Driver40.getNewXAConnection(Driver40.java:189)
> at org.apache.derby.jdbc.EmbeddedXADataSource.createXAConnection(EmbeddedXADataSource.java:233)
> at org.apache.derby.jdbc.EmbeddedXADataSource.getXAConnection(EmbeddedXADataSource.java:103)
> <snip non-derby part of stack trace>
> I suspect this is a JIT issue, so this will probably be closed invalid once that is tracked down.
--
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