-
Bug
-
Resolution: Fixed
-
P4
-
17, 21, 22
-
b15
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8316134 | 21.0.2 | William Kemper | P4 | Resolved | Fixed | b02 |
If you run existing tier1 tests with Shenandoah, then this would show up:
```
% CONF=macosx-aarch64-server-fastdebug make test TEST=runtime/ClassInitErrors/TestOutOfMemoryDuringInit.java TEST_VM_OPTS="-Xlog:gc:file=/tmp/gc.log -XX:+UseShenandoahGC"
...
TEST RESULT: Error. Program `/Users/shipilev/Work/shipilev-jdk/build/macosx-aarch64-server-fastdebug/images/jdk/bin/java' timed out (timeout set to 480000ms, elapsed time including timeout handling was 491523ms).
```
The GC log would give the never-ending cycle of Full GCs, never actually throwing OOME:
```
[48.620s][info][gc] Trigger: Handle Allocation Failure
[49.001s][info][gc] GC(64) Cancelling GC: Allocation Failure During Evacuation
[49.002s][info][gc] GC(64) Cannot finish degeneration, upgrading to Full GC
[49.522s][info][gc] GC(64) Pause Degenerated GC (Outside of Cycle) 62M->62M(64M) 901.858ms
[49.522s][info][gc] Failed to allocate TLAB, 3096B
[49.522s][info][gc] Cancelling GC: Allocation Failure
[49.523s][info][gc] Trigger: Handle Allocation Failure
[49.921s][info][gc] GC(65) Cancelling GC: Allocation Failure During Evacuation
[49.923s][info][gc] GC(65) Cannot finish degeneration, upgrading to Full GC
[50.389s][info][gc] GC(65) Pause Degenerated GC (Outside of Cycle) 62M->62M(64M) 865.560ms
[50.389s][info][gc] Failed to allocate Shared, 24B
[50.389s][info][gc] Cancelling GC: Allocation Failure
[50.390s][info][gc] Trigger: Handle Allocation Failure
[50.908s][info][gc] GC(66) Pause Full 62M->62M(64M) 517.640ms
[50.908s][info][gc] Failed to allocate TLAB, 3184B
[50.908s][info][gc] Cancelling GC: Allocation Failure
[50.910s][info][gc] Trigger: Handle Allocation Failure
```
Similar thing seems to happen with `compiler/uncommontrap/TestDeoptOOM.java`
```
% CONF=macosx-aarch64-server-fastdebug make test TEST=runtime/ClassInitErrors/TestOutOfMemoryDuringInit.java TEST_VM_OPTS="-Xlog:gc:file=/tmp/gc.log -XX:+UseShenandoahGC"
...
TEST RESULT: Error. Program `/Users/shipilev/Work/shipilev-jdk/build/macosx-aarch64-server-fastdebug/images/jdk/bin/java' timed out (timeout set to 480000ms, elapsed time including timeout handling was 491523ms).
```
The GC log would give the never-ending cycle of Full GCs, never actually throwing OOME:
```
[48.620s][info][gc] Trigger: Handle Allocation Failure
[49.001s][info][gc] GC(64) Cancelling GC: Allocation Failure During Evacuation
[49.002s][info][gc] GC(64) Cannot finish degeneration, upgrading to Full GC
[49.522s][info][gc] GC(64) Pause Degenerated GC (Outside of Cycle) 62M->62M(64M) 901.858ms
[49.522s][info][gc] Failed to allocate TLAB, 3096B
[49.522s][info][gc] Cancelling GC: Allocation Failure
[49.523s][info][gc] Trigger: Handle Allocation Failure
[49.921s][info][gc] GC(65) Cancelling GC: Allocation Failure During Evacuation
[49.923s][info][gc] GC(65) Cannot finish degeneration, upgrading to Full GC
[50.389s][info][gc] GC(65) Pause Degenerated GC (Outside of Cycle) 62M->62M(64M) 865.560ms
[50.389s][info][gc] Failed to allocate Shared, 24B
[50.389s][info][gc] Cancelling GC: Allocation Failure
[50.390s][info][gc] Trigger: Handle Allocation Failure
[50.908s][info][gc] GC(66) Pause Full 62M->62M(64M) 517.640ms
[50.908s][info][gc] Failed to allocate TLAB, 3184B
[50.908s][info][gc] Cancelling GC: Allocation Failure
[50.910s][info][gc] Trigger: Handle Allocation Failure
```
Similar thing seems to happen with `compiler/uncommontrap/TestDeoptOOM.java`
- backported by
-
JDK-8316134 Shenandoah: Unable to throw OOME on back-to-back Full GCs
- Resolved
- relates to
-
JDK-8316632 Shenandoah: Raise OOME when gc threshold is exceeded
- Resolved
-
JDK-8309034 NoClassDefFoundError when initializing Long$LongCache
- Resolved
- links to
-
Commit openjdk/jdk21u/9b983f30
-
Commit openjdk/jdk/716201c7
-
Review openjdk/jdk17u-dev/1724
-
Review openjdk/jdk21u/147
-
Review openjdk/jdk/15500
(3 links to)