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

mikhailo mikhailo.seledtsov at oracle.com
Thu Mar 29 21:19:25 UTC 2018

On 03/29/2018 02:11 PM, Calvin Cheung wrote:
> 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 
> testing.
> The change is for adjusting the expected output because CDS dump will 
> fail earlier upon OOM.
The reason I asked this question is: if we are unable to reliably 
reproduce the issue with existing tests (that is not a 100% reproduction 
rate), I'd recommend consider creating a regression test specific for 
this issue, if such test is possible. Could be a simple test that limits 
metaspace size so much that it is 100% reproduced. However, I understand 
if this is a timing issue, it may not be an easy test case to create. If 
so, please put a noreg-hard label on the bug, and add a short comment 
with explanation.

Thank you,
> thanks,
> Calvin
>> 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