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".
Differences to original CSR
None.
- csr of
-
JDK-8347932 JNI_GetCreatedJavaVMs returns a partially initialized JVM
-
- Resolved
-