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);