Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8208925 | 8u201 | Fei Yang | P4 | Resolved | Fixed | b01 |
JDK-8203898 | 8u192 | Fei Yang | P4 | Resolved | Fixed | b01 |
JDK-8216750 | emb-8u201 | Fei Yang | P4 | Resolved | Fixed | master |
The test failed on aarch64 platform using openjdk8/9 configured with --enable-unlimited-crypto.
Reported error message: Execution failed: `main' threw exception: java.io.IOException: Error writing request body to server.
And the test passes with -XX:TieredStopAtLevel=3 or -XX:-UseAESIntrinsics option.
After narrowing down, I find the bug is caused by the _cipherBlockChaining_decryptAESCrypt StubRoutine.
Proposed patch to fix a typo in this StubRoutine:
diff -r 150c50761d56 src/cpu/aarch64/vm/stubGenerator_aarch64.cpp
--- a/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Fri Nov 27 12:37:38 2015 +0100
+++ b/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Sat Nov 28 22:02:25 2015 +0800
@@ -1973,7 +1973,7 @@
// c_rarg4 - input length
//
// Output:
- // rax - input length
+ // x0 - input length
//
address generate_cipherBlockChaining_decryptAESCrypt() {
assert(UseAES, "need AES instructions and misaligned SSE support");
@@ -2035,7 +2035,7 @@
__ br(Assembler::EQ, L_rounds_52);
__ aesd(v0, v17); __ aesimc(v0, v0);
- __ aesd(v0, v17); __ aesimc(v0, v0);
+ __ aesd(v0, v18); __ aesimc(v0, v0);
__ BIND(L_rounds_52);
__ aesd(v0, v19); __ aesimc(v0, v0);
__ aesd(v0, v20); __ aesimc(v0, v0);
Reported error message: Execution failed: `main' threw exception: java.io.IOException: Error writing request body to server.
And the test passes with -XX:TieredStopAtLevel=3 or -XX:-UseAESIntrinsics option.
After narrowing down, I find the bug is caused by the _cipherBlockChaining_decryptAESCrypt StubRoutine.
Proposed patch to fix a typo in this StubRoutine:
diff -r 150c50761d56 src/cpu/aarch64/vm/stubGenerator_aarch64.cpp
--- a/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Fri Nov 27 12:37:38 2015 +0100
+++ b/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Sat Nov 28 22:02:25 2015 +0800
@@ -1973,7 +1973,7 @@
// c_rarg4 - input length
//
// Output:
- // rax - input length
+ // x0 - input length
//
address generate_cipherBlockChaining_decryptAESCrypt() {
assert(UseAES, "need AES instructions and misaligned SSE support");
@@ -2035,7 +2035,7 @@
__ br(Assembler::EQ, L_rounds_52);
__ aesd(v0, v17); __ aesimc(v0, v0);
- __ aesd(v0, v17); __ aesimc(v0, v0);
+ __ aesd(v0, v18); __ aesimc(v0, v0);
__ BIND(L_rounds_52);
__ aesd(v0, v19); __ aesimc(v0, v0);
__ aesd(v0, v20); __ aesimc(v0, v0);
- backported by
-
JDK-8203898 openjdk aarch64: jdk/test/com/sun/net/httpserver/Test6a.java fails with --enable-unlimited-crypto
-
- Resolved
-
-
JDK-8208925 openjdk aarch64: jdk/test/com/sun/net/httpserver/Test6a.java fails with --enable-unlimited-crypto
-
- Resolved
-
-
JDK-8216750 openjdk aarch64: jdk/test/com/sun/net/httpserver/Test6a.java fails with --enable-unlimited-crypto
-
- Resolved
-