-
Bug
-
Resolution: Unresolved
-
P4
-
None
-
25, 26, repo-shenandoah-21
-
Cause Known
We have observed that when the heap is full and GenShen cannot make any progress in reclaiming memory it will just run back-to-back `ShenandoahFullGCThreshold` degenerated cycles followed by a full gc cycle indefinitely. The expected behavior in this scenario is that GenShen raises an out of memory error.
Logs show this pattern repeatedly:
```
[2025-09-19T15:03:51.908+0000][info][gc ] GC(86809) Pause Init Mark (Young) 0.080ms
[2025-09-19T15:03:52.003+0000][info][gc ] GC(86810) Pause Degenerated GC (Young) (Roots) 100148M->100148M(100352M) 64.205ms
[2025-09-19T15:03:52.054+0000][info][gc ] GC(86811) Pause Degenerated GC (Young) (Outside of Cycle) 100148M->100148M(100352M) 49.274ms
[2025-09-19T15:03:52.104+0000][info][gc ] GC(86812) Pause Degenerated GC (Young) (Outside of Cycle) 100148M->100148M(100352M) 49.947ms
[2025-09-19T15:03:52.154+0000][info][gc ] GC(86813) Pause Degenerated GC (Young) (Outside of Cycle) 100148M->100148M(100352M) 49.201ms
[2025-09-19T15:04:05.562+0000][info][gc ] GC(86814) Pause Full 100148M->100118M(100352M) 13408.368ms
```
Logs show this pattern repeatedly:
```
[2025-09-19T15:03:51.908+0000][info][gc ] GC(86809) Pause Init Mark (Young) 0.080ms
[2025-09-19T15:03:52.003+0000][info][gc ] GC(86810) Pause Degenerated GC (Young) (Roots) 100148M->100148M(100352M) 64.205ms
[2025-09-19T15:03:52.054+0000][info][gc ] GC(86811) Pause Degenerated GC (Young) (Outside of Cycle) 100148M->100148M(100352M) 49.274ms
[2025-09-19T15:03:52.104+0000][info][gc ] GC(86812) Pause Degenerated GC (Young) (Outside of Cycle) 100148M->100148M(100352M) 49.947ms
[2025-09-19T15:03:52.154+0000][info][gc ] GC(86813) Pause Degenerated GC (Young) (Outside of Cycle) 100148M->100148M(100352M) 49.201ms
[2025-09-19T15:04:05.562+0000][info][gc ] GC(86814) Pause Full 100148M->100118M(100352M) 13408.368ms
```