On Tue, 27 Jan 2026 14:56:31 GMT, Jean-Philippe Bempel <[email protected]>
wrote:
>> …retransformed
>>
>> Fix a retransform error when retransforming a record with type annotation.
>> processing the record type annotation was done by calling the wrong method
>> and using the one to process regular annotation. Regular annotations have
>> not the same structure and decoding was therefore incorrect. The decoding
>> methods detect a problem but this error was not propagated correctly outside
>> of VM_RedfineClass::load_new_class_versions method, swallowing the error and
>> leaving the retransformed class in bad state.
>>
>> Here we have fixed the call to the right method for decoding the type
>> annotations but also propagated the error when rewriting the constant pool
>> as an JVMTI_ERROR_INTERNAL
>
> Jean-Philippe Bempel has updated the pull request incrementally with one
> additional commit since the last revision:
>
> add copyright headers
src/hotspot/share/prims/jvmtiRedefineClasses.cpp line 1477:
> 1475: if (res != JVMTI_ERROR_NONE) {
> 1476: return res;
> 1477: }
Pending exception need to be processed and cleared below (see lines: 1478-1487).
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/29445#discussion_r2745165920