RFR: 8376185: NoSuchFieldError thrown after a record with type annotation retransformed

Chen Liang liach at openjdk.org
Tue Jan 27 14:40:17 UTC 2026


On Tue, 27 Jan 2026 10:48:41 GMT, Jean-Philippe Bempel <jpbempel at openjdk.org> 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

Please add a copyright header for your affliation for the new files (.java, .jcod, .sh) that you add, or fallback to an Oracle copyright header. See https://openjdk.org/guide/#copyright-headers

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

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


More information about the core-libs-dev mailing list