On Tue, 24 Mar 2026 09:44:40 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 with a new target base due 
> to a merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains 10 additional 
> commits since the last revision:
> 
>  - Merge branch 'master' into 8376185
>  - remove unneeded file
>  - use ClassFileInstaller instead of RunAsmTools
>    
>    fix formatting
>    add comments about jcod modifications
>  - fix whitespaces
>  - fix whitespaces
>  - replace shell script with class running asmtools
>    
>    include output directory for asmtools and jcoder command
>    Add comments
>  - handle result after pending exceptions
>  - add copyright headers
>  - add missing files
>  - 8376185: NoSuchFieldError thrown after a record with type annotation 
> 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

@jpbempel 
Your change (at version 27e78664c2c4eeabc57eb062c0e33bb1510203d7) is now ready 
to be sponsored by a Committer.

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

PR Comment: https://git.openjdk.org/jdk/pull/29445#issuecomment-4124057301

Reply via email to