RFR: JDK-8190187: C++ code calling JNI_CreateJavaVM can be killed by Java
adam.farley at uk.ibm.com
Wed Dec 6 11:53:39 UTC 2017
We have a bug in OpenJDK where if you pass an info-only option (like
-agentlib:jdwp=help) in through the JNI interface, it can exit your code
with RC 0.
I think this is a bug because if you planned to do anything after starting
a Java VM, you have to do it in an exit hook.
If an info-only option is used, exit(0) should not happen. Instead, the
user's code should be told the VM cannot be used.
Bug Link: https://bugs.openjdk.java.net/browse/JDK-8190187
I have proposed the creation of a new JNI return code indicating a "silent
exit", where the vm encountered no error, but that it is not in a fit
state to be used.
See the link for an implementation of this, along with a handy test.
In short, if you agree that this is a problem, we need a champion to:
1) Complete the CSR process for the new JNI Return code.
2) Commit the changes that contain (a) the new return code, and (b) the
non-Hotspot code that handles the new code.
Optionally, if you want to commit the code containing an example of the
fix, you will need to:
3) Commit the Hotspot code that channels the new return code.
4) Complete the CSR process for the jdwp behaviour change.
5) Commit the jdwp code.
Note that all of this code has *already been written*. This should be an
easy commit once the CSR is done with.
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
More information about the core-libs-dev