[lworld] assert(phi->_idx >= nodes_size()) failed: only new Phi per instance memory slice

XMLWordPrintable

    • generic
    • generic

      The following tests are failing an assertion in the Valhalla CI:

      compiler/valhalla/inlinetypes/TestArrayNullMarkers.java#AVF
      compiler/valhalla/inlinetypes/TestArrayNullMarkers.java#NVF-AVF

      The assertion failure looks like this:

      # Internal Error (/opt/mach5/mesos/work_dir/slaves/da1065b5-7b94-4f0d-85e9-a3a252b9a32e-S11665/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/587f552f-6cd4-46a5-93b0-085e4eeca411/runs/31676a2c-623f-4ebf-a55b-0ec125f5a224/workspace/open/src/hotspot/share/opto/escape.cpp:4106), pid=2956128, tid=2956145
      # assert(phi->_idx >= nodes_size()) failed: only new Phi per instance memory slice
      #
      # JRE version: Java(TM) SE Runtime Environment (27.0+1) (fastdebug build 27-valhalla+1-20)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 27-valhalla+1-20, mixed mode, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
      # Problematic frame:
      # V [libjvm.so+0xc23084] ConnectionGraph::create_split_phi(PhiNode*, int, GrowableArray<PhiNode*>&, bool&)+0x5f8

      Here's an example stack trace:

      --------------- T H R E A D ---------------

      Current thread (0x0000ffff9023d7f0): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=2956145, stack(0x0000ffff711ae000,0x0000ffff713ac000) (2040K)]


      Current CompileTask:
      C2:10089 378 % !b compiler.valhalla.inlinetypes.TestArrayNullMarkers::main @ 698 (2967 bytes)

      Stack: [0x0000ffff711ae000,0x0000ffff713ac000], sp=0x0000ffff713a5e50, free space=2015k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xc23084] ConnectionGraph::create_split_phi(PhiNode*, int, GrowableArray<PhiNode*>&, bool&)+0x5f8 (escape.cpp:4106)
      V [libjvm.so+0xc23160] ConnectionGraph::split_memory_phi(PhiNode*, int, GrowableArray<PhiNode*>&, unsigned int)+0x58 (escape.cpp:4140)
      V [libjvm.so+0xc242d8] ConnectionGraph::find_inst_mem(Node*, int, GrowableArray<PhiNode*>&, unsigned int)+0xa28 (escape.cpp:4445)
      V [libjvm.so+0xc27534] ConnectionGraph::split_unique_types(GrowableArray<Node*>&, GrowableArray<ArrayCopyNode*>&, GrowableArray<MergeMemNode*>&, Unique_Node_List&)+0x1894 (escape.cpp:4990)
      V [libjvm.so+0xc31228] ConnectionGraph::compute_escape()+0x22e8 (escape.cpp:420)
      V [libjvm.so+0xc317cc] ConnectionGraph::do_analysis(Compile*, PhaseIterGVN*)+0x12c (escape.cpp:121)
      V [libjvm.so+0xa3d3a4] Compile::Optimize()+0x4d8 (compile.cpp:2987)
      V [libjvm.so+0xa3fe70] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1540 (compile.cpp:885)
      V [libjvm.so+0x846f9c] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x2d8 (c2compiler.cpp:149)
      V [libjvm.so+0xa4edcc] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xb08 (compileBroker.cpp:2345)
      V [libjvm.so+0xa4fcf8] CompileBroker::compiler_thread_loop()+0x638 (compileBroker.cpp:1989)
      V [libjvm.so+0xfb8de8] JavaThread::thread_main_inner()+0x108 (javaThread.cpp:777)
      V [libjvm.so+0x199c7ec] Thread::call_run()+0xac (thread.cpp:242)
      V [libjvm.so+0x1630dfc] thread_native_entry(Thread*)+0x11c (os_linux.cpp:860)
      C [libc.so.6+0x80b50] start_thread+0x300

            Assignee:
            Unassigned
            Reporter:
            Daniel Daugherty
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: