在java开发中,或许会出现如下错误,这种错误大多出现在开发中涉及本地代码的地方。
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000057441b5f, pid=9272, tid=0x0000000000004534
# 信号名称 信号码 程序计数器的值 进程号 线程号
# JRE version: Java(TM) SE Runtime Environment (8.0_171-b11) (build 1.8.0_171-b11)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.171-b11 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# V [jvm.dll+0xc1b5f]
问题帧信息(和pc等价,但表达方式为 本地库+偏移量)
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
这种错误主要来源:
问题分析参考:https://www.cnblogs.com/yelao/p/9814467.html
# # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000057441b5f, pid=9272, tid=0x0000000000004534 # 信号名称 信号码 程序计数器的值 进程号 线程号 # JRE version: Java(TM) SE Runtime Environment (8.0_171-b11) (build 1.8.0_171-b11) # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.171-b11 mixed mode windows-amd64 compressed oops) # Problematic frame: # V [jvm.dll+0xc1b5f] 问题帧信息(和pc等价,但表达方式为 本地库+偏移量) # # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows # # If you would like to submit a bug report, please visit: # http://bugreport.java.com/bugreport/crash.jsp # --------------- T H R E A D --------------- //当前线程 Current thread (0x0000000003422800): JavaThread "main" [_thread_in_vm, id=17716, stack(0x0000000003130000,0x0000000003230000)] 指针 线程类型 名 何种线程 线程id 栈区间 //导致虚拟机终止的非预期的信号信息 siginfo: ExceptionCode=0xc0000005, reading address 0x0000000000000240 信号码 出问题的指针 Registers: //寄存器上下文 RAX=0x000000001821ba50, RBX=0x00000000033184c0, RCX=0x000000000000000a, RDX=0x000000000000000b RSP=0x000000000322ca30, RBP=0x0000000003422800, RSI=0x0000000003422800, RDI=0x0000000000000220 R8 =0x000000000000000b, R9 =0x00000000033184c0, R10=0x0000000000000000, R11=0x0000000000000005 R12=0x0000000000000006, R13=0x000000000322cb10, R14=0x0000000000000001, R15=0x000000000322cbb0 RIP=0x0000000057441b5f, EFLAGS=0x0000000000010202 Top of Stack: (sp=0x000000000322ca30) //栈顶程序计数器旁的操作吗,可以被反汇编成系统崩溃前的指令 0x000000000322ca30: 0000000003472450 00000000575b7021 0x000000000322ca40: 0000000000000000 0000000057597b75 0x000000000322ca50: 0000000000000000 0000000019cf8f3b 0x000000000322ca60: 0000670b2094b49f 00007ff94fa70428 0x000000000322ca70: 0000000000000010 0000000000000010 0x000000000322ca80: 0000000000000000 0000000000000000 0x000000000322ca90: 000000000322cbb0 00000000033184c0 0x000000000322caa0: 000000000322cda8 000000000322cc60 0x000000000322cab0: 0000000003422800 00000000574431c7 0x000000000322cac0: 0000000017b11288 0000000003422800 0x000000000322cad0: 0000000100002368 0000000003422800 0x000000000322cae0: 0000000100001ef8 00007ff94be84301 0x000000000322caf0: 0000000003422800 00000000013f0f00 0x000000000322cb00: 0000000017b11288 0000000003422800 0x000000000322cb10: 0000000017b11288 0000000003422800 0x000000000322cb20: 000000000322cf08 0000000000000000 Instructions: (pc=0x0000000057441b5f)//出异常处的指令,可反编译为汇编帮助分析 0x0000000057441b3f: f8 48 89 44 0a f0 45 3b 01 7c e6 41 ff 09 48 85 0x0000000057441b4f: ff 0f 84 7c 02 00 00 45 84 f6 0f 84 23 01 00 00 0x0000000057441b5f: 8b 47 20 c1 e8 0a a8 01 0f 84 15 01 00 00 4c 8b 0x0000000057441b6f: a5 30 01 00 00 48 8b 1d 8d 73 73 00 49 8b 44 24 Register to memory mapping: //寄存器和内存映射信息 RAX=0x000000001821ba50 is an unknown value RBX=0x00000000033184c0 is an unknown value RCX=0x000000000000000a is an unknown value RDX=0x000000000000000b is an unknown value RSP=0x000000000322ca30 is pointing into the stack for thread: 0x0000000003422800 RBP=0x0000000003422800 is a thread RSI=0x0000000003422800 is a thread RDI=0x0000000000000220 is an unknown value R8 =0x000000000000000b is an unknown value R9 =0x00000000033184c0 is an unknown value R10=0x0000000000000000 is an unknown value R11=0x0000000000000005 is an unknown value R12=0x0000000000000006 is an unknown value R13=0x000000000322cb10 is pointing into the stack for thread: 0x0000000003422800 R14=0x0000000000000001 is an unknown value R15=0x000000000322cbb0 is pointing into the stack for thread: 0x0000000003422800 //线程栈。包含了地址,栈顶,栈计数器和线程尚未使用的栈信息 Stack: [0x0000000003130000,0x0000000003230000], sp=0x000000000322ca30, free space=1010k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [jvm.dll+0xc1b5f] V [jvm.dll+0xc31c7] V [jvm.dll+0x215877] V [jvm.dll+0x215bea] V [jvm.dll+0x7cad5] V [jvm.dll+0x7d164] V [jvm.dll+0x7e836] V [jvm.dll+0x7a2f7] V [jvm.dll+0x5e02f] V [jvm.dll+0x7c544] V [jvm.dll+0x192731] V [jvm.dll+0x192acb] C [java.dll+0x1ead] C [ag.dll+0x190e] C 0x0000000003538c67 Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j wqz.zoom.instrument.NativeAgent.another_foo(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;+0 j java.lang.ClassLoader.defineClass1(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;+34 j java.lang.ClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;+27 j java.security.SecureClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/CodeSource;)Ljava/lang/Class;+12 j java.net.URLClassLoader.defineClass(Ljava/lang/String;Lsun/misc/Resource;)Ljava/lang/Class;+138 j java.net.URLClassLoader.access$100(Ljava/net/URLClassLoader;Ljava/lang/String;Lsun/misc/Resource;)Ljava/lang/Class;+3 j java.net.URLClassLoader$1.run()Ljava/lang/Class;+43 j java.net.URLClassLoader$1.run()Ljava/lang/Object;+1 v ~StubRoutines::call_stub j java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+0 j java.net.URLClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;+13 j java.lang.ClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;+70 j sun.misc.Launcher$AppClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;+81 j java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class;+3 j sun.launcher.LauncherHelper.checkAndLoadMain(ZILjava/lang/String;)Ljava/lang/Class;+93 v ~StubRoutines::call_stub --------------- P R O C E S S --------------- Java Threads: ( => current thread ) //线程信息 0x0000000019cc9800 JavaThread "Service Thread" daemon [_thread_blocked, id=26172, stack(0x000000001a4d0000,0x000000001a5d0000)] 0x0000000019cf8800 JavaThread "C1 CompilerThread2" daemon [_thread_blocked, id=19348, stack(0x000000001a3d0000,0x000000001a4d0000)] 0x0000000019cc8800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=13820, stack(0x000000001a2d0000,0x000000001a3d0000)] 0x0000000019cb1000 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=13952, stack(0x000000001a1d0000,0x000000001a2d0000)] 0x0000000018263000 JavaThread "Attach Listener" daemon [_thread_blocked, id=12732, stack(0x000000001a0d0000,0x000000001a1d0000)] 0x0000000019c1b800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=24360, stack(0x0000000019fd0000,0x000000001a0d0000)] 0x000000001823c800 JavaThread "Finalizer" daemon [_thread_blocked, id=9820, stack(0x0000000019ad0000,0x0000000019bd0000)] 0x0000000003514000 JavaThread "Reference Handler" daemon [_thread_blocked, id=10248, stack(0x00000000199d0000,0x0000000019ad0000)] =>0x0000000003422800 JavaThread "main" [_thread_in_vm, id=17716, stack(0x0000000003130000,0x0000000003230000)] Other Threads: //其他线程 0x0000000018218000 VMThread [stack: 0x00000000198d0000,0x00000000199d0000] [id=10868] 0x0000000019d8b800 WatcherThread [stack: 0x000000001a5d0000,0x000000001a6d0000] [id=3052] //虚拟机状态 VM state:not at safepoint (normal execution) //not at a safepoint:正常运行状态; //at safepoint:所有线程都因为虚拟机等待状态而阻塞,等待一个虚拟机操作完成; //synchronizing:一个特殊的虚拟机操作,要求虚拟机内的其它线程保持等待状态 //虚拟机的Mutex和Monitor目前没有被线程持有。Mutex是虚拟机内部的锁,而Monitor则关联到了Java对象 VM Mutex/Monitor currently owned by a thread: None Heap://堆信息。新生代、老生代、永久代 PSYoungGen total 37888K, used 7316K [0x00000000d6000000, 0x00000000d8a00000, 0x0000000100000000) eden space 32768K, 22% used [0x00000000d6000000,0x00000000d6725040,0x00000000d8000000) from space 5120K, 0% used [0x00000000d8500000,0x00000000d8500000,0x00000000d8a00000) to space 5120K, 0% used [0x00000000d8000000,0x00000000d8000000,0x00000000d8500000) ParOldGen total 86016K, used 0K [0x0000000082000000, 0x0000000087400000, 0x00000000d6000000) object space 86016K, 0% used [0x0000000082000000,0x0000000082000000,0x0000000087400000) Metaspace used 4343K, capacity 5654K, committed 6016K, reserved 1056768K class space used 473K, capacity 522K, committed 640K, reserved 1048576K Card table byte_map: [0x00000000128e0000,0x0000000012ce0000] byte_map_base: 0x00000000124d0000 Marking Bits: (ParMarkBitMap*) 0x0000000057ba08c0 Begin Bits: [0x0000000013580000, 0x0000000015500000) End Bits: [0x0000000015500000, 0x0000000017480000) Polling page: 0x0000000000f60000 //代码缓存,这是一块用于编译和保存本地代码的内存,注意是本地代码,它和PermGen(永久代)是不一样的,永久带是用来存放Java类定义的。 CodeCache: size=245760Kb used=1114Kb max_used=1116Kb free=244645Kb bounds [0x0000000003520000, 0x0000000003790000, 0x0000000012520000] total_blobs=292 nmethods=19 adapters=187 compilation: enabled Compilation events (10 events): Event: 0.192 Thread 0x0000000019cc8800 nmethod 1 0x0000000003636410 code [0x0000000003636540, 0x00000000036365d8] Event: 0.192 Thread 0x0000000019cc8800 9 4 java.lang.String::charAt (29 bytes) Event: 0.192 Thread 0x0000000019cb1000 nmethod 11 0x0000000003633d50 code [0x0000000003633ea0, 0x0000000003634058] Event: 0.193 Thread 0x0000000019cc8800 nmethod 9 0x0000000003633a50 code [0x0000000003633ba0, 0x0000000003633c58] Event: 0.194 Thread 0x0000000019cf8800 17 3 java.lang.AbstractStringBuilder::append (50 bytes) Event: 0.194 Thread 0x0000000019cf8800 nmethod 17 0x0000000003636f50 code [0x0000000003637120, 0x0000000003637878] Event: 0.194 Thread 0x0000000019cf8800 18 3 sun.nio.cs.ext.DoubleByte$Encoder::encodeChar (21 bytes) Event: 0.194 Thread 0x0000000019cf8800 nmethod 18 0x0000000003636ad0 code [0x0000000003636c40, 0x0000000003636df0] Event: 0.195 Thread 0x0000000019cf8800 19 3 java.util.Arrays::copyOfRange (63 bytes) Event: 0.196 Thread 0x0000000019cf8800 nmethod 19 0x0000000003634750 code [0x0000000003634960, 0x0000000003635498] GC Heap History (0 events)://GC历史纪录 No events Deoptimization events (0 events)://非优化事件 No events Classes redefined (1 events): //重定义 Event: 0.186 Thread 0x0000000018218000 redefined class name=java.lang.ClassLoader, count=1 Internal exceptions (9 events)://内部异常 Event: 0.030 Thread 0x0000000003422800 Exception <a 'java/lang/NoSuchMethodError': Method sun.misc.Unsafe.defineClass(Ljava/lang/String;[BII)Ljava/lang/Class; name or signature does not match> (0x00000000d6007cb0) thrown at [C:reworkspace8-2-build-windows-amd64-cygwinjdk8u17110807hotspot Event: 0.030 Thread 0x0000000003422800 Exception <a 'java/lang/NoSuchMethodError': Method sun.misc.Unsafe.prefetchRead(Ljava/lang/Object;J)V name or signature does not match> (0x00000000d6007f98) thrown at [C:reworkspace8-2-build-windows-amd64-cygwinjdk8u17110807hotspotsrcsharevmprim Event: 0.071 Thread 0x0000000003422800 Exception <a 'java/util/zip/ZipException'> (0x00000000d60da258) thrown at [C:reworkspace8-2-build-windows-amd64-cygwinjdk8u17110807hotspotsrcsharevmprimsjni.cpp, line 709] Event: 0.071 Thread 0x0000000003422800 Exception <a 'java/security/PrivilegedActionException'> (0x00000000d60da908) thrown at [C:reworkspace8-2-build-windows-amd64-cygwinjdk8u17110807hotspotsrcsharevmprimsjvm.cpp, line 1435] Event: 0.071 Thread 0x0000000003422800 Exception <a 'java/security/PrivilegedActionException'> (0x00000000d60dab18) thrown at [C:reworkspace8-2-build-windows-amd64-cygwinjdk8u17110807hotspotsrcsharevmprimsjvm.cpp, line 1435] Event: 0.140 Thread 0x0000000003422800 Exception <a 'java/security/PrivilegedActionException'> (0x00000000d64faf48) thrown at [C:reworkspace8-2-build-windows-amd64-cygwinjdk8u17110807hotspotsrcsharevmprimsjvm.cpp, line 1435] Event: 0.140 Thread 0x0000000003422800 Exception <a 'java/security/PrivilegedActionException'> (0x00000000d64fb340) thrown at [C:reworkspace8-2-build-windows-amd64-cygwinjdk8u17110807hotspotsrcsharevmprimsjvm.cpp, line 1435] Event: 0.140 Thread 0x0000000003422800 Exception <a 'java/security/PrivilegedActionException'> (0x00000000d64fdc98) thrown at [C:reworkspace8-2-build-windows-amd64-cygwinjdk8u17110807hotspotsrcsharevmprimsjvm.cpp, line 1435] Event: 0.140 Thread 0x0000000003422800 Exception <a 'java/security/PrivilegedActionException'> (0x00000000d64fe090) thrown at [C:reworkspace8-2-build-windows-amd64-cygwinjdk8u17110807hotspotsrcsharevmprimsjvm.cpp, line 1435] Events (10 events): Event: 0.189 loading class sun/usagetracker/UsageTrackerClient$3 Event: 0.189 loading class sun/usagetracker/UsageTrackerClient$3 done Event: 0.191 loading class java/io/FileOutputStream$1 Event: 0.191 loading class java/io/FileOutputStream$1 done Event: 0.191 loading class sun/launcher/LauncherHelper Event: 0.191 loading class sun/launcher/LauncherHelper done Event: 0.191 loading class wqz/zoom/instrument/Native Event: 0.191 loading class wqz/zoom/instrument/Native done Event: 0.195 loading class wqz/zoom/instrument/NativeAgent Event: 0.195 loading class wqz/zoom/instrument/NativeAgent done Dynamic libraries: //内存映射:虚拟机崩溃时虚拟机内存列表区域 内存 - 区域 正在被使用的类库 0x00007ff79e9c0000 - 0x00007ff79e9f7000 C:Program Files (x86)Common FilesOracleJavajavapathjava.exe 0x00007ff94fa60000 - 0x00007ff94fc41000 C:WINDOWSSYSTEM32ntdll.dll 0x00007ff94d3f0000 - 0x00007ff94d4a2000 C:WINDOWSSystem32KERNEL32.DLL 0x00007ff94be30000 - 0x00007ff94c0a3000 C:WINDOWSSystem32KERNELBASE.dll 0x00007ff94f8f0000 - 0x00007ff94f991000 C:WINDOWSSystem32ADVAPI32.dll 0x00007ff94cfd0000 - 0x00007ff94d06e000 C:WINDOWSSystem32msvcrt.dll 0x00007ff94f9a0000 - 0x00007ff94f9fb000 C:WINDOWSSystem32sechost.dll 0x00007ff94d1d0000 - 0x00007ff94d2f4000 C:WINDOWSSystem32RPCRT4.dll 0x00007ff94f550000 - 0x00007ff94f6e0000 C:WINDOWSSystem32USER32.dll 0x00007ff94c330000 - 0x00007ff94c350000
参与评论
手机查看
返回顶部