Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8205846 | 11.0.1 | Per Liden | P3 | Resolved | Fixed | team |
The spec says "All soft references to softly-reachable objects are guaranteed to have been cleared before the virtual machine throws an OutOfMemoryError".
We currently have a window/race in ZGC, where we can throw OOME before clearing all SoftReferences with a softly-reachable referent. The reason is that the current logic only guarantees that we wait with throwing OOME until the allocating thread have been part of a complete GC cycle, but there no guarantee that the last GC cycle also cleared SoftReferences.
We currently have a window/race in ZGC, where we can throw OOME before clearing all SoftReferences with a softly-reachable referent. The reason is that the current logic only guarantees that we wait with throwing OOME until the allocating thread have been part of a complete GC cycle, but there no guarantee that the last GC cycle also cleared SoftReferences.
- backported by
-
JDK-8205846 ZGC: SoftReferences not always cleared before throwing OOME
-
- Resolved
-