Summary
JNI_GetCreatedJavaVMs
will now only return a VM that has been successfully initialized.
Problem
JNI_GetCreatedJavaVMs
will currently return a VM that has only just started to be created by JNI_CreateJavaVM
. Consequently, if code then tries to attach to that VM it can crash in various ways, as the VM may not yet be ready for attaching.
Solution
JNI_GetCreatedJavaVMs
will now only return a VM that has been successfully initialized.
Specification
There are no changes to the JNI specification. The specification for JNI_GetCreatedJavaVMs
already states:
Returns all Java VMs that have been created.
and it is reasonable to expect that "created" means fully created, not "in the process of being created".
- csr of
-
JDK-8308341 JNI_GetCreatedJavaVMs returns a partially initialized JVM
-
- Resolved
-
- relates to
-
JDK-8342970 JNI_GetCreatedJavaVMs returns a partially initialized JVM
-
- Closed
-