-
Bug
-
Resolution: Fixed
-
P3
-
8-shenandoah, 11-shenandoah, 14, 15
-
b05
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8237408 | 14.0.1 | Unassigned | P3 | Resolved | Fixed | b01 |
JDK-8236822 | 14 | Roman Kennke | P3 | Resolved | Fixed | b32 |
Currently, we have sprinkled OOM-evac scopes all over the place:
- In the main evac-loop (of course)
- In the LRB (of course)
- In various places
The latter is very questionable and has repeatedly lead to problems in the past. The trouble was usually that some weird path would dive into evacuation with a GC worker, although the oom-scope was already held at an outer scope. It becomes really bad when locks are involved, e.g. the heap-lock, code-cache-lock and recently the per-nmethod locks. This is very deadlock-prone.
The way out is to be very strict about where we place the oom-scopes. They should *only* be very close to SH::evacuate_object(), and they should *always* be the innermost scopes, inside any possible locks. Placement must be such that both conditions are rather obviously met.
- In the main evac-loop (of course)
- In the LRB (of course)
- In various places
The latter is very questionable and has repeatedly lead to problems in the past. The trouble was usually that some weird path would dive into evacuation with a GC worker, although the oom-scope was already held at an outer scope. It becomes really bad when locks are involved, e.g. the heap-lock, code-cache-lock and recently the per-nmethod locks. This is very deadlock-prone.
The way out is to be very strict about where we place the oom-scopes. They should *only* be very close to SH::evacuate_object(), and they should *always* be the innermost scopes, inside any possible locks. Placement must be such that both conditions are rather obviously met.
- backported by
-
JDK-8236822 Shenandoah: Stricter placement for oom-evac scopes
-
- Resolved
-
-
JDK-8237408 Shenandoah: Stricter placement for oom-evac scopes
-
- Resolved
-