[lworld] Various C2 crashes with -XX:-ScalarizeInlineTypes

XMLWordPrintable

      Stress testing with -XX:-ScalarizeInlineTypes leads to different crashes:

      # Internal Error (/oracle/valhalla/open/src/hotspot/share/opto/parseHelper.cpp:351), pid=443507, tid=443521
      # assert(!gvn().type(holder)->maybe_null()) failed: Inline types are null-free

      Current CompileTask:
      C2: 835 191 b 4 compiler.valhalla.inlinetypes.MyValue1::<init> (90 bytes)

      Stack: [0x00007fc955739000,0x00007fc95583a000], sp=0x00007fc955836a70, free space=1014k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x16c2304] Parse::do_withfield()+0xdf4
      V [libjvm.so+0x16aee4f] Parse::do_one_bytecode()+0xd0f
      V [libjvm.so+0x1695c88] Parse::do_one_block()+0x848
      V [libjvm.so+0x1696bb0] Parse::do_all_blocks()+0x130
      V [libjvm.so+0x169bc40] Parse::Parse(JVMState*, ciMethod*, float)+0xe70
      V [libjvm.so+0x870355] ParseGenerator::generate(JVMState*)+0x115
      V [libjvm.so+0xa50a41] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0x1071
      V [libjvm.so+0x86d24a] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1ea
      V [libjvm.so+0xa619e8] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xe08
      V [libjvm.so+0xa62538] CompileBroker::compiler_thread_loop()+0x5a8
      V [libjvm.so+0x198e706] JavaThread::thread_main_inner()+0x256
      V [libjvm.so+0x1995080] Thread::call_run()+0x100
      V [libjvm.so+0x164f996] thread_native_entry(Thread*)+0x116


      # Internal Error (/oracle/valhalla/open/src/hotspot/share/oops/compressedOops.inline.hpp:57), pid=444221, tid=444235
      # assert(Universe::heap()->is_in(result)) failed: object not in heap 0x00000005f0db8500

      Current CompileTask:
      C2: 823 190 !b 4 compiler.valhalla.inlinetypes.MyValue1::hash (36 bytes)

      Stack: [0x00007f515e334000,0x00007f515e435000], sp=0x00007f515e42fac0, free space=1006k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x908ddb] AccessInternal::PostRuntimeDispatch<G1BarrierSet::AccessBarrier<286822ul, G1BarrierSet>, (AccessInternal::BarrierType)3, 286822ul>::oop_access_barrier(oop, long)+0x1db
      V [libjvm.so+0x90620a] ciInstance::field_value_impl(BasicType, int)+0xca
      V [libjvm.so+0x907a88] ciInstance::field_value(ciField*)+0x288
      V [libjvm.so+0x8f992e] ciField::constant_value_of(ciObject*)+0x4e
      V [libjvm.so+0x19d4fb8] Type::make_constant_from_field(ciField*, ciInstance*, BasicType, bool)+0x38
      V [libjvm.so+0xda9c73] GraphKit::make_constant_from_field(ciField*, Node*)+0x83
      V [libjvm.so+0x16b3f39] Parse::do_get_xxx(Node*, ciField*)+0x69
      V [libjvm.so+0x16b69c2] Parse::do_field_access(bool, bool)+0xa02
      V [libjvm.so+0x16b109d] Parse::do_one_bytecode()+0x2f5d
      V [libjvm.so+0x1695c88] Parse::do_one_block()+0x848
      V [libjvm.so+0x1696bb0] Parse::do_all_blocks()+0x130
      V [libjvm.so+0x169bc40] Parse::Parse(JVMState*, ciMethod*, float)+0xe70
      V [libjvm.so+0x870355] ParseGenerator::generate(JVMState*)+0x115
      V [libjvm.so+0x8711d6] LateInlineCallGenerator::do_late_inline()+0xcc6
      V [libjvm.so+0xa46b5a] Compile::inline_incrementally_one()+0x14a
      V [libjvm.so+0xa46f0f] Compile::inline_incrementally(PhaseIterGVN&)+0x18f
      V [libjvm.so+0xa4e309] Compile::Optimize()+0x3e9
      V [libjvm.so+0xa513ad] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0x19dd
      V [libjvm.so+0x86d24a] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1ea
      V [libjvm.so+0xa619e8] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xe08
      V [libjvm.so+0xa62538] CompileBroker::compiler_thread_loop()+0x5a8
      V [libjvm.so+0x198e6e6] JavaThread::thread_main_inner()+0x256
      V [libjvm.so+0x1995060] Thread::call_run()+0x100
      V [libjvm.so+0x164f996] thread_native_entry(Thread*)+0x116

            Assignee:
            Tobias Hartmann
            Reporter:
            Tobias Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: