RFR: 8328168: Epsilon: Premature OOM when allocating object larger than uncommitted heap size [v3]

Guoxiong Li gli at openjdk.org
Fri Mar 15 13:27:13 UTC 2024


> Hi all,
> 
> When an object size meets the following three conditions, the allocation will fail unexpectedly.
> 
> 1. `object_size` > `uncommitted_size`
> 2. `object_size` > `committed_but_unused_size`
> 3. `object_size` < `unused_size` (`unused_size` equals `uncommitted_size + committed_but_unused_size`)
> 
> Please read the newly added test of this patch for the concrete case.
> 
> Thanks for taking the time to review.
> 
> Best Regrads,
> -- Guoxiong

Guoxiong Li has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:

 - Merge branch 'master' into FAILED-ALLOCATION
   
   # Conflicts:
   #	src/hotspot/share/gc/epsilon/epsilonHeap.cpp
 - Adjust test.
 - Add assert statement.
 - Merge branch 'master' into FAILED-ALLOCATION
 - JDK-8328168
 - JDK-8328166

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/18304/files
  - new: https://git.openjdk.org/jdk/pull/18304/files/5c99942d..9f1c0b28

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18304&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18304&range=01-02

  Stats: 2532 lines in 26 files changed: 1297 ins; 1181 del; 54 mod
  Patch: https://git.openjdk.org/jdk/pull/18304.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18304/head:pull/18304

PR: https://git.openjdk.org/jdk/pull/18304


More information about the hotspot-gc-dev mailing list