openj9
openj9 copied to clipboard
jdk22 OpenJDK jdk_vector_byte64_j9 passed but failed
https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_aarch64_mac_Personal_testList_2/1 jdk_vector_byte64_j9_0
16:16:59 #INFO: AOT header validation failed: AsyncCompilation feature mismatch.
16:16:59
16:16:59 #INFO: StartTime: Jan 06 08:16:59 2024
16:16:59 #INFO: Free Physical Memory: 6362 MB estimated
16:16:59 #INFO: CPU entitlement = 800.00
16:17:00 #INFO: Stopping compilation thread, vmThread pointer 0000000120822300, thread ID 1
16:17:00 #INFO: Stopping compilation thread, vmThread pointer 000000012083EB00, thread ID 4
16:17:00 #INFO: Stopping compilation thread, vmThread pointer 0000000120847F00, thread ID 5
16:17:00 #INFO: Stopping compilation thread, vmThread pointer 0000000120850100, thread ID 6
16:17:00 #INFO: Stopping compilation thread, vmThread pointer 0000000120835700, thread ID 3
16:17:00 #INFO: Stopping compilation thread, vmThread pointer 000000012082D500, thread ID 2
16:17:00 #INFO: Stopping compilation thread, vmThread pointer 000000012008A900, thread ID 0
16:17:00 #INFO: Stopping compilation thread, vmThread pointer 0000000120859500, thread ID 7
16:17:00 XML output with verification to /Users/jenkins/workspace/Test_openjdk22_j9_sanity.openjdk_aarch64_mac_Personal_testList_2/aqa-tests/TKG/output_17044885757263/jdk_vector_byte64_j9_0/work
16:17:00 #INFO: AOT header validation failed: AsyncCompilation feature mismatch.
16:17:00
16:17:00 #INFO: StartTime: Jan 06 08:16:59 2024
16:17:00 #INFO: Free Physical Memory: 6359 MB estimated
16:17:00 #INFO: CPU entitlement = 800.00
16:17:00 #INFO: Stopping compilation thread, vmThread pointer 000000010F827500, thread ID 2
16:17:00 #INFO: Stopping compilation thread, vmThread pointer 0000000130098700, thread ID 4
16:17:00 #INFO: Stopping compilation thread, vmThread pointer 000000013008F300, thread ID 0
16:17:00 #INFO: Stopping compilation thread, vmThread pointer 00000001300A1B00, thread ID 5
16:17:00 #INFO: Stopping compilation thread, vmThread pointer 000000010F82F700, thread ID 3
16:17:00 #INFO: Stopping compilation thread, vmThread pointer 000000010F81C300, thread ID 1
16:17:00 #INFO: Stopping compilation thread, vmThread pointer 00000001300A9D00, thread ID 6
16:17:00 #INFO: Stopping compilation thread, vmThread pointer 00000001300B3100, thread ID 7
16:19:06 Test results: passed: 1
16:19:06 Report written to /Users/jenkins/workspace/Test_openjdk22_j9_sanity.openjdk_aarch64_mac_Personal_testList_2/aqa-tests/TKG/output_17044885757263/jdk_vector_byte64_j9_0/report/html/report.html
16:19:06 Results written to /Users/jenkins/workspace/Test_openjdk22_j9_sanity.openjdk_aarch64_mac_Personal_testList_2/aqa-tests/TKG/output_17044885757263/jdk_vector_byte64_j9_0/work
16:19:06 grep #VECTOR API /Users/jenkins/workspace/Test_openjdk22_j9_sanity.openjdk_aarch64_mac_Personal_testList_2/aqa-tests/TKG/../TKG/output_17044885757263/jdk_vector_byte64_j9_0/work/jdk/incubator/vector/Byte64VectorTests.jtr
16:19:06 -----------------------------------
16:19:06 jdk_vector_byte64_j9_0_FAILED
Possibly related to https://github.com/eclipse-openj9/openj9/issues/17185
@gita-omr
https://openjdk.org/jeps/460 is still an incubator so I won't add this to the jdk22 milestone.
In the above test job, other vector tests, for example jdk_vector_int128_j9_0
, passed but only 2 operations were reported as vectorized. There are many more operations that should be vectorized.
[2024-01-05T21:15:14.738Z] grep #VECTOR API /Users/jenkins/workspace/Test_openjdk22_j9_sanity.openjdk_aarch64_mac_Personal_testList_2/aqa-tests/TKG/../TKG/output_17044885757263/jdk_vector_int128_j9_0/work/jdk/incubator/vector/Int128VectorTests.jtr
[2024-01-05T21:15:14.738Z] #VECTOR API: Vectorized using mLongBitsToMaskVector128Int32 in Int128VectorTests.maskFromToLongInt128VectorTestsSmokeTest(J)V at scorching
[2024-01-05T21:15:14.738Z] #VECTOR API: Vectorized using mToLongBitsVector128Int32 in Int128VectorTests.maskFromToLongInt128VectorTestsSmokeTest(J)V at scorching
[2024-01-05T21:15:14.738Z] -----------------------------------
[2024-01-05T21:15:14.738Z] jdk_vector_int128_j9_0_PASSED
[2024-01-05T21:15:14.738Z] -----------------------------------
I could reproduce the failure with aarch64 linux. It is not an amac specific problem. https://hyc-runtimes-jenkins.swg-devops.com/job/Grinder/37206/
15:23:58 Eclipse OpenJ9 VM (build master-62a8124490e, JRE 22 Linux aarch64-64-Bit Compressed References 20240109_6 (JIT enabled, AOT enabled)
15:23:58 OpenJ9 - 62a8124490e
15:23:58 OMR - 3a4787401ff
15:23:58 JCL - a1cff468783 based on jdk-22+29)
I could also reproduce it with x86 linux. https://hyc-runtimes-jenkins.swg-devops.com/job/Grinder/37207/
[2024-01-09T07:45:30.970Z] Eclipse OpenJ9 VM (build master-62a8124490e, JRE 22 Linux amd64-64-Bit Compressed References 20240108_6 (JIT enabled, AOT enabled)
[2024-01-09T07:45:30.970Z] OpenJ9 - 62a8124490e
[2024-01-09T07:45:30.970Z] OMR - 3a4787401ff
[2024-01-09T07:45:30.970Z] JCL - a1cff468783 based on jdk-22+29)
I tried a simple program with the above aarch64 linux VM. Surprisingly, vectorization did not happen. It gets vectorized when JDK21 VM is used.
// ADD
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector va = IntVector.fromArray(SPECIES, a, i);
IntVector vb = IntVector.fromArray(SPECIES, b, i);
IntVector vc = va.add(vb);
vc.intoArray(c, i);
}
I attach the trace log below. @gita-omr can you please take a look? testVAdd.trc.zip
The failures occur across platforms and occur too frequently to keep running in the builds. Excluding vector tests via https://github.com/adoptium/aqa-tests/pull/5041
https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_aarch64_linux_Nightly_testList_1/4/ jdk_vector_float128_j9_0 https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_aarch64_linux_Nightly_testList_2/4/ jdk_vector_double128_j9_0 jdk_vector_byte64_j9_0
https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_ppc64_aix_Nightly_testList_0/1 jdk_vector_int128_j9_0 https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_ppc64_aix_Nightly_testList_1/1 jdk_vector_double128_j9_0 jdk_vector_long128_j9_0 jdk_vector_byte64_j9_0 https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_ppc64_aix_Nightly_testList_2/1 jdk_vector_float128_j9_0 jdk_vector_short128_j9_0 jdk_vector_byte128_j9_0
https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_ppc64le_linux_Nightly_testList_0/1 jdk_vector_int128_j9_0 https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_ppc64le_linux_Nightly_testList_1/1 jdk_vector_double128_j9_0 jdk_vector_long128_j9_0 jdk_vector_byte64_j9_0 https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_ppc64le_linux_Nightly_testList_2/1 jdk_vector_float128_j9_0 jdk_vector_short128_j9_0 jdk_vector_byte128_j9_0
https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_s390x_linux_Nightly_testList_0/1 jdk_vector_int128_j9_0 https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_s390x_linux_Nightly_testList_1/1 jdk_vector_double128_j9_0 jdk_vector_long128_j9_0 jdk_vector_byte64_j9_0 https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_s390x_linux_Nightly_testList_2/1 jdk_vector_float128_j9_0 jdk_vector_short128_j9_0 jdk_vector_byte128_j9_0
https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_x86-64_linux_Nightly_testList_0/1/ jdk_vector_int128_j9_0 https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_x86-64_linux_Nightly_testList_1/1 jdk_vector_double128_j9_0 jdk_vector_long128_j9_0 jdk_vector_byte64_j9_0 https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_x86-64_linux_Nightly_testList_2/1 jdk_vector_float128_j9_0 jdk_vector_short128_j9_0 jdk_vector_byte128_j9_0
https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_x86-64_mac_Nightly_testList_0/1 jdk_vector_int128_j9_0 https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_x86-64_mac_Nightly_testList_1/1 jdk_vector_double128_j9_0 jdk_vector_long128_j9_0 jdk_vector_byte64_j9_0 https://openj9-jenkins.osuosl.org/job/Test_openjdk22_j9_sanity.openjdk_x86-64_mac_Nightly_testList_2/1 jdk_vector_float128_j9_0 jdk_vector_short128_j9_0 jdk_vector_byte128_j9_0
Most likely signatures of some Vector API methods have changed. I will look at it today.
This PR should fix the problem: https://github.com/eclipse-openj9/openj9/pull/18965
https://github.com/eclipse-openj9/openj9/pull/19192 is merged to 0.44.
Created https://github.com/adoptium/aqa-tests/pull/5160 to re-include the tests.