Bamboo JVM crashes with SIGSEGV in libresolv.so while looking up IPv6 address
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
Problem
Bamboo JVM crashes with SIGSEGV (Segmentation Fault) with a Null Pointer dereference in libresolv.so while looking up IPv6 addresses.
The following appears in the hs_err_pid*.log
crash log located in the in the directory the Bamboo application was started from. E.g. <bamboo-install>/bin
(may differ depending on start-up method and scripts):
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
42
43
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f3656ab3a91, pid=187647, tid=139870543238912
#
# JRE version: Java(TM) SE Runtime Environment (8.0_45-b14) (build 1.8.0_45-b14)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.45-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libresolv.so.2+0x7a91] __libc_res_nquery+0x1c1
...
...
Stack: [0x00007f3625fb5000,0x00007f36260b6000], sp=0x00007f36260b19b0, free space=1010k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libresolv.so.2+0x7a91] __libc_res_nquery+0x1c1
C [libresolv.so.2+0x7fd1] __libc_res_nquerydomain+0xd1
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 47313 java.net.Inet6AddressImpl.lookupAllHostAddr(Ljava/lang/String;)[Ljava/net/InetAddress; (0 bytes) @ 0x00007f367ef8980c [0x00007f367ef897c0+0x4c]
J 46433 C1 java.net.InetAddress.getAddressesFromNameService(Ljava/lang/String;Ljava/net/InetAddress;)[Ljava/net/InetAddress; (245 bytes) @ 0x00007f368078603c [0x00007f3680785bc0+0x47c]
J 37564 C1 java.net.InetAddress.getAllByName0(Ljava/lang/String;Ljava/net/InetAddress;Z)[Ljava/net/InetAddress; (57 bytes) @ 0x00007f367e89516c [0x00007f367e894f20+0x24c]
J 35072 C1 java.net.InetAddress.getAllByName(Ljava/lang/String;Ljava/net/InetAddress;)[Ljava/net/InetAddress; (387 bytes) @ 0x00007f3680a9d4e4 [0x00007f3680a9b600+0x1ee4]
J 35204 C1 java.net.InetAddress.getAllByName(Ljava/lang/String;)[Ljava/net/InetAddress; (6 bytes) @ 0x00007f3680b265e4 [0x00007f3680b26580+0x64]
j org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(Ljava/lang/String;)[Ljava/net/InetAddress;+1
j org.apache.http.impl.conn.HttpClientConnectionOperator.connect(Lorg/apache/http/conn/ManagedHttpClientConnection;Lorg/apache/http/HttpHost;Ljava/net/InetSocketAddress;ILorg/apache/http/config/SocketConfig;Lorg/apache/http/protocol/HttpContext;)V+88
j org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(Lorg/apache/http/HttpClientConnection;Lorg/apache/http/conn/routing/HttpRoute;ILorg/apache/http/protocol/HttpContext;)V+127
j org.apache.http.impl.execchain.MainClientExec.establishRoute(Lorg/apache/http/auth/AuthState;Lorg/apache/http/HttpClientConnection;Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/HttpRequest;Lorg/apache/http/client/protocol/HttpClientContext;)V+107
J 47397 C1 org.apache.http.impl.execchain.MainClientExec.execute(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/client/methods/HttpRequestWrapper;Lorg/apache/http/client/protocol/HttpClientContext;Lorg/apache/http/client/methods/HttpExecutionAware;)Lorg/apache/http/client/methods/CloseableHttpResponse; (1193 bytes) @ 0x00007f3682d956e4 [0x00007f3682d91b00+0x3be4]
J 46456 C1 org.apache.http.impl.execchain.ProtocolExec.execute(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/client/methods/HttpRequestWrapper;Lorg/apache/http/client/protocol/HttpClientContext;Lorg/apache/http/client/methods/HttpExecutionAware;)Lorg/apache/http/client/methods/CloseableHttpResponse; (502 bytes) @ 0x00007f3682a74f7c [0x00007f3682a6ff40+0x503c]
J 46455 C1 org.apache.http.impl.execchain.RetryExec.execute(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/client/methods/HttpRequestWrapper;Lorg/apache/http/client/protocol/HttpClientContext;Lorg/apache/http/client/methods/HttpExecutionAware;)Lorg/apache/http/client/methods/CloseableHttpResponse; (333 bytes) @ 0x00007f3682a6679c [0x00007f3682a660a0+0x6fc]
J 46453 C1 org.apache.http.impl.execchain.RedirectExec.execute(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/client/methods/HttpRequestWrapper;Lorg/apache/http/client/protocol/HttpClientContext;Lorg/apache/http/client/methods/HttpExecutionAware;)Lorg/apache/http/client/methods/CloseableHttpResponse; (552 bytes) @ 0x00007f3682a7ba64 [0x00007f3682a7a920+0x1144]
J 45610 C1 org.apache.http.impl.client.InternalHttpClient.doExecute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/client/methods/CloseableHttpResponse; (185 bytes) @ 0x00007f3680548e84 [0x00007f3680547520+0x1964]
J 45608 C1 org.apache.http.impl.client.CloseableHttpClient.execute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/client/ResponseHandler;Lorg/apache/http/protocol/HttpContext;)Ljava/lang/Object; (119 bytes) @ 0x00007f368004ccfc [0x00007f368004caa0+0x25c]
J 44236 C1 com.atlassian.plugins.navlink.consumer.http.HttpRequestFactoryImpl.executeGetRequest(Ljava/lang/String;Lorg/apache/http/client/ResponseHandler;)Lcom/atlassian/failurecache/ExpiringValue; (36 bytes) @ 0x00007f368250654c [0x00007f3682505880+0xccc]
j com.atlassian.plugins.navlink.consumer.menu.client.navigation.RestNavigationClient.submitRequest(Ljava/lang/String;Lcom/atlassian/plugins/navlink/consumer/menu/client/navigation/NavigationLinkResponseHandler;)Lcom/atlassian/failurecache/ExpiringValue;+6
j com.atlassian.plugins.navlink.consumer.menu.client.navigation.RestNavigationClient$1.call()Lcom/atlassian/failurecache/ExpiringValue;+16
j com.atlassian.plugins.navlink.consumer.menu.client.navigation.RestNavigationClient$1.call()Ljava/lang/Object;+1
J 46548 C2 java.util.concurrent.FutureTask.run()V (126 bytes) @ 0x00007f3680562f4c [0x00007f3680562ea0+0xac]
J 37935% C2 java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V (225 bytes) @ 0x00007f367fecd588 [0x00007f367fecd360+0x228]
j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub
Diagnosis
Environment
Linux
Symptoms presented on
glib
version 2.14 but may affect others. Can be checked with:1
ldd --version
Cause
Unknown. Suspected underlying issue within glibc
.
Solution
Workaround
Some success in resolving this issue has been had by upgrading glibc
to 2.17.
Alternatively, if IPv6 support isn't required your Bamboo environment, the IPv4 stack can be forced with the below steps:
Add the system property
-
Djava.net
.preferIPv4Stack=true:
Restart Bamboo
Was this helpful?