RFR: 8267404: vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java failed with OutOfMemoryError [v2]

Thomas Stuefe stuefe at openjdk.java.net
Fri May 21 14:44:08 UTC 2021


On Fri, 21 May 2021 14:01:13 GMT, Jie Fu <jiefu at openjdk.org> wrote:

>> Hi all,
>> 
>> vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java OOMEs on Oracle's aarch64 platforms.
>> The reason is that both -Xmx and -XX:MetaspaceSize are not enough.
>> 
>> From the original JBS decription of JDK-8267404, the VM OOMEs before the expected OOME in metaspace happened showing that -Xmx256m is not enough.
>> 
>> Then, @dcubed-ojdk helped me test with -Xmx512, which still OOMEs.
>> However, the expected OOME in metaspace was caught this time.
>> But a second uncaught OOME in metaspace happened soon, which means -XX:MetaspaceSize=8m is not enough.
>> 
>> So both -Xmx and -XX:MetaspaceSize should be increased.
>> The fix just:
>>   - Revert changes about mataspace size setting
>>   - Increase -Xmx from 256m to 1g
>> 
>> -Xmx512m may be OK on Oracle's aarch64 machines, but to make it safer, -Xmx1g is preferred.
>> 
>> Thanks.
>> Best regards,
>> Jie
>
> Jie Fu has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Rewrite the test with ProcessBuilder

Seems fine. I can confirm this working with x86 and x64.

The MaxMetaspaceSize feels a bit on the low side - I would prefer a somewhat increased value of maybe 512k or 1m. Just to get the VM rolling a bit before OOMing out. I tested 1m for both 32bit and 64bit, seems to work too.

But I leave it up to you, this is fine too. Just please make sure other platforms work with this setting, esp. arm32 and aarch64.

(I'm on vacation and won't be able to look at this for the next two weeks).

If nobody uses AnonkTestee01 anymore, that class can be removed.

Cheers, Thomas

-------------

Marked as reviewed by stuefe (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/4140


More information about the hotspot-runtime-dev mailing list