-
Bug
-
Resolution: Fixed
-
P3
-
11, 14
-
b29
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8236782 | 15 | Markus Grönlund | P3 | Resolved | Fixed | b05 |
JFR artifact tagging is a function of an epoch and transitioning between epochs happens during a safepoint.
This works well for threads that respect safepoints, but for threads that run _thread_in_native writing events that have a relation to an artifact, for example a Method, they race against the epoch shift. A consequence of a race condition is that an artifact being tagged in the wrong epoch does not become visible to the event referencing it.This situation mainly applies to Compiler Threads (i.e. JavaThreads running _thread_in_native).
With JFR Event Streaming, the events must continuously be fully parsable as a unit, and an artifact tag race will therefore cause problems for the parser.
This works well for threads that respect safepoints, but for threads that run _thread_in_native writing events that have a relation to an artifact, for example a Method, they race against the epoch shift. A consequence of a race condition is that an artifact being tagged in the wrong epoch does not become visible to the event referencing it.This situation mainly applies to Compiler Threads (i.e. JavaThreads running _thread_in_native).
With JFR Event Streaming, the events must continuously be fully parsable as a unit, and an artifact tag race will therefore cause problems for the parser.
- backported by
-
JDK-8236782 Epoch shift synchronization point for Compiler threads
-
- Resolved
-
- relates to
-
JDK-8230400 Missing constant pool entry for a method in stacktrace
-
- Resolved
-
-
JDK-8280844 Epoch shift synchronization point for Compiler threads is inadequate
-
- Resolved
-
-
JDK-8281520 JFR: A wrong parameter is passed to the constructor of LeakKlassWriter
-
- Resolved
-