-
Bug
-
Resolution: Fixed
-
P2
-
11, 17, 21, 22, 23
-
b15
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8331297 | 22.0.2 | Aleksey Shipilev | P2 | Closed | Fixed | b05 |
JDK-8342894 | 21.0.7-oracle | Thomas Schatzl | P2 | Resolved | Fixed | master |
JDK-8331309 | 21.0.4 | Aleksey Shipilev | P2 | Resolved | Fixed | b01 |
JDK-8331308 | 17.0.12 | Aleksey Shipilev | P2 | Resolved | Fixed | b01 |
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`)
The corresponding test case is shown below.
```
package gc.epsilon;
/**
* @test TestEnoughUnusedSpace
* @requires vm.gc.Epsilon
* @summary Epsilon should allocates object successfully if it has enough space.
* @run main/othervm -XX:InitialHeapSize=64M -Xmx128M -XX:+UnlockExperimentalVMOptions
* -XX:+UseEpsilonGC gc.epsilon.TestEnoughUnusedSpace
*/
public class TestEnoughUnusedSpace {
public static void main(String[] args) {
byte[] arr = new byte[90 * 1024 * 1024];
System.out.println(arr.length);
}
}
```
- backported by
-
JDK-8331308 Epsilon: Premature OOM when allocating object larger than uncommitted heap size
- Resolved
-
JDK-8331309 Epsilon: Premature OOM when allocating object larger than uncommitted heap size
- Resolved
-
JDK-8342894 Epsilon: Premature OOM when allocating object larger than uncommitted heap size
- Resolved
-
JDK-8331297 Epsilon: Premature OOM when allocating object larger than uncommitted heap size
- Closed
- relates to
-
JDK-8328166 Epsilon: 'EpsilonHeap::allocate_work' misuses the parameter 'size' as size in bytes
- Closed
- links to
-
Commit openjdk/jdk17u-dev/51502b9c
-
Commit openjdk/jdk21u-dev/75ac9e85
-
Commit openjdk/jdk22u/0f4bc657
-
Commit openjdk/jdk/7baec662
-
Review openjdk/jdk17u-dev/2430
-
Review openjdk/jdk21u-dev/518
-
Review openjdk/jdk22u/163
-
Review openjdk/jdk/18304