Java fastdebug build crashes with assert in Xcomp mode and with disabled ReduceBulkZeroing:
java -Xcomp -XX:-ReduceBulkZeroing
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/HUDSON/workspace/9-2-build-linux-amd64/jdk9/2755/hotspot/src/share/vm/opto/memnode.cpp:523), pid=4155, tid=0x00007f07f7831700
# assert(alloc != __null && alloc->initialization()->is_complete_with_arraycopy()) failed: broken allocation
#
# JRE version: Java(TM) SE Runtime Environment (9.0-b66) (build 1.9.0-ea-fastdebug-b66)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.9.0-ea-fastdebug-b66 compiled mode linux-amd64 compressed oops)
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %P" (or dumping to /home/dmitry/bundles/jdk9/b66/jdk1.9.0/fastdebug/bin/core.4155)
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
--------------- T H R E A D ---------------
Current thread (0x00007f0810145000): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=4163, stack(0x00007f07f7731000,0x00007f07f7832000)]
Stack: [0x00007f07f7731000,0x00007f07f7832000], sp=0x00007f07f782c200, free space=1004k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x10db48f] VMError::report_and_die()+0x14f
V [libjvm.so+0x7cf8fb] report_vm_error(char const*, int, char const*, char const*)+0x7b
V [libjvm.so+0xd568b2] LoadNode::find_previous_arraycopy(PhaseTransform*, Node*, Node*&, bool) const+0x4f2
V [libjvm.so+0xd65447] MemNode::find_previous_store(PhaseTransform*)+0x107
V [libjvm.so+0xd6617b] LoadNode::Ideal(PhaseGVN*, bool)+0x5ab
V [libjvm.so+0xeb3f41] PhaseIterGVN::transform_old(Node*)+0xb1
V [libjvm.so+0xeaf1f2] PhaseIterGVN::optimize()+0x82
V [libjvm.so+0xcb57a1] PhaseIdealLoop::build_and_optimize(bool, bool)+0x1191
V [libjvm.so+0x750a23] Compile::Optimize()+0x4c3
V [libjvm.so+0x75276b] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool)+0x137b
V [libjvm.so+0x5fa5a6] C2Compiler::compile_method(ciEnv*, ciMethod*, int)+0x116
V [libjvm.so+0x75d2d1] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x8d1
V [libjvm.so+0x75ddb8] CompileBroker::compiler_thread_loop()+0x408
V [libjvm.so+0x105a934] JavaThread::thread_main_inner()+0x1d4
V [libjvm.so+0x105ac56] JavaThread::run()+0x296
V [libjvm.so+0xe25d82] java_start(Thread*)+0xf2
C [libpthread.so.0+0x8182] start_thread+0xc2
...
hs_err_pid4155.log and replay_pid4155.log are attached.
This assert was introduced byJDK-8076188 and jdk9-b66 crashes with assert after that. jdk9-b65 works fine.
java -Xcomp -XX:-ReduceBulkZeroing
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/HUDSON/workspace/9-2-build-linux-amd64/jdk9/2755/hotspot/src/share/vm/opto/memnode.cpp:523), pid=4155, tid=0x00007f07f7831700
# assert(alloc != __null && alloc->initialization()->is_complete_with_arraycopy()) failed: broken allocation
#
# JRE version: Java(TM) SE Runtime Environment (9.0-b66) (build 1.9.0-ea-fastdebug-b66)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.9.0-ea-fastdebug-b66 compiled mode linux-amd64 compressed oops)
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %P" (or dumping to /home/dmitry/bundles/jdk9/b66/jdk1.9.0/fastdebug/bin/core.4155)
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
--------------- T H R E A D ---------------
Current thread (0x00007f0810145000): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=4163, stack(0x00007f07f7731000,0x00007f07f7832000)]
Stack: [0x00007f07f7731000,0x00007f07f7832000], sp=0x00007f07f782c200, free space=1004k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x10db48f] VMError::report_and_die()+0x14f
V [libjvm.so+0x7cf8fb] report_vm_error(char const*, int, char const*, char const*)+0x7b
V [libjvm.so+0xd568b2] LoadNode::find_previous_arraycopy(PhaseTransform*, Node*, Node*&, bool) const+0x4f2
V [libjvm.so+0xd65447] MemNode::find_previous_store(PhaseTransform*)+0x107
V [libjvm.so+0xd6617b] LoadNode::Ideal(PhaseGVN*, bool)+0x5ab
V [libjvm.so+0xeb3f41] PhaseIterGVN::transform_old(Node*)+0xb1
V [libjvm.so+0xeaf1f2] PhaseIterGVN::optimize()+0x82
V [libjvm.so+0xcb57a1] PhaseIdealLoop::build_and_optimize(bool, bool)+0x1191
V [libjvm.so+0x750a23] Compile::Optimize()+0x4c3
V [libjvm.so+0x75276b] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool)+0x137b
V [libjvm.so+0x5fa5a6] C2Compiler::compile_method(ciEnv*, ciMethod*, int)+0x116
V [libjvm.so+0x75d2d1] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x8d1
V [libjvm.so+0x75ddb8] CompileBroker::compiler_thread_loop()+0x408
V [libjvm.so+0x105a934] JavaThread::thread_main_inner()+0x1d4
V [libjvm.so+0x105ac56] JavaThread::run()+0x296
V [libjvm.so+0xe25d82] java_start(Thread*)+0xf2
C [libpthread.so.0+0x8182] start_thread+0xc2
...
hs_err_pid4155.log and replay_pid4155.log are attached.
This assert was introduced by
- relates to
-
JDK-8076188 Optimize arraycopy out for non escaping destination
-
- Resolved
-