Some clarification about JVMTI_EVENT_THREAD_START and PRIMORDIAL phase

Jaroslav Bachorík jaroslav.bachorik at datadoghq.com
Thu Jul 9 13:07:30 UTC 2020


Hello,

Recently, after backporting JDK-8233197 to JDK8u I received a report
from Sergey Nazarkin (cc) that the backport broke JVMTI spec basically
emitting JVMTI_EVENT_THREAD_START events in primordial phase while the
spec states that it should be emitted only in either start or live
phase.

But if I am reading this correctly
(https://hg.openjdk.java.net/jdk8u/jdk8udev/hotspot/file/02b4fd2f9041/src/share/vm/prims/jvmtiEventController.cpp#l418)
the spec is also violated there.

EARLY_EVENT_BITS are including THREAD_START_BIT and it is not filtered
out by THREAD_FILTERED_EVENT_BITS so it seems perfectly valid for
JVMTI_EVENT_THREAD_START to appear during PRIMORDIAL phase.

So I would like to get clarification before going in and start
tinkering with the JVM initialization code order.

Thanks!

-JB-


More information about the serviceability-dev mailing list