Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8144201

openjdk aarch64: jdk/test/com/sun/net/httpserver/Test6a.java fails with --enable-unlimited-crypto

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 9
    • 9
    • hotspot
    • None
    • b99
    • aarch64
    • linux

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

              fyang Fei Yang
              fyang Fei Yang
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: