RFR: JDK-8190187: C++ code calling JNI_CreateJavaVM can be killed by Java

David Holmes david.holmes at oracle.com
Thu Feb 15 01:59:14 UTC 2018


On 15/02/2018 12:13 AM, Adam Farley8 wrote:
> Hi All,
> 
> -- Short version --
> 
> Could a committer please take the fix for JDK-8190187 (full code included
> in the bug) and:
> 
> 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.

As I stated here:

http://mail.openjdk.java.net/pipermail/core-libs-dev/2017-October/049597.html

"I can file a bug for this, but it will take some work to see how to fit
this into the existing specifications and file CSR requests for those
changes. This won't make 18.3 (or whatever it gets called). You will
need a "champion" to help flesh this out in full and work with you on
those CSR requests. I can't volunteer to do that at this time."

Nobody has offered to champion this. Sorry.

David
-----

> Backporting would be appreciated, but is optional.
> 
> Also optional: Commit the jdwp code that serves as an example for how this
> code should be used. CSR again, unfortunately.
> 
> 
> -- Long Version --
> 
> 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.
> 
> Best Regards
> 
> Adam Farley
> 
> 
> 
> Best Regards
> 
> Adam Farley
> 
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number
> 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
> 


More information about the core-libs-dev mailing list