Integrated: 8257230: assert(InitialHeapSize >= MinHeapSize) failed: Ergonomics decided on incompatible initial and minimum heap sizes

Jie Fu jiefu at openjdk.java.net
Mon Dec 7 09:30:17 UTC 2020


On Sat, 28 Nov 2020 13:08:38 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

This pull request has now been integrated.

Changeset: 7620124e
Author:    Jie Fu <jiefu at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/7620124e
Stats:     62 lines in 2 files changed: 60 ins; 2 del; 0 mod

8257230: assert(InitialHeapSize >= MinHeapSize) failed: Ergonomics decided on incompatible initial and minimum heap sizes

Reviewed-by: tschatzl, sjohanss

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

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



More information about the hotspot-gc-dev mailing list