[
https://issues.apache.org/jira/browse/DERBY-6504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14012487#comment-14012487
]
Myrna van Lunteren commented on DERBY-6504:
-------------------------------------------
I'm trying to address the comments, but I am confused...
When I add the Exception, like so (see the arrow ==>):
try {
throw (new ArrayIndexOutOfBoundsException());
// System.arraycopy(
// epage, BORROWED_SPACE_OFFSET+BORROWED_SPACE_LEN,
// containerInfo, 0, N);
} catch (ArrayIndexOutOfBoundsException ioobe) {
throw StandardException.newException(
SQLState.UNABLE_TO_ARRAYCOPY,
==> ioobe,
epage.length, containerInfo.length,
MAX_BORROWED_SPACE,
BORROWED_SPACE_OFFSET,
BORROWED_SPACE_LEN,
BORROWED_SPACE_OFFSET + BORROWED_SPACE_LEN,
N,
org.apache.derby.iapi.util.StringUtil.hexDump(epage)
);
}
The output no longer reflects my new message...
I will investigate this further, perhaps it's hitting the error somewhere else,
but this *is* how it's supposed to look?
> 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: 10.6.1.0, 10.8.2.2
> 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
(v6.2#6252)