-
Bug
-
Resolution: Fixed
-
P4
-
8-shenandoah, 11.0.9, 15, 16
-
b34
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8250653 | 16 | Roman Kennke | P4 | Resolved | Fixed | b08 |
JDK-8250211 | 15.0.2 | Roman Kennke | P4 | Resolved | Fixed | b01 |
JDK-8250510 | 15.0.1 | Roman Kennke | P4 | Resolved | Fixed | b03 |
JDK-8261317 | 11.0.11 | Roman Kennke | P4 | Resolved | Fixed | b02 |
TestGCLocker seems to be made with the assumption that GCs are triggered on allocation failure. It has a somewhat complicated machinery to generate some GC pressure and especially to free up some memory in its artificial MemoryUser. This leads to some weird interactions with Shenandoah control machinery.
For example, it frees memory when heap usage is >75% AND a certain time has passed since it last freed memory (500ms). In those 500ms, it will keep on allocating chunks of memory, eventually running OOM because it keeps holding on to those chunks, while the GC is running like mad trying to free up memory, but can't because the stupid up doesn't let go. However, it will still keep resetting timeSinceLastGC because of some tiny objects getting freed-up since last time (not enough to prevent OOM though).
For example, it frees memory when heap usage is >75% AND a certain time has passed since it last freed memory (500ms). In those 500ms, it will keep on allocating chunks of memory, eventually running OOM because it keeps holding on to those chunks, while the GC is running like mad trying to free up memory, but can't because the stupid up doesn't let go. However, it will still keep resetting timeSinceLastGC because of some tiny objects getting freed-up since last time (not enough to prevent OOM though).
- backported by
-
JDK-8250211 Make TestGCLocker more resilient with concurrent GCs
-
- Resolved
-
-
JDK-8250510 Make TestGCLocker more resilient with concurrent GCs
-
- Resolved
-
-
JDK-8250653 Make TestGCLocker more resilient with concurrent GCs
-
- Resolved
-
-
JDK-8261317 Make TestGCLocker more resilient with concurrent GCs
-
- Resolved
-