RFR(10)(XXS): 8175341: "java/util/Arrays/ParallelPrefix.java" Crash Internal Error ...diagnosticCommand.cpp...assert(k != __null) failed: FinalizerHistogram class is not accessible

David Holmes david.holmes at oracle.com
Tue Mar 7 01:58:21 UTC 2017


On 7/03/2017 11:51 AM, David Holmes wrote:
> Hi Chris,
>
> On 7/03/2017 10:57 AM, Chris Plummer wrote:
>> Hi,
>>
>> Please review the following simple fix. Explanation of the cause and the
>> fix are in the CR. Testing so far has only been done with
>> serviceability/dcmd/gc/FinalizerInfoTest.java as described in the CR. I
>> think the addition of JPRT push testing will be sufficient.
>>
>> http://cr.openjdk.java.net/~cjplummer/8175341/webrev.00/webrev.hotspot/
>> https://bugs.openjdk.java.net/browse/JDK-8175341
>
> Looking at the other potentially-exception-throwing actions in that DCmd
> and others, I think a simple delete of the assert and change:
>
>  425     vmSymbols::finalizer_histogram_klass(), THREAD);
>
> to
>
>  425     vmSymbols::finalizer_histogram_klass(), CHECK);
>
> would suffice. Something upstream has to handle potential errors and the
> pending exception in any case.

Oops! This explains why no exception:

424   Klass* k = SystemDictionary::resolve_or_null(
  425     vmSymbols::finalizer_histogram_klass(), THREAD);

it uses resolve_or_null, not resolve_or_fail! I think it should use the 
latter and simply throw like the other Dcmds.

David

> Thanks,
> David
>
>> thanks,
>>
>> Chris
>>


More information about the serviceability-dev mailing list