问题描述
在实际项目部署过程中,用户生产环境频繁出现宕机的情况,并且生成hs_err文件。更换多个版本JDK【openjdk1.8_121,openjdk1.8_272,openjdk1.8_312,openjdk1.8_402,orcalejdk1.8】,均出现该问题。
日志头
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f1fb6fc1231, pid=3736522, tid=0x00007f1f260e0700
#
# JRE version: OpenJDK Runtime Environment (8.0_402-b06) (build 1.8.0_402-b06)
# Java VM: OpenJDK 64-Bit Server VM (25.402-b06 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [ld-linux-x86-64.so.2+0x9231]
栈帧
Stack: [0x00007f1f25fe0000,0x00007f1f260e1000], sp=0x00007f1f260df370, free space=1020k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [ld-linux-x86-64.so.2+0x9231]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j java.lang.ClassLoader$NativeLibrary.unload(Ljava/lang/String;Z)V+0
j java.lang.ClassLoader$NativeLibrary.finalize()V+87
J 6964% C2 java.lang.ref.Finalizer$FinalizerThread.run()V (55 bytes) @ 0x00007f1fa1d2f2f8 [0x00007f1fa1d2f040+0x2b8]
v ~StubRoutines::call_stub
解决思路
参考:Loading...
网上有很多解决方法,这里提供几种思路:
1. 配置环境变量:export LD_BIND_NOW=1
2. linux内核存在bug,升级内核版本。