SIGSEGV in C2 Node::unique_ctrl_out on 11.0.4
Vitaly Davidovich
vitalyd at gmail.com
Wed Sep 18 20:31:31 UTC 2019
Hi all,
We're seeing the below segfault occur sporadically when running Ant (i.e.
org.apache.tools.ant.launch.Launcher) as part of a build. This is OpenJDK
11.0.4. I've not reported it there (yet) - wanted to see if the backtrace
rings a bell for any experts on this list.
I can share more details of the hs_err file.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00001494dada6d7b, pid=53813, tid=53868
#
# JRE version: OpenJDK Runtime Environment (11.0.4+11) (build 11.0.4+11)
# Java VM: OpenJDK 64-Bit Server VM (11.0.4+11, mixed mode, tiered,
compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0xbcbd7b] Node::unique_ctrl_out() const+0xb
Stack: [0x00001494b0351000,0x00001494b0452000], sp=0x00001494b044cf00,
free space=1007k
Native frames: (J=compiled Java code, A=aot compiled Java code,
j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xbcbd7b] Node::unique_ctrl_out() const+0xb
V [libjvm.so+0xa8128e] PhaseIterGVN::clone_loop_predicates(Node*, Node*,
bool)+0x4ce
V [libjvm.so+0x84863b] split_if(IfNode*, PhaseIterGVN*)+0x114b
V [libjvm.so+0x84ad58] IfNode::Ideal(PhaseGVN*, bool)+0x4a8
V [libjvm.so+0xc5b5de] PhaseIterGVN::transform_old(Node*)+0x6e
V [libjvm.so+0xc58474] PhaseIterGVN::optimize()+0x134
V [libjvm.so+0x62f3c0] Compile::Optimize()+0x580
V [libjvm.so+0x63096a] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*,
int, bool, bool, bool, DirectiveSet*)+0xbea
V [libjvm.so+0x5466bc] C2Compiler::compile_method(ciEnv*, ciMethod*, int,
DirectiveSet*)+0xbc
V [libjvm.so+0x63aa2d]
CompileBroker::invoke_compiler_on_method(CompileTask*)+0x49d
V [libjvm.so+0x63c1d8] CompileBroker::compiler_thread_loop()+0x598
V [libjvm.so+0xdbd423] JavaThread::thread_main_inner()+0x103
V [libjvm.so+0xdbd6f5] JavaThread::run()+0x2a5
V [libjvm.so+0xdb93aa] Thread::call_run()+0x13a
V [libjvm.so+0xc01c9e] thread_native_entry(Thread*)+0xee
Looking at the disassembly for unique_ctrl_out and where the signal is
generated, it would appear that the `this` ptr is null (i.e.
clone_loop_predicates() calls this method on a NULL).
Thanks!
More information about the hotspot-compiler-dev
mailing list