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
# 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