问题
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 ?
#
# 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=
回答1:
- Crash you observed is not a java issue it is redhat issue
"https://bugzilla.redhat.com/show_bug.cgi?id=546158"
- 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
回答2:
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.
- There is a bug in a native library you are using
- There is a bug in the JVM
- There is a bug in
libc
- You have a hardware error
I think that #1 is the most likely if you actually have any native components.
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.
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.
来源:https://stackoverflow.com/questions/44128783/jvm-crash-fatal-error-has-been-detected-by-the-java-runtime-environment