Jvm崩溃:Java运行时环境检测到致命错误

时间:2021-01-29 17:07:42

I had a tomcat crash on live server , which generated hs_err_pid file .In this there is a Problematic frame -> _wordcopy_fwd_dest_aligned+0x54. I searched in all similar cases of jvm crash but couldn't find whats the meaning of this problematic frame.Any suggestions ?

我在live服务器上遇到了tomcat崩溃,它生成了hs_err_pid文件,这是一个有问题的框架——> _wordcopy_fwd_dest_align +0x54。我搜索了所有类似的jvm崩溃案例,但找不到这个问题框架的含义。有什么建议吗?

 #
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGBUS (0x7) at pc=0x00007f61087e3cb4, pid=18886, tid=140051814115072
#
# JRE version: 6.0_37-b06
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.12-b01 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libc.so.6+0x89cb4]  _wordcopy_fwd_dest_aligned+0x54
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

---------------  T H R E A D  ---------------

Current thread (0x00007f6044017000):  JavaThread "ajp-bio-10009-exec-97" daemon [_thread_in_vm, id=28541, stack(0x00007f605a916000,0x00007f605aa17000)]

siginfo:si_signo=SIGBUS: si_errno=0, si_code=2 (BUS_ADRERR), si_addr=0x00007f6059d3f9f8

Registers:
RAX=0x0000000000000038, RBX=0x00007f6059d3f9f9, RCX=0x0000000000000001, RDX=0x000000000000004c
RSP=0x00007f605aa14298, RBP=0x00000006e903e928, RSI=0x00007f6059d3f9f8, RDI=0x00000006e903e928
R8 =0x0000000000000008, R9 =0x00007f61085ecb38, R10=0x00007f60fd010ec1, R11=0x00007f61085d4090
R12=0x00000006e903e928, R13=0x0000000000000268, R14=0x00007f61085f0bc0, R15=0x00007f605aa14430
RIP=0x00007f61087e3cb4, EFLAGS=0x0000000000010202, CSGSFS=0x000000000000e033, ERR=0x0000000000000004
TRAPNO=0x000000000000000e

Top of Stack: (sp=0x00007f605aa14298)
0x00007f605aa14298:   00007f6059d3f9f9 00000006e903e928
0x00007f605aa142a8:   00007f61087dd8ae 0000000000000004
0x00007f605aa142b8:   00007f605aa15b60 00007f605aa142e0
0x00007f605aa142c8:   00007f6044017000 0000000000000268
0x00007f605aa142d8:   00007f6107f313eb 00007f605aa14350
0x00007f605aa142e8:   00007f6108392c00 0000000000000010
0x00007f605aa142f8:   00007f6059d3f9f9 00007f6044017000
0x00007f605aa14308:   00007f60a11b4338 00007f6044017000
0x00007f605aa14318:   00000000ffffffff 00007f6108430701
0x00007f605aa14328:   00000007e00cf808 0000000000000000
0x00007f605aa14338:   00000007e00cf808 00007f605aa14450
0x00007f605aa14348:   00007f6044017000 00007f605aa143f0
0x00007f605aa14358:   00007f60fd010eee 0000000000000268
0x00007f605aa14368:   00007f6107ef6a6c 0000000000000000
0x00007f605aa14378:   00007f60a11b4338 0000000000000004
0x00007f605aa14388:   00000000ffffffff 00007f6108430701
0x00007f605aa14398:   0000000000001389 00007f605aa14460
0x00007f605aa143a8:   00007f6107ef63ad 00007f605aa143b0
0x00007f605aa143b8:   0000000000000000 00007f605aa14450
0x00007f605aa143c8:   00000007e00d2508 0000000000000000
0x00007f605aa143d8:   00000007e00cf808 0000000000000000
0x00007f605aa143e8:   00007f605aa14410 00007f605aa14498
0x00007f605aa143f8:   00007f60fd005a82 0000000000000000
0x00007f605aa14408:   00007f60fd00df58 0000000000000268
0x00007f605aa14418:   0000000400000002 0000000000000010
0x00007f605aa14428:   00007f60a11b4340 00000006e903e918
0x00007f605aa14438:   00007f6059d3f9f9 0000000000001389
0x00007f605aa14448:   0000000000000000 000000071005d290
0x00007f605aa14458:   00007f605aa14458 00000007e015e822
0x00007f605aa14468:   00007f605aa14508 00000007e015f408
0x00007f605aa14478:   0000000000000000 00000007e015e850
0x00007f605aa14488:   00007f605aa14410 00007f605aa144c8 

Instructions: (pc=0x00007f61087e3cb4)
0x00007f61087e3c94:   1b 48 85 d2 74 42 4c 8b 1e 48 8b 6e 08 48 83 ef
0x00007f61087e3ca4:   08 48 83 c6 08 e9 98 00 00 00 66 90 48 83 ea 01
0x00007f61087e3cb4:   4c 8b 16 4c 8b 5e 08 0f 85 bf 00 00 00 0f 1f 80
0x00007f61087e3cc4:   00 00 00 00 89 c1 49 d3 e3 44 89 c1 4c 89 d8 49 

Register to memory mapping:

RAX=0x0000000000000038 is an unknown value
RBX=0x00007f6059d3f9f9 is an unknown value
RCX=0x0000000000000001 is an unknown value
RDX=0x000000000000004c is an unknown value
RSP=0x00007f605aa14298 is pointing into the stack for thread: 0x00007f6044017000
RBP=

2 个解决方案

#1


2  

  1. Crash you observed is not a java issue it is redhat issue "https://bugzilla.redhat.com/show_bug.cgi?id=546158"
  2. 您观察到的崩溃不是java问题,而是redhat发出的“https://bugzilla.redhat.com/show_bug.cgi?id=546158”
  3. What is Problematic Frame: It is the top frame resulted in the crash, in your case it is native frame (C) resulted in libC.so file. Please find more details here
  4. 有问题的框架:它是顶部框架导致了崩溃,在你的例子中它是本机框架(C)导致了libC。所以文件。详情请点击这里

#2


0  

There are several possibilities, here. But unless you are using any native libraries (e.g. tcnative), the fault lies completely outside the application (including Tomcat here as part of "the application"). Nothing the application can do should cause the JVM to crash.

这里有几种可能性。但是,除非您正在使用任何本机库(例如tcnative),否则错误完全位于应用程序之外(包括作为“应用程序”一部分的Tomcat)。应用程序所能做的任何事情都不应该导致JVM崩溃。

  1. There is a bug in a native library you are using
  2. 您正在使用的本机库中有一个错误
  3. There is a bug in the JVM
  4. JVM中有一个错误
  5. There is a bug in libc
  6. libc里有个虫子
  7. You have a hardware error
  8. 你有一个硬件错误

I think that #1 is the most likely if you actually have any native components.

我认为如果您确实有任何本机组件,那么#1是最有可能的。

I think #4 is the most likely if you do not have any native components. Every time I've ever seen a SIGBUS it has turned out to be a problem with the underlying hardware. If possible, take that machine out of service and run memtest86+ (or equivalent for your architecture) on the machine. It will exercise the memory, CPU, the system bus to see if working them constantly can expose a problem.

我认为如果您没有任何本机组件,那么#4是最可能的。每次我看到SIGBUS,都发现底层硬件出了问题。如果可能的话,将该机器停用,并在机器上运行testmem86 +(或与您的体系结构等效)。它将对内存、CPU和系统总线进行测试,以查看是否持续运行它们会暴露问题。

If your system passes 2 tests of memtest86+, I'd say that you have more likely found a bug in the JVM (unlikely) or in libc (even less likely). In either of these cases, upgrade everything to the latest versions and re-try.

如果您的系统通过了两次memtest86+测试,那么我认为您更可能在JVM(不太可能)或libc(更不可能)中发现bug。在这两种情况下,将所有内容升级到最新版本并重新尝试。

#1


2  

  1. Crash you observed is not a java issue it is redhat issue "https://bugzilla.redhat.com/show_bug.cgi?id=546158"
  2. 您观察到的崩溃不是java问题,而是redhat发出的“https://bugzilla.redhat.com/show_bug.cgi?id=546158”
  3. What is Problematic Frame: It is the top frame resulted in the crash, in your case it is native frame (C) resulted in libC.so file. Please find more details here
  4. 有问题的框架:它是顶部框架导致了崩溃,在你的例子中它是本机框架(C)导致了libC。所以文件。详情请点击这里

#2


0  

There are several possibilities, here. But unless you are using any native libraries (e.g. tcnative), the fault lies completely outside the application (including Tomcat here as part of "the application"). Nothing the application can do should cause the JVM to crash.

这里有几种可能性。但是,除非您正在使用任何本机库(例如tcnative),否则错误完全位于应用程序之外(包括作为“应用程序”一部分的Tomcat)。应用程序所能做的任何事情都不应该导致JVM崩溃。

  1. There is a bug in a native library you are using
  2. 您正在使用的本机库中有一个错误
  3. There is a bug in the JVM
  4. JVM中有一个错误
  5. There is a bug in libc
  6. libc里有个虫子
  7. You have a hardware error
  8. 你有一个硬件错误

I think that #1 is the most likely if you actually have any native components.

我认为如果您确实有任何本机组件,那么#1是最有可能的。

I think #4 is the most likely if you do not have any native components. Every time I've ever seen a SIGBUS it has turned out to be a problem with the underlying hardware. If possible, take that machine out of service and run memtest86+ (or equivalent for your architecture) on the machine. It will exercise the memory, CPU, the system bus to see if working them constantly can expose a problem.

我认为如果您没有任何本机组件,那么#4是最可能的。每次我看到SIGBUS,都发现底层硬件出了问题。如果可能的话,将该机器停用,并在机器上运行testmem86 +(或与您的体系结构等效)。它将对内存、CPU和系统总线进行测试,以查看是否持续运行它们会暴露问题。

If your system passes 2 tests of memtest86+, I'd say that you have more likely found a bug in the JVM (unlikely) or in libc (even less likely). In either of these cases, upgrade everything to the latest versions and re-try.

如果您的系统通过了两次memtest86+测试,那么我认为您更可能在JVM(不太可能)或libc(更不可能)中发现bug。在这两种情况下,将所有内容升级到最新版本并重新尝试。