RFR: 8330606: Redefinition doesn't but should verify the new klass [v2]
David Holmes
dholmes at openjdk.org
Mon Nov 18 02:44:43 UTC 2024
On Fri, 15 Nov 2024 12:32:14 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineVerifyError.java line 68:
>>
>>> 66: classWriter.visit(52, ACC_SUPER | ACC_PUBLIC, "java/lang/VerifyError", null, "java/lang/LinkageError", null);
>>> 67: {
>>> 68: fieldVisitor = classWriter.visitField(ACC_PRIVATE | ACC_FINAL | ACC_STATIC, "serialVersionUID", "J", null, new Long(7001962396098498785L));
>>
>> Why do we need a serialVersionUID in this test class?
>
> TEST RESULT: Failed. Execution failed: `main' threw exception: java.lang.UnsupportedOperationException: class redefinition failed: attempted to change the schema (add/remove fields)
>
> Because it's a field in VerifyError
Got it.
>> test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineVerifyError.java line 90:
>>
>>> 88: }
>>> 89:
>>> 90: { // broken method
>>
>> Please add a comment showing the Java code this asm is implementing.
>
> This test came from asmifying java.lang.VerifyError and hacking it to have a VerifyError. The code it's implementing is a lot of code and not interesting. I can try cutting some things out.
I hadn't quite grasped the basic operation of the test - I get it now. Thanks
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/22116#discussion_r1845770225
PR Review Comment: https://git.openjdk.org/jdk/pull/22116#discussion_r1845772256
More information about the serviceability-dev
mailing list