db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Myrna van Lunteren (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-6504) change AllocPage.ReadContainerInfo to catch ArrayIndexOutOfBoundsException and turn it into Derby error.
Date Thu, 29 May 2014 20:49:02 GMT

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

Myrna van Lunteren commented on DERBY-6504:

The output was from a junit test wrapping around an old sql test; I ran a modified version
of StoreScriptsTest with only the sql Rllmodule active. Without the exception in the NewException()
call, the XSDG4 error shows up in the errorStackTrace.out and derby.log. With the Exception
repeated in the NewException() call, I only get an ArrayIndexOutOfBoundsException, as if the
catch is doing nothing...

I note that most of the error conditions in AllocPage are wrapping the newException in a markCorrupt
call, but that didn't seem to make a difference...
Maybe it's because of the artificial way I am forcing an ArrayIndexOutOfBoundsException.

I'll do some further research.

> change AllocPage.ReadContainerInfo to catch ArrayIndexOutOfBoundsException and turn it
into Derby error.
> --------------------------------------------------------------------------------------------------------
>                 Key: DERBY-6504
>                 URL: https://issues.apache.org/jira/browse/DERBY-6504
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions:,
>            Reporter: Mike Matrigali
>            Assignee: Myrna van Lunteren
>         Attachments: DERBY-6504.diff
> Users have reported databases that will not boot with stack traces showing:
> Caused by: java.lang.ArrayIndexOutOfBoundsException
> at java.lang.System.arraycopy(Native Method)
> at org.apache.derby.impl.store.raw.data.AllocPage.ReadContainerInfo(Unknown Source)
> at org.apache.derby.impl.store.raw.data.FileContainer.readHeader(Unknown Source)
> I suggest the code be changed to catch the out of bounds and turn it
> into a StandardException and include as much runtime information as
> possible so that the underlying problem can be diagnosed.  Information
> should include sizes of both arrays, the amount of data being copied ("N"),
> and possibly a hex dump of the source array.

This message was sent by Atlassian JIRA

View raw message