On Wed, 20 Nov 2024 12:52:45 GMT, Coleen Phillimore <cole...@openjdk.org> wrote:

>> test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineVerifyError.java
>>  line 96:
>> 
>>> 94:             throw new RuntimeException("This should throw VerifyError");
>>> 95:         } catch (VerifyError e) {
>>> 96:             // JVMTI recreates the VerifyError so the verification 
>>> message is lost.
>> 
>> I'm not clear why JVMTI would mess with the `VerifyError` that the verifier 
>> should have raised, and which explains the reason why verification failed. 
>> Not that your changes impact that.
>
> The JVMTI code for redefinition returns JVMTI_ERROR_FAILS_VERIFICATION and 
> not the pending exception to the caller.  The agent eventually in 
> java.instrument/share/native/libinstrument/JavaExceptions.c will recreate the 
> VerifyError based on the JVMTI error code.

Wow that is pretty developer unfriendly. Hopefully exception logging will still 
show what the error is in detail.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22116#discussion_r1851367760

Reply via email to