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

mikhailo mikhailo.seledtsov at oracle.com
Thu Mar 29 21:46:41 UTC 2018


OK, thank you for answering my questions.


Misha


On 03/29/2018 02:28 PM, Calvin Cheung wrote:
>
>
> On 3/29/18, 2:19 PM, mikhailo 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.
> As I mentioned above, the GraalWithLimitedMetaspace.java can be used 
> to reproduce the issue. One needs to enable Graal as described in the 
> bug report, i.e. to run it with jtreg, one needs to pass the following 
> option:
> -vmoption:-XX:MaxRAMPercentage=10 -XX:+UnlockExperimentalVMOptions 
> -XX:+EnableJVMCI -XX:+TieredCompilation -XX:+UseJVMCICompiler 
> -Djvmci.Compiler=graal
>
> So I don't think the noreg-hard label is needed for this bug.
>
> thanks,
> Calvin
>>
>>
>> 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