[
https://issues.apache.org/jira/browse/DERBY-2783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mike Matrigali updated DERBY-2783:
----------------------------------
Component/s: SQL
> corrupt metadata leads to null pointer exception when trying to build table
> descriptor.
> ---------------------------------------------------------------------------------------
>
> Key: DERBY-2783
> URL: https://issues.apache.org/jira/browse/DERBY-2783
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.2.2.0
> Reporter: Mike Matrigali
> Priority: Minor
>
> While trying to data mine a corrupted database got null pointer exceptions
> followed by RawStore module error on all subsequent calls. I don't have the
> database so the following description is just a guess at what is happening
> based on the provided stack trace and looking at the code.
> My guess is that the metadata is corrupted in some way such that an index to
> base table lookup of the metadata does not find a row. This would lead to
> the code in DataDictionaryImpl.getDescriptorViaIndex() maybe getting no rows
> back from the call to:
> {
> base_row_exists =
> heapCC.fetch(
> baseRowLocation, outRow.getRowArray(),
> (FormatableBitSet
> ) null);
> }
> The current code does a bunch of checking in SANE code for base_row_exists,
> but does not check at all in insane code. The code should
> throw an exception if base_row_exists is false.
> What I think is happening is that code then try's to initialize the
> descriptor based on a row that never got read. This eventually lead to
> a call to create a UUID based on a string which is null, and StringReader x =
> new StringReader(null); results in a null pointer exception.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.