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

[lworld] C2 crashes when merging values with different types

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: repo-valhalla
    • Fix Version/s: repo-valhalla
    • Component/s: hotspot
    • Labels:

      Description

      I've observed different crashes when merging value types with Objects:

      # Internal Error (/oracle/valhallaExp/open/src/hotspot/share/opto/node.hpp:871), pid=19774, tid=19788
      # assert(is_ValueType()) failed: invalid node class

      Stack: [0x00007f27a65b2000,0x00007f27a66b3000], sp=0x00007f27a66ad0c0, free space=1004k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x1328165] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x5f9
      V [libjvm.so+0x1327b09] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x57
      V [libjvm.so+0x9267a6] report_vm_error(char const*, int, char const*, char const*, ...)+0x164
      V [libjvm.so+0x738e46] Node::as_ValueType() const+0x6a
      V [libjvm.so+0x12ea43e] ValueTypeBaseNode::merge_with(PhaseGVN*, ValueTypeBaseNode const*, int, bool)+0x108
      V [libjvm.so+0x75f1fa] PhiNode::Ideal(PhaseGVN*, bool)+0x3d2
      V [libjvm.so+0x1115763] PhaseIterGVN::transform_old(Node*)+0x127
      V [libjvm.so+0x11154b9] PhaseIterGVN::optimize()+0x12f
      V [libjvm.so+0x8a5ba8] Compile::Optimize()+0x156
      V [libjvm.so+0x89ea41] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x1247
      V [libjvm.so+0x730ef2] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x150
      V [libjvm.so+0x8bcf7a] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x780
      V [libjvm.so+0x8bbcd5] CompileBroker::compiler_thread_loop()+0x3bd
      V [libjvm.so+0x1298b11] compiler_thread_entry(JavaThread*, Thread*)+0x83
      V [libjvm.so+0x12931c8] JavaThread::thread_main_inner()+0x18e
      V [libjvm.so+0x1293018] JavaThread::run()+0x1be
      V [libjvm.so+0x109bb97] thread_native_entry(Thread*)+0x19e


      # Internal Error (/oracle/valhallaExp/open/src/hotspot/share/opto/parse1.cpp:1884), pid=20219, tid=20234
      # assert(n->is_top() || m->is_ValueType() == n->is_ValueType()) failed: value types should only be merged with other value types

      Stack: [0x00007f62658a7000,0x00007f62659a8000], sp=0x00007f62659a4630, free space=1013k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x1328165] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x5f9
      V [libjvm.so+0x1327b09] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x57
      V [libjvm.so+0x9267a6] report_vm_error(char const*, int, char const*, char const*, ...)+0x164
      V [libjvm.so+0x10e9b37] Parse::merge_common(Parse::Block*, int)+0x11ef
      V [libjvm.so+0x10e869a] Parse::merge(int)+0xc6
      V [libjvm.so+0x10e8101] Parse::do_one_block()+0x2ab
      V [libjvm.so+0x10e3fe0] Parse::do_all_blocks()+0x3b4
      V [libjvm.so+0x10e3b2a] Parse::Parse(JVMState*, ciMethod*, float)+0x13a0
      V [libjvm.so+0x732d1d] ParseGenerator::generate(JVMState*)+0x12f
      V [libjvm.so+0x89e63d] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0xe43
      V [libjvm.so+0x730ef2] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x150
      V [libjvm.so+0x8bcf7a] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x780
      V [libjvm.so+0x8bbcd5] CompileBroker::compiler_thread_loop()+0x3bd
      V [libjvm.so+0x1298b11] compiler_thread_entry(JavaThread*, Thread*)+0x83
      V [libjvm.so+0x12931c8] JavaThread::thread_main_inner()+0x18e
      V [libjvm.so+0x1293018] JavaThread::run()+0x1be
      V [libjvm.so+0x109bb97] thread_native_entry(Thread*)+0x19e

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: