-
Bug
-
Resolution: Fixed
-
P3
-
repo-valhalla
Some runtime/valhalla/inlinetypes/field_layout/NullMarkersTest.java tests fail with the following output:
java.lang.RuntimeException: assertEquals: expected 4 to equal 8
at jdk.test.lib.Asserts.fail(Asserts.java:634)
at jdk.test.lib.Asserts.assertEquals(Asserts.java:205)
at jdk.test.lib.Asserts.assertEquals(Asserts.java:189)
at FieldLayoutAnalyzer.checkSizeAndAlignmentForField(FieldLayoutAnalyzer.java:368)
at FieldLayoutAnalyzer.checkSizeAndAlignment(FieldLayoutAnalyzer.java:394)
at FieldLayoutAnalyzer.check(FieldLayoutAnalyzer.java:538)
at NullMarkersTest.main(NullMarkersTest.java:337)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
at java.base/java.lang.Thread.run(Thread.java:1575)
This is due to a mismatch about usage of compressed oops between the VM loading the classes and the VM analyzing the layouts.
Suggested fix: extend PrintFieldLayout output to include the compressed oops configuration used, so the VM analyzing the output won't be impacted by external options that could modify the expected configuration.
java.lang.RuntimeException: assertEquals: expected 4 to equal 8
at jdk.test.lib.Asserts.fail(Asserts.java:634)
at jdk.test.lib.Asserts.assertEquals(Asserts.java:205)
at jdk.test.lib.Asserts.assertEquals(Asserts.java:189)
at FieldLayoutAnalyzer.checkSizeAndAlignmentForField(FieldLayoutAnalyzer.java:368)
at FieldLayoutAnalyzer.checkSizeAndAlignment(FieldLayoutAnalyzer.java:394)
at FieldLayoutAnalyzer.check(FieldLayoutAnalyzer.java:538)
at NullMarkersTest.main(NullMarkersTest.java:337)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
at java.base/java.lang.Thread.run(Thread.java:1575)
This is due to a mismatch about usage of compressed oops between the VM loading the classes and the VM analyzing the layouts.
Suggested fix: extend PrintFieldLayout output to include the compressed oops configuration used, so the VM analyzing the output won't be impacted by external options that could modify the expected configuration.