Hello Everyone,
This is my first post in Java forum and I am quite excited!
Recently we are seeing some sporadic JVM crashes in our environments. In all of them JVM crashed while reading from a NULL pointer:
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000005f77a4e6, pid=2784, tid=0x0000000000002684
#
# JRE version: Java(TM) SE Runtime Environment (8.0_92-b14) (build 1.8.0_92-b14)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.92-b14 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# V [jvm.dll+0x13a4e6]
.
.
.
siginfo: ExceptionCode=0xc0000005, reading address 0x0000000000000003
.
.
.
Stack: [0x0000000040680000,0x0000000040780000], sp=0x000000004077d160, free space=1012k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0x13a4e6]
V [jvm.dll+0x76f66]
V [jvm.dll+0x70658]
V [jvm.dll+0x70d82]
V [jvm.dll+0x17be19]
C 0x0000000001a0c6bd
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 4027 java.lang.Throwable.getStackTraceElement(I)Ljava/lang/StackTraceElement; (0 bytes) @ 0x0000000001a0c63b [0x0000000001a0c600+0x3b]
J 41885 C2 java.lang.Throwable.getStackTrace()[Ljava/lang/StackTraceElement; (11 bytes) @ 0x000000000739ff2c [0x000000000739fdc0+0x16c]
One interesting thing I noticed that 85% of the threads were in "_thread_blocked" state and VM state was "synchronizing (normal execution)". I don't know if that could have caused the problem or not.
Total number of threads: 485
_thread_blocked = 413
_thread_in_native = 71
_thread_in_vm = 1
So I was trying to decipher the Core dump(hs_err_pid*.mdmp) using WinDdbg to get to the bottom of it. Problem is that I am not been able to acquire PDB files for Java DLLs and for that reason WinDbg can't help much. Can someone please let me know how can I get those Symbols?
We are running JRE 1.8.0_92-b14 on Windows Server 2012 R2. Thanks for your help in advance!
Thanks!
Suvendu