EXCEPTION_ACCESS_VIOLATION jvm崩溃
公司的JAVA cs程序最近出现了崩溃的情况,问题日志如下:
通过分析日志大概判断出是jna释放内存的时候出了问题,但具体是jna哪个地方出的问题,实在没有思路,求大神指教。
因为公司的程序需要控制硬件已经获取电脑运行信息,jna在很多地方都有使用,实在没办法放弃jna
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x77c2a61d, pid=460, tid=5088
#
# JRE version: Java(TM) SE Runtime Environment (8.0_20-b26) (build 1.8.0_20-b26)
# Java VM: Java HotSpot(TM) Client VM (25.20-b23 mixed mode windows-x86 )
# Problematic frame:
# C [msvcrt.dll+0x1a61d]
#
# 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.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- T H R E A D ---------------
Current thread (0x02d7d000): JavaThread "Finalizer" daemon [_thread_in_native, id=5088, stack(0x35590000,0x35610000)]
siginfo: ExceptionCode=0xc0000005, writing address 0x00000004
Registers:
EAX=0x00031fd8, EBX=0x00000001, ECX=0x00000000, EDX=0x00000005
ESP=0x3560f788, EBP=0x3560f7a4, ESI=0x00000000, EDI=0x00000004
EIP=0x77c2a61d, EFLAGS=0x00010202
Top of Stack: (sp=0x3560f788)
0x3560f788: 00000000 02d7d000 00863060 0003292c
0x3560f798: 00000000 00000020 00000060 3560f7e8
0x3560f7a8: 77c2c25d 00031e90 0086303c 02d7d000
0x3560f7b8: 3560f818 00000000 3560f7e4 6d21fac6
0x3560f7c8: 02d7d000 00031e90 3560f7b4 3560f3ac
0x3560f7d8: 3560fa6c 77c35c94 77c12070 00000000
0x3560f7e8: 3560f7f8 36126f01 00863060 00000042
0x3560f7f8: 3560f828 00d2336b 02d7d138 3560f818
Instructions: (pc=0x77c2a61d)
0x77c2a5fd: d3 ee f7 d6 21 b4 b8 c4 00 00 00 fe 4c 03 04 75
0x77c2a60d: 06 8b 4d 08 21 71 04 8b 4d 0c 8b 71 08 8b 49 04
0x77c2a61d: 89 4e 04 8b 4d 0c 8b 71 04 8b 49 08 89 4e 08 8b
0x77c2a62d: 75 0c eb 03 8b 5d 08 83 7d f4 00 75 08 3b da 0f
Register to memory mapping:
EAX=0x00031fd8 is an unknown value
EBX=0x00000001 is an unknown value
ECX=0x00000000 is an unknown value
EDX=0x00000005 is an unknown value
ESP=0x3560f788 is pointing into the stack for thread: 0x02d7d000
EBP=0x3560f7a4 is pointing into the stack for thread: 0x02d7d000
ESI=0x00000000 is an unknown value
EDI=0x00000004 is an unknown value
Stack: [0x35590000,0x35610000], sp=0x3560f788, free space=509k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [msvcrt.dll+0x1a61d]
C [msvcrt.dll+0x1c25d]
C [jna2723299715027878645.dll+0x6f01]
J 3432 com.sun.jna.Native.free(J)V (0 bytes) @ 0x00d2336b [0x00d232e0+0x8b]
j com.sun.jna.Memory.free(J)V+1
j com.sun.jna.Memory.dispose()V+4
j com.sun.jna.Memory.finalize()V+1
j java.lang.System$2.invokeFinalize(Ljava/lang/Object;)V+1
j java.lang.ref.Finalizer.runFinalizer(Lsun/misc/JavaLangAccess;)V+46
J 7399% C1 java.lang.ref.Finalizer$FinalizerThread.run()V (55 bytes) @ 0x00f0884c [0x00f085a0+0x2ac]
v ~StubRoutines::call_stub
V [jvm.dll+0x146735]
V [jvm.dll+0x20c57e]
V [jvm.dll+0x1467ce]
V [jvm.dll+0x146956]
V [jvm.dll+0x1469c7]
V [jvm.dll+0xefeef]
V [jvm.dll+0x168c5c]
V [jvm.dll+0x1694ea]
V [jvm.dll+0x1ae146]
C [msvcr100.dll+0x5c556]
C [msvcr100.dll+0x5c600]
C [kernel32.dll+0xb50b]
C 0x00000000
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 3432 com.sun.jna.Native.free(J)V (0 bytes) @ 0x00d23327 [0x00d232e0+0x47]
j com.sun.jna.Memory.free(J)V+1
j com.sun.jna.Memory.dispose()V+4
j com.sun.jna.Memory.finalize()V+1
j java.lang.System$2.invokeFinalize(Ljava/lang/Object;)V+1
j java.lang.ref.Finalizer.runFinalizer(Lsun/misc/JavaLangAccess;)V+46
J 7399% C1 java.lang.ref.Finalizer$FinalizerThread.run()V (55 bytes) @ 0x00f0884c [0x00f085a0+0x2ac]
v ~StubRoutines::call_stub
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
0x448c8c00 JavaThread "pool-1-thread-775" [_thread_blocked, id=20024, stack(0x37f60000,0x37fe0000)]
0x37016000 JavaThread "pool-1-thread-670" [_thread_blocked, id=16436, stack(0x488d0000,0x48950000)]
0x44628c00 JavaThread "pool-1-thread-667" [_thread_blocked, id=29512, stack(0x48650000,0x486d0000)]
0x37394c00 JavaThread "pool-1-thread-666" [_thread_blocked, id=4720, stack(0x47bc0000,0x47c40000)]
0x35b0bc00 JavaThread "pool-1-thread-663" [_thread_blocked, id=16144, stack(0x47a40000,0x47ac0000)]
0x445f9c00 JavaThread "pool-1-thread-662" [_thread_blocked, id=34080, stack(0x479c0000,0x47a40000)]
0x44651c00 JavaThread "pool-1-thread-603" [_thread_blocked, id=31272, stack(0x46f70000,0x46ff0000)]
0x448d9400 JavaThread "pool-1-thread-602" [_thread_blocked, id=34720, stack(0x463d0000,0x46450000)]
0x35e4e400 JavaThread "pool-1-thread-601" [_thread_blocked, id=34432, stack(0x45580000,0x45600000)]
0x376f3c00 JavaThread "pool-1-thread-599" [_thread_blocked, id=19804, stack(0x39030000,0x390b0000)]
0x372f7000 JavaThread "Thread-3" [_thread_blocked, id=232, stack(0x46ef0000,0x46f70000)]
0x37191400 JavaThread "Java Sound Event Dispatcher" daemon [_thread_blocked, id=9520, stack(0x46d20000,0x46da0000)]
0x35e4e800 JavaThread "pool-1-thread-62" [_thread_blocked, id=23944, stack(0x46b00000,0x46b80000)]
0x37292400 JavaThread "pool-1-thread-61" [_thread_blocked, id=21364, stack(0x46a80000,0x46b00000)]
0x4431b800 JavaThread "pool-1-thread-58" [_thread_blocked, id=424, stack(0x45780000,0x45800000)]
0x44315c00 JavaThread "pool-1-thread-57" [_thread_blocked, id=28560, stack(0x45700000,0x45780000)]
0x44315000 JavaThread "pool-1-thread-56" [_thread_blocked, id=30376, stack(0x45680000,0x45700000)]
0x377e9400 JavaThread "pool-1-thread-55" [_thread_blocked, id=21396, stack(0x45600000,0x45680000)]
0x4430b400 JavaThread "pool-1-thread-53" [_thread_blocked, id=30396, stack(0x45500000,0x45580000)]
0x377da400 JavaThread "pool-1-thread-52" [_thread_blocked, id=22372, stack(0x45480000,0x45500000)]
0x377c8c00 JavaThread "pool-1-thread-51" [_thread_blocked, id=33788, stack(0x45400000,0x45480000)]
0x37741400 JavaThread "pool-1-thread-50" [_thread_blocked, id=3392, stack(0x44280000,0x44300000)]
0x37730c00 JavaThread "pool-1-thread-49" [_thread_blocked, id=20652, stack(0x44200000,0x44280000)]
0x377ad000 JavaThread "pool-1-thread-48" [_thread_blocked, id=17824, stack(0x44180000,0x44200000)]
0x377c5800 JavaThread "pool-1-thread-47" [_thread_blocked, id=15268, stack(0x44100000,0x44180000)]
0x3779c400 JavaThread "Win32SerialPort Notification thread" [_thread_in_native, id=9084, stack(0x44070000,0x440f0000)]
0x37702800 JavaThread "pool-1-thread-46" [_thread_blocked, id=31172, stack(0x43ff0000,0x44070000)]
0x37718c00 JavaThread "DefaultQuartzScheduler_QuartzSchedulerThread" [_thread_blocked, id=4220, stack(0x43f10000,0x43f90000)]
0x37679000 JavaThread "DefaultQuartzScheduler_Worker-10" [_thread_blocked, id=16632, stack(0x43e90000,0x43f10000)]
0x37303800 JavaThread "DefaultQuartzScheduler_Worker-9" [_thread_blocked, id=17360, stack(0x43e10000,0x43e90000)]
0x37302400 JavaThread "DefaultQuartzScheduler_Worker-8" [_thread_blocked, id=5080, stack(0x43d90000,0x43e10000)]
0x37300c00 JavaThread "DefaultQuartzScheduler_Worker-7" [_thread_blocked, id=30724, stack(0x43d10000,0x43d90000)]
0x372f3400 JavaThread "DefaultQuartzScheduler_Worker-6" [_thread_blocked, id=15836, stack(0x43c90000,0x43d10000)]
0x372dd400 JavaThread "DefaultQuartzScheduler_Worker-5" [_thread_blocked, id=4708, stack(0x43c10000,0x43c90000)]
0x372dc400 JavaThread "DefaultQuartzScheduler_Worker-4" [_thread_blocked, id=26248, stack(0x43b90000,0x43c10000)]
0x372d9c00 JavaThread "DefaultQuartzScheduler_Worker-3" [_thread_blocked, id=1972, stack(0x43b10000,0x43b90000)]
0x372d9000 JavaThread "DefaultQuartzScheduler_Worker-2" [_thread_blocked, id=10436, stack(0x43a90000,0x43b10000)]
0x372d8400 JavaThread "DefaultQuartzScheduler_Worker-1" [_thread_blocked, id=26264, stack(0x43a10000,0x43a90000)]
0x372b7400 JavaThread "pool-1-thread-45" [_thread_in_native, id=19840, stack(0x43320000,0x433a0000)]
0x370f9400 JavaThread "pool-1-thread-44" [_thread_blocked, id=11548, stack(0x432a0000,0x43320000)]
0x370d6400 JavaThread "pool-1-thread-43" [_thread_blocked, id=21296, stack(0x43220000,0x432a0000)]
0x370d5000 JavaThread "pool-1-thread-42" [_thread_in_native, id=24564, stack(0x431a0000,0x43220000)]
0x370d4000 JavaThread "pool-1-thread-41" [_thread_blocked, id=26776, stack(0x43120000,0x431a0000)]
0x3704fc00 JavaThread "pool-1-thread-40" [_thread_blocked, id=19916, stack(0x430a0000,0x43120000)]
0x35e4b800 JavaThread "pool-1-thread-39" [_thread_blocked, id=25760, stack(0x43020000,0x430a0000)]
0x370d0400 JavaThread "pool-1-thread-38" [_thread_blocked, id=26140, stack(0x42fa0000,0x43020000)]
0x370cbc00 JavaThread "pool-1-thread-37" [_thread_blocked, id=29536, stack(0x42f20000,0x42fa0000)]
0x35700400 JavaThread "pool-1-thread-36" [_thread_blocked, id=10592, stack(0x42ea0000,0x42f20000)]
0x35e38c00 JavaThread "pool-1-thread-35" [_thread_blocked, id=18960, stack(0x38520000,0x385a0000)]
0x35e38000 JavaThread "pool-1-thread-34" [_thread_blocked, id=13884, stack(0x37be0000,0x37c60000)]
0x35e37400 JavaThread "pool-1-thread-33" [_thread_blocked, id=14664, stack(0x36ad0000,0x36b50000)]
0x37637000 JavaThread "hartBitThread" [_thread_blocked, id=26628, stack(0x418c0000,0x41940000)]
0x3721a800 JavaThread "pool-1-thread-29" [_thread_blocked, id=6196, stack(0x39740000,0x397c0000)]
0x37219c00 JavaThread "pool-1-thread-28" [_thread_blocked, id=25560, stack(0x396c0000,0x39740000)]
0x371ff400 JavaThread "Thread-6" [_thread_blocked, id=32820, stack(0x395c0000,0x39640000)]
0x3720e400 JavaThread "pool-1-thread-27" [_thread_blocked, id=18732, stack(0x39540000,0x395c0000)]
0x371fd000 JavaThread "pool-1-thread-26" [_thread_blocked, id=11456, stack(0x394c0000,0x39540000)]
0x371fc000 JavaThread "Win32SerialPort Notification thread" [_thread_in_native, id=25648, stack(0x39430000,0x394b0000)]