RFR: 8257230: assert(InitialHeapSize >= MinHeapSize) failed: Ergonomics decided on incompatible initial and minimum heap sizes [v5]
Stefan Johansson
sjohanss at openjdk.java.net
Fri Dec 4 12:40:19 UTC 2020
On Fri, 4 Dec 2020 12:31:29 GMT, Jie Fu <jiefu at openjdk.org> wrote:
>> Hi all,
>>
>> Ergonomics for InitialHeapSize can be broken if the memory resource is limited by the administrator.
>> For example, this assert [1] fired on our testing boxes.
>>
>> It can be reproduced by the following two steps on Linux-64:
>> 1) ulimit -v 8388608
>> 2) java -XX:MinHeapSize=5g -version
>> The reason was that limit_by_allocatable_memory() [2] returns a value less than MinHeapSize.
>>
>> One more important fact is that this bug can be more common on Linux-32 systems.
>> Since the virtual memory is limited to 3800M [3] on Linux-32, it can be always reproduced when MinHeapSize > 1900M.
>>
>> Testing:
>> - tier1 ~ tier3 on Linux/x64
>>
>> Thanks.
>> Best regards,
>> Jie
>>
>> [1] https://github.com/openjdk/jdk/blob/master/src/hotspot/share/gc/shared/gcArguments.cpp#L96
>> [2] https://github.com/openjdk/jdk/blob/master/src/hotspot/share/runtime/arguments.cpp#L1907
>> [3] https://github.com/openjdk/jdk/blob/master/src/hotspot/os/posix/os_posix.cpp#L567
>
> Jie Fu has updated the pull request incrementally with one additional commit since the last revision:
>
> Check the exit status
This looks better. I'll run it through or testing env to make sure it passes there as well.
-------------
Marked as reviewed by sjohanss (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/1492
More information about the hotspot-runtime-dev
mailing list