JDK-7160924 : jvmti: GetPhase returns incorrect phase before VMInit event is issued
  • Type: Bug
  • Component: hotspot
  • Sub-Component: jvmti
  • Affected Version: hs23,7u4,8
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2012-04-12
  • Updated: 2013-06-26
  • Resolved: 2012-04-25
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7 JDK 8 Other
7u40Fixed 8Fixed hs24Fixed
Instead of JVMTI_PHASE_START, GetPhase returns incorrect phase after VMStart occured, but before VMInit is issued.

EVALUATION http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/df4cd4aac5c1

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/df4cd4aac5c1

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/df4cd4aac5c1

EVALUATION There is a short race between where we set the phase to JVMTI_PHASE_LIVE and we post the VMInit event, adding tracing made that period longer and more likely to trigger. One solution would be to move the trace initialization to after the VMInit event has been sent.