RFR 8163969: Cyclic interface initialization causes JVM crash

Coleen Phillimore coleen.phillimore at oracle.com
Mon Sep 19 20:03:53 UTC 2016



On 9/19/16 2:46 AM, David Holmes wrote:
> Hi Coleen,
>
> As per our extensive emails discussions this looks good to me.

Thanks David and thank you for the consultation!
>
> One query:
>
>   bool InstanceKlass::link_class_impl(
>       instanceKlassHandle this_k, bool throw_verifyerror, TRAPS) {
> !   // check for error state. This is checking for the wrong state.
> !   // If initialization_error, then this class *was* linked.
>
> I'm assuming you are just flagging this for now and it will be fixed 
> later.

Yes, I filed a bug on this.

>
> One comment - in a fix I am working on 
> has_default_methods/declares_default_methods will be renamed to 
> has_nonstatic_concrete_methods/declares_nonstatic_concrete_methods as 
> the use of the word "default" is inappropriate in those contexts as it 
> applies to both default method and private interface methods.

Yes, understood, the new names seem fine.

Thanks!
Coleen
>
> Thanks,
> David
>
> On 17/09/2016 1:22 AM, Coleen Phillimore wrote:
>> Summary: Fix interface initialization to follow spec: interface
>> initializations do not set initialization state of interfaces that
>> extend them.
>>
>> Tested with: all hotspot jtreg tests, co-located nsk tests,
>> non-colocated nsk tests, and jck tests.
>>
>> open webrev at http://cr.openjdk.java.net/~coleenp/8163969.01/webrev
>> bug link https://bugs.openjdk.java.net/browse/JDK-8163969
>>
>> Thanks,
>> Coleen



More information about the hotspot-runtime-dev mailing list