Bamboo JVM crashes with a SIGSEGV in MinINode::Ideal(PhaseGVN*, bool)
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
Bamboo (and possibly other Atlassian Server applications) crash suddenly with a SIGSEGV JVM crash being reported in the $BAMBOO_INSTALL/logs/catalina.out
Environment
Java (JDK) 8 271 and 272
Diagnosis
The $BAMBOO_INSTALL/logs/catalina.out
may contain the below, it also may not contain this depending on the circumstances of the crash:
catalina.out
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f6c57ae01c4, pid=116003, tid=0x00007f6aa2fda700
#
# JRE version: OpenJDK Runtime Environment (8.0_272-b10) (build 1.8.0_272-b10)
# Java VM: OpenJDK 64-Bit Server VM (25.272-b10 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V [libjvm.so+0x2f01c4] MinINode::Ideal(PhaseGVN*, bool)+0x4e4
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /bamboo/hs_err_pid116003.log
[thread 140090270467840 also had an error][thread 140085487884032 also had an error]
# [ timer expired, abort... ]
There will be a hs_err_pid*.log
within the directory that Bamboo was launched from, in most setups this is $BAMBOO_INSTALL/bin
that shows the following:
hs_err_pid*.log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f6c57ae01c4, pid=116003, tid=0x00007f6aa2fda700
#
# JRE version: OpenJDK Runtime Environment (8.0_272-b10) (build 1.8.0_272-b10)
# Java VM: OpenJDK 64-Bit Server VM (25.272-b10 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V [libjvm.so+0x2f01c4] MinINode::Ideal(PhaseGVN*, bool)+0x4e4
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
# https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%207&component=java-1.8.0-openjdk
#
--------------- T H R E A D ---------------
Current thread (0x00007f6c51744800): JavaThread "C2 CompilerThread6" daemon [_thread_in_native, id=116106, stack(0x00007f6aa2edb000,0x00007f6aa2fdb000)]
siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000000014
...
Stack: [0x00007f6aa2edb000,0x00007f6aa2fdb000], sp=0x00007f6aa2fd6150, free space=1004k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x2f01c4] MinINode::Ideal(PhaseGVN*, bool)+0x4e4
V [libjvm.so+0x99644e] PhaseIterGVN::transform_old(Node*)+0x6e
V [libjvm.so+0x9942cc] PhaseIterGVN::optimize()+0x1ac
V [libjvm.so+0x4b1562] Compile::Optimize()+0xab2
V [libjvm.so+0x4b326d] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool)+0x10cd
V [libjvm.so+0x4088a0] C2Compiler::compile_method(ciEnv*, ciMethod*, int)+0x1d0
V [libjvm.so+0x4babb2] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x8d2
V [libjvm.so+0x4bb880] CompileBroker::compiler_thread_loop()+0x510
V [libjvm.so+0xb032e2] JavaThread::thread_main_inner()+0x212
V [libjvm.so+0x93c7d2] java_start(Thread*)+0xf2
C [libpthread.so.0+0x7ea5] start_thread+0xc5
Current CompileTask:
C2:-200325501 17262968 4 org.apache.http.message.AbstractHttpMessage::removeHeaders (52 bytes)
The key identifiers to look for within this are:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# SIGSEGV
...
# V [libjvm.so+0x2f01c4] MinINode::Ideal(PhaseGVN*, bool)+0x4e4
...
Stack: [0x00007f6aa2edb000,0x00007f6aa2fdb000], sp=0x00007f6aa2fd6150, free space=1004k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x2f01c4] MinINode::Ideal(PhaseGVN*, bool)+0x4e4
V [libjvm.so+0x99644e] PhaseIterGVN::transform_old(Node*)+0x6e
V [libjvm.so+0x9942cc] PhaseIterGVN::optimize()+0x1ac
V [libjvm.so+0x4b1562] Compile::Optimize()+0xab2
V [libjvm.so+0x4b326d] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool)+0x10cd
V [libjvm.so+0x4088a0] C2Compiler::compile_method(ciEnv*, ciMethod*, int)+0x1d0
V [libjvm.so+0x4babb2] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x8d2
V [libjvm.so+0x4bb880] CompileBroker::compiler_thread_loop()+0x510
V [libjvm.so+0xb032e2] JavaThread::thread_main_inner()+0x212
V [libjvm.so+0x93c7d2] java_start(Thread*)+0xf2
C [libpthread.so.0+0x7ea5] start_thread+0xc5
Cause
JDK bug introduced in Java 8 271 and 272:
Solution
Upgrade Java 8 275 or more recent.
Was this helpful?