Details
-
Bug
-
Resolution: Duplicate
-
P4
-
None
-
8-shenandoah, 11-shenandoah, 13, 14
Description
This is redo of JDK-8231249.
Some tests (notably the one referenced here) are filling up the memory until OOME happens, and even count the OOMEs happened. Unfortunately, that clashes with Shenandoah's quite aggressive retry policy. At some point, test is able to sneak past allocation failure and make progress, and less aggressive policy helps that.
We need to take care of the tests that expect Shenandoah to enter Full GC, notably:
gc/shenandoah/oom/TestClassLoaderLeak.java failed (JDK-8231389)
gc/shenandoah/TestAllocHumongousFragment.java
Easiest reproducer:
$ CONF=linux-x86_64-server-fastdebug make images run-test TEST=vmTestbase/nsk/jvmti/GarbageCollectionStart/gcstart001/TestDescription.java TEST_VM_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC"
Times out, yet makes lots of GCs:
506.774s][info][gc] GC(11226) Cannot finish degeneration, upgrading to Full GC
[506.802s][info][gc] GC(11226) Pause Degenerated GC (Outside of Cycle) 3367M->3367M(3858M) 49.944ms
[506.803s][info][gc] Failed to allocate 10864B
[506.803s][info][gc] Cancelling GC: Allocation Failure
[506.803s][info][gc] Trigger: Handle Allocation Failure
[506.830s][info][gc] GC(11227) Cancelling GC: Allocation Failure During Evacuation
[506.831s][info][gc] GC(11227) Cannot finish degeneration, upgrading to Full GC
[506.858s][info][gc] GC(11227) Pause Degenerated GC (Outside of Cycle) 3367M->3367M(3858M) 54.403ms
[506.858s][info][gc] Failed to allocate 8064B
[506.858s][info][gc] Cancelling GC: Allocation Failure
[506.859s][info][gc] Trigger: Handle Allocation Failure
[506.883s][info][gc] GC(11228) Cancelling GC: Allocation Failure During Evacuation
[506.885s][info][gc] GC(11228) Cannot finish degeneration, upgrading to Full GC
[506.913s][info][gc] GC(11228) Pause Degenerated GC (Outside of Cycle) 3367M->3367M(3858M) 54.056ms
[506.913s][info][gc] Failed to allocate 8064B
[506.913s][info][gc] Cancelling GC: Allocation Failure
[506.914s][info][gc] Trigger: Handle Allocation Failure
[506.938s][info][gc] GC(11229) Cancelling GC: Allocation Failure During Evacuation
[506.939s][info][gc] GC(11229) Cannot finish degeneration, upgrading to Full GC
Some tests (notably the one referenced here) are filling up the memory until OOME happens, and even count the OOMEs happened. Unfortunately, that clashes with Shenandoah's quite aggressive retry policy. At some point, test is able to sneak past allocation failure and make progress, and less aggressive policy helps that.
We need to take care of the tests that expect Shenandoah to enter Full GC, notably:
gc/shenandoah/oom/TestClassLoaderLeak.java failed (
gc/shenandoah/TestAllocHumongousFragment.java
Easiest reproducer:
$ CONF=linux-x86_64-server-fastdebug make images run-test TEST=vmTestbase/nsk/jvmti/GarbageCollectionStart/gcstart001/TestDescription.java TEST_VM_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC"
Times out, yet makes lots of GCs:
506.774s][info][gc] GC(11226) Cannot finish degeneration, upgrading to Full GC
[506.802s][info][gc] GC(11226) Pause Degenerated GC (Outside of Cycle) 3367M->3367M(3858M) 49.944ms
[506.803s][info][gc] Failed to allocate 10864B
[506.803s][info][gc] Cancelling GC: Allocation Failure
[506.803s][info][gc] Trigger: Handle Allocation Failure
[506.830s][info][gc] GC(11227) Cancelling GC: Allocation Failure During Evacuation
[506.831s][info][gc] GC(11227) Cannot finish degeneration, upgrading to Full GC
[506.858s][info][gc] GC(11227) Pause Degenerated GC (Outside of Cycle) 3367M->3367M(3858M) 54.403ms
[506.858s][info][gc] Failed to allocate 8064B
[506.858s][info][gc] Cancelling GC: Allocation Failure
[506.859s][info][gc] Trigger: Handle Allocation Failure
[506.883s][info][gc] GC(11228) Cancelling GC: Allocation Failure During Evacuation
[506.885s][info][gc] GC(11228) Cannot finish degeneration, upgrading to Full GC
[506.913s][info][gc] GC(11228) Pause Degenerated GC (Outside of Cycle) 3367M->3367M(3858M) 54.056ms
[506.913s][info][gc] Failed to allocate 8064B
[506.913s][info][gc] Cancelling GC: Allocation Failure
[506.914s][info][gc] Trigger: Handle Allocation Failure
[506.938s][info][gc] GC(11229) Cancelling GC: Allocation Failure During Evacuation
[506.939s][info][gc] GC(11229) Cannot finish degeneration, upgrading to Full GC
Attachments
Issue Links
- duplicates
-
JDK-8335126 Shenandoah: Improve OOM handling
-
- Resolved
-
- relates to
-
JDK-8231249 Shenandoah: GC retries are too aggressive for tests that expect OOME
-
- Resolved
-