[BUG PROPOSAL]: C++ code that calls JNI_CreateJavaVM can be exited by java

Alan Bateman Alan.Bateman at oracle.com
Fri Oct 13 12:58:17 UTC 2017

On 13/10/2017 13:16, Adam Farley8 wrote:
> Hi All,
> Here's a summary of the email below (which is intended, partly, as a 
> summary of the emails before it).
> Let me know if you agree/disagree with any of these points.
> :
> 3) One solution is to specify a new return code for JNI.
Yes, hence the need to update the JNI spec. A discussion point to add to 
your point #10 is the return code value as the JNI spec uses negative 
values for errors.

> 6) To implement this new return code, plus the code that handles it, 
> we would need to follow the CSR process.
Yes, a CSR will be needed if this goes ahead as it will need changes to 
both the JNI and JVM TI specs.

> 7) To implement the fix for the scenario used as an example of the new 
> return code's use, we would need to modify the JVM TI spec.
Yes, because the JVM TI spec is very clear that the Agent_OnLoad 
returning a non-0 value is an error that terminates the VM.

> 8) To address all of the worst instances of exit(#), we would need to 
> search for exit(#) and raise a bug for each significant one (or group).

In the discussion to date then I think there is an acknowledgement that 
there are issues in hotspot for several error or resource exhaustion 
cases that would need a lot of work to recover from. I don't think there 
was any suggestion that they would need to be addressed or even 
identified as part of deciding if the agent "-help" scenario is worth 
trying to support.


More information about the core-libs-dev mailing list