RFR 8163969: Cyclic interface initialization causes JVM crash

Lois Foltan lois.foltan at oracle.com
Tue Sep 20 19:00:42 UTC 2016

Hi Coleen,

Code looks good.  Can you just improve upon this comment below, 
InstanceKlass::link_class_impl, to describe who relies on this erroneous 
check currently and why it can't be removed as part of your fix.


On 9/19/2016 2:46 AM, David Holmes wrote:
> Hi Coleen,
> As per our extensive emails discussions this looks good to me.
> 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.
> 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.
> 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