RFR: 8345422: Fix JNI Checker "in native method" warnings in the debug agent and debugger tests

Chris Plummer cjplummer at openjdk.org
Tue Dec 3 22:29:38 UTC 2024


On Tue, 3 Dec 2024 20:16:33 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

> The root cause of [JDK-8344804](https://bugs.openjdk.org/browse/JDK-8344804) seems to be some JNI Checker warnings. I decided to resolve all the warnings in the debug agent and debugger tests that start with "in native method". This seems to have resolved [JDK-8344804](https://bugs.openjdk.org/browse/JDK-8344804) failure. There are still other JNI Checker warnings present that are not being dealt with at this time.
> 
> Testing in progress:
> - [ ] All tier1
> - [ ] All tier2 svc tests
> - [ ] All tier3 svc tests
> - [ ] All tier4, which is where [JDK-8344804](https://bugs.openjdk.org/browse/JDK-8344804) reproduced
> - [ ] All tier5 svc tests

src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c line 685:

> 683: 
> 684:     /* Clear any exception thrown while handling the event. */
> 685:     JNI_FUNC_PTR(env,ExceptionClear)(env);

For those doing the review, the rethrowing of the exception has moved into threadControl_onEventHandlerExit(), which is called below. The rethrowing needs to occur after the last findRunningThread() call since that triggers a call to JNI IsVirtualThread(), which shouldn't be called with a pending exception.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/22528#discussion_r1868445641


More information about the serviceability-dev mailing list