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

Shenandoah: SIGSEGV crash in unnecessary_acquire due to LoadStore split through phi

    XMLWordPrintable

Details

    • b12

    Backports

      Description

        Two seperate users on separate systems reported the same issue. Example output (more details in the two hs_err log files):

        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # SIGSEGV (0xb) at pc=0x0000ffff9825d794, pid=1, tid=16
        #
        # JRE version: OpenJDK Runtime Environment Temurin-17.0.10+7 (17.0.10+7) (build 17.0.10+7)
        # Java VM: OpenJDK 64-Bit Server VM Temurin-17.0.10+7 (17.0.10+7, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, shenandoah gc, linux-aarch64)
        # Problematic frame:
        # V [libjvm.so+0x2dd794] unnecessary_acquire(Node const*)+0x40
        #
        # Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E" (or dumping to //core.1)
        #
        # An error report file with more information is saved as:
        # /tmp/hs_err_pid1.log
        #
        # Compiler replay data is saved as:
        # /tmp/replay_pid1.log
        #
        # If you would like to submit a bug report, please visit:
        # https://github.com/adoptium/adoptium-support/issues
        #

        [error occurred during error reporting (), id 0x5, SIGTRAP (0x5) at pc=0x0000ffff992a71ec]

        Current CompileTask:
        C2:5753646 53798 4 org.apache.hc.client5.http.impl.async.InternalHttpAsyncExecRuntime::connectEndpoint (99 bytes)

        Stack: [0x0000ffffa0936000,0x0000ffffa0b34000], sp=0x0000ffffa0b2f800, free space=2022k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0x2dd794] unnecessary_acquire(Node const*)+0x40
        V [libjvm.so+0x642f28] State::DFA(int, Node const*)+0x16b8
        V [libjvm.so+0xace2dc] Matcher::Label_Root(Node const*, State*, Node*, Node*&)+0x338
        V [libjvm.so+0xacef88] Matcher::match_tree(Node const*)+0xa8
        V [libjvm.so+0xad2b54] Matcher::xform(Node*, int)+0x804
        V [libjvm.so+0xad574c] Matcher::match()+0x72c
        V [libjvm.so+0x5a4854] Compile::Code_Gen()+0xa4
        V [libjvm.so+0x5a9648] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, bool, DirectiveSet*)+0xf88
        V [libjvm.so+0x4f02d4] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0xd0
        V [libjvm.so+0x5b174c] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xd18
        V [libjvm.so+0x5b21bc] CompileBroker::compiler_thread_loop()+0x4fc
        V [libjvm.so+0xd87e70] JavaThread::thread_main_inner()+0x15c
        V [libjvm.so+0xd8cec8] Thread::call_run()+0xa8
        V [libjvm.so+0xb76b5c] thread_native_entry(Thread*)+0xdc
        C [libpthread.so.0+0x77e4] start_thread+0x18c

        -----

        Users reported same crashes on 17.0.7 and 17.0.9.

        One user upgraded to 21.0.1 and reported no crashes after 48 hours

        -----

        Happy to follow up with the OP's for further investigation steps.

        Attachments

          1. hs_err_pid1.log
            344 kB
          2. hs_err_pid19300.log
            1.50 MB
          3. replay_pid1.log
            906 kB
          4. replay_pid19300.log
            1.41 MB
          5. TestUnsafeLoadStoreMergedHeapStableTests.java
            2 kB

          Issue Links

            Activity

              People

                roland Roland Westrelin
                karianna Martijn Verburg
                Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: