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