-
Bug
-
Resolution: Fixed
-
P3
-
13
-
b31
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8228521 | 14 | Erik Österlund | P3 | Resolved | Fixed | b07 |
JDK-8228792 | 13.0.2 | Erik Österlund | P3 | Resolved | Fixed | b01 |
JDK-8229066 | 13.0.1 | Erik Österlund | P3 | Resolved | Fixed | b05 |
When two concurrent threads request different nmethod state transitions with different levels of dead, it sometimes happens that monotonicity of the state transitions is lost, and as a result, nmethods may resurrect in unfortunate races, and cause the VM to crash.
Today, it is up to the caller to know if there could be any racing transitions, but it is very easy to slip. I can see a few examples of such slippage.
However, the state transitions really should be monotonic; an nmethod is always be at least as dead as the most dead state requested.
Today, it is up to the caller to know if there could be any racing transitions, but it is very easy to slip. I can see a few examples of such slippage.
However, the state transitions really should be monotonic; an nmethod is always be at least as dead as the most dead state requested.
- backported by
-
JDK-8228521 NMethod state machine is not monotonic
- Resolved
-
JDK-8228792 NMethod state machine is not monotonic
- Resolved
-
JDK-8229066 NMethod state machine is not monotonic
- Resolved
- duplicates
-
JDK-8224686 Crash in NMethodSweeper with ZGC
- Closed
-
JDK-8226291 Crash in CompiledMethod::cleanup_inline_caches_impl
- Closed
- relates to
-
JDK-8229438 ZGC: CompiledMethod::cleanup_inline_caches_impl
- Closed
(1 relates to)