RFR(S): 8200078: [Graal] runtime/appcds/GraalWithLimitedMetaspace.java crashes in visit_all_interfaces

Calvin Cheung calvin.cheung at oracle.com
Thu Mar 29 21:11:56 UTC 2018

On 3/29/18, 1:27 PM, mikhailo wrote:
> The test portion looks good to me.
Thanks for taking a look.
> I have one question - are you able to reliably reproduce this issue 
> using GraalWithLimitedMetaspace.java
I could reproduce it fairly easily on macosx.
On linux-x64 out of 30+ runs, I've seen it passed (CDS dump finished 
sucessfully) once. That's why I've added checking exitValue of 0.
> or MaxMetaspaceSize.java ?
Yes, this one reproduces with small metaspace size in CDS mode not 
involving Graal.
This test should be very reliable or we will see failure in hs-tier1 
The change is for adjusting the expected output because CDS dump will 
fail earlier upon OOM.

> Thank you,
> Misha
> On 03/29/2018 10:49 AM, Calvin Cheung wrote:
>> bug: https://bugs.openjdk.java.net/browse/JDK-8200078
>> webrev: http://cr.openjdk.java.net/~ccheung/8200078/webrev.00/
>> During CDS dumping, when a class fails to load due to OOM 
>> (insufficient metaspace), GC tries to free the class which will in 
>> turn frees its _transitive_interfaces. But if the 
>> _transitive_interfaces is being shared with another class which has 
>> been loaded successfully, it will result in vm crash.
>> The change is to stop CDS dumping right away when an OOM due to 
>> insufficient metaspace is encountered.
>> Testing:
>>     hs-tier1 through hs-tiers on Oracle supported platforms.
>> thanks,
>> Calvin

More information about the hotspot-runtime-dev mailing list