On Wed, 15 Apr 2026 02:59:09 GMT, Shiv Shah <[email protected]> wrote:
>> Fixed three test files that fail with -Xcheck:jni on debug builds: >> >> popframe007.cpp: CallStaticVoidMethod in native B() was called with the >> declaring class (popframe007) instead of TestThread where the method ID >> belongs. Stored TestThread class as a global ref in getReady() and used it >> in B() >> >> aod.cpp: nsk_aod_agentLoaded() and nsk_aod_agentFinished() call >> CallStaticVoidMethod without checking for pending exceptions. Added >> nsk_aod_checkJNIException wrapper that describes, clears, and fails on >> unexpected exceptions. Fixes all 13 AttachOnDemand tests >> >> retransform003.cpp: ClassFileLoadHook callback calls CallObjectMethod and >> CallStaticObjectMethod without checking for pending exceptions. Added >> ExceptionCheck/ExceptionClear after both calls >> >> bi02t001 and bi03t001 pass without changes, NMT corruption issue from JDK 22 >> appears resolved on JDK 27 >> >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Shiv Shah has updated the pull request incrementally with one additional > commit since the last revision: > > Add ExceptionDescribe before ExceptionClear in retransform003 One nit, otherwise looks good to me. Thanks test/hotspot/jtreg/vmTestbase/nsk/jvmti/RetransformClasses/retransform003/retransform003.cpp line 130: > 128: > 129: if (!NSK_JNI_VERIFY_VOID(jni, > jni->CallStaticVoidMethod(callback_class, method_id, class_name_string, > agent_id))) > 130: return; Suggestion: if (!NSK_JNI_VERIFY_VOID(jni, jni->CallStaticVoidMethod(callback_class, method_id, class_name_string, agent_id))) return; Suggestion: NSK_JNI_VERIFY_VOID(jni, jni->CallStaticVoidMethod(callback_class, method_id, class_name_string, agent_id)) No need to check the return value as we return either way. ------------- Marked as reviewed by dholmes (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/30711#pullrequestreview-4111385605 PR Review Comment: https://git.openjdk.org/jdk/pull/30711#discussion_r3084503704
