-
Bug
-
Resolution: Fixed
-
P2
-
17, 21, 22
-
b04
-
x86
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8323304 | 22.0.1 | Tobias Hartmann | P2 | Resolved | Fixed | b02 |
JDK-8322889 | 22 | Scott Gibbons | P2 | Resolved | Fixed | b30 |
JDK-8323288 | 21.0.3-oracle | Tobias Hartmann | P2 | Closed | Fixed | b01 |
JDK-8323161 | 21.0.3 | Oli Gillespie | P2 | Resolved | Fixed | b01 |
JDK-8326052 | 17.0.12-oracle | Tobias Hartmann | P2 | Closed | Fixed | b01 |
JDK-8323160 | 17.0.11 | Oli Gillespie | P2 | Resolved | Fixed | b01 |
The attached reproducer fails reliably with -XX:UseAVX3 on my host with these CPU details (an AWS EC2 c6i.large instance):
```
vendor_id : GenuineIntel
cpu family : 6
model : 106
model name : Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz
stepping : 6
```
The same reproducer passes reliably with `-XX:UseAVX=2`.
```
java -XX:UseAVX=2 Base64Avx3.java
Test complete, no invalid decodes detected
java -XX:UseAVX=3 Base64Avx3.java
Exception in thread "main" java.lang.IllegalStateException: Mismatch for iouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wABAgMEBQYHCAkKCwwNDg8QERITFBU=
Expected:
8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15
Actual:
8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14
at Base64Avx3.decodeAndCheck(Base64Avx3.java:68)
at Base64Avx3.main(Base64Avx3.java:55)
```
It may be related to
Note also that the bug requires that the CPU supports avx512bw *and* avx512vbmi.
- backported by
-
JDK-8322889 Data loss in AVX3 Base64 decoding
- Resolved
-
JDK-8323160 Data loss in AVX3 Base64 decoding
- Resolved
-
JDK-8323161 Data loss in AVX3 Base64 decoding
- Resolved
-
JDK-8323304 Data loss in AVX3 Base64 decoding
- Resolved
-
JDK-8323288 Data loss in AVX3 Base64 decoding
- Closed
-
JDK-8326052 Data loss in AVX3 Base64 decoding
- Closed
- relates to
-
JDK-8268276 Base64 Decoding optimization for x86 using AVX-512
- Resolved
- links to
-
Commit openjdk/jdk17u-dev/1f957962
-
Commit openjdk/jdk21u-dev/1e664886
-
Commit openjdk/jdk22/b8c88a3e
-
Commit openjdk/jdk/13c11487
-
Review openjdk/jdk17u-dev/2100
-
Review openjdk/jdk21u-dev/122
-
Review openjdk/jdk22/28
-
Review openjdk/jdk/17039