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

C2: assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes

    XMLWordPrintable

Details

    • b13
    • 15
    • b15

    Backports

      Description

        Assert hit in ConnectionGraph::find_second_addp
        assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes

        To reproduce, run
        test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyAsLoadsStores.java
        with additional flags:
        -XX:-TieredCompilation -XX:+StressReflectiveCode -XX:-ReduceInitialCardMarks

        commandline with jtreg:
        path-to-jtreg/bin/jtreg -va -s -jdk:path-to-jdk/jdk/ -javaoptions:"-XX:-TieredCompilation -XX:+StressReflectiveCode -XX:-ReduceInitialCardMarks" open/test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyAsLoadsStores.java

        As far as I can see, it is the second run-statement in TestArrayCopyAsLoadsStores.java, which compared to the first run-statement uses the additional flags
        -XX:+IgnoreUnrecognizedVMOptions -XX:+StressArrayCopyMacroNode

        You can find the hs_err file in Attachment.

        # To suppress the following error report, specify this argument
        # after -XX: or in .hotspotrc: SuppressErrorAt=/escape.cpp:2494
        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/home/emanuel/Documents/closed-jdk/open/src/hotspot/share/opto/escape.cpp:2494), pid=256712, tid=256729
        # assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes
        #
        # JRE version: Java(TM) SE Runtime Environment (19.0) (slowdebug build 19-internal-2022-02-28-1116307.emanuel...)
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (slowdebug 19-internal-2022-02-28-1116307.emanuel..., mixed mode, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
        # Problematic frame:
        # V [libjvm.so+0x9aa351] ConnectionGraph::find_second_addp(Node*, Node*)+0x4d
        #
        # Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P %E" (or dumping to /home/emanuel/Documents/closed-jdk/JTwork/scratch/core.256712)
        #
        # An error report file with more information is saved as:
        # /home/emanuel/Documents/closed-jdk/JTwork/scratch/hs_err_pid256712.log
        #
        # Compiler replay data is saved as:
        # /home/emanuel/Documents/closed-jdk/JTwork/scratch/replay_pid256712.log
        #
        # If you would like to submit a bug report, please visit:
        # https://bugreport.java.com/bugreport/crash.jsp
        #


        Current CompileTask:
        C2: 1771 175 b compiler.arraycopy.TestArrayCopyAsLoadsStores::m1 (10 bytes)

        Stack: [0x00007f10a5d1f000,0x00007f10a5e20000], sp=0x00007f10a5e1ab10, free space=1006k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0x9aa351] ConnectionGraph::find_second_addp(Node*, Node*)+0x4d
        V [libjvm.so+0x9a93cc] ConnectionGraph::is_oop_field(Node*, int, bool*)+0x288
        V [libjvm.so+0x9a8e95] ConnectionGraph::add_field(Node*, PointsToNode::EscapeState, int)+0xcd
        V [libjvm.so+0x9a2622] ConnectionGraph::add_node_to_connection_graph(Node*, Unique_Node_List*)+0x326
        V [libjvm.so+0x9a0f7a] ConnectionGraph::compute_escape()+0x2b2
        V [libjvm.so+0x9a0c27] ConnectionGraph::do_analysis(Compile*, PhaseIterGVN*)+0x117
        V [libjvm.so+0x859959] Compile::Optimize()+0x7ab
        V [libjvm.so+0x8530b5] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x13cf
        V [libjvm.so+0x748299] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x185
        V [libjvm.so+0x87088d] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x899
        V [libjvm.so+0x86f4e7] CompileBroker::compiler_thread_loop()+0x3df
        V [libjvm.so+0x88fc3b] CompilerThread::thread_entry(JavaThread*, JavaThread*)+0x69
        V [libjvm.so+0x124901f] JavaThread::thread_main_inner()+0x15d
        V [libjvm.so+0x1248ebf] JavaThread::run()+0x167
        V [libjvm.so+0x12467d0] Thread::call_run()+0x180
        V [libjvm.so+0x105262b] thread_native_entry(Thread*)+0x18f

        Attachments

          Issue Links

            Activity

              People

                epeter Emanuel Peter
                epeter Emanuel Peter
                Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: