[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.
-Alan
More information about the hotspot-runtime-dev
mailing list