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

Ioi Lam ioi.lam at oracle.com
Thu Mar 29 21:26:19 UTC 2018



> On Mar 29, 2018, at 2:19 PM, mikhailo <mikhailo.seledtsov at oracle.com> wrote:
> 
> 
> 
>> 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.
> 
> 

The bugs is also sensitive to the initialization sequence of the Graal code. At one point I could reproduce 100% on Linux-x64, but after a recent repo update I could no longer reproduce

Thanks
Ioi


> Thank you,
> Misha
>> 
>> 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