Relates :
|
|
Relates :
|
|
Relates :
|
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.
|