JNA出现的一个问题。

zking3 2014-11-21
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x757843df, pid=6368, tid=6556
#
# JRE version: 6.0_39-b04
# Java VM: Java HotSpot(TM) Client VM (20.14-b01 mixed mode, sharing windows-x86 )
# Problematic frame:
# C  [msvcrt.dll+0x143df]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/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 (0x003c9800):  JavaThread "main" [_thread_in_native, id=6556, stack(0x00340000,0x00390000)]
siginfo: ExceptionCode=0xc0000005, reading address 0x31306863
Registers:
EAX=0x31306863, EBX=0x33a0be88, ECX=0x31306863, EDX=0x00390000
ESP=0x0038f90c, EBP=0x0038f9f8, ESI=0x33a0be88, EDI=0x003c9800
EIP=0x757843df, EFLAGS=0x00010206
Top of Stack: (sp=0x0038f90c)
0x0038f90c:   1000651f 31306863 00000000 0038f8f0
0x0038f91c:   01a13b80 00000000 01a13b9a 01a13f80
0x0038f92c:   00000000 00000000 00000000 01a13b80
0x0038f93c:   00000000 0038f8f0 00000000 00000000
0x0038f94c:   00000000 00000000 00000000 00000000
0x0038f95c:   00000000 00000000 00020000 0038f8f0
0x0038f96c:   00000000 00000000 01a13b80 00000400
0x0038f97c:   0038f984 003c9e10 00000000 0038f9bc
Instructions: (pc=0x757843df)
0x757843bf:   00 c9 43 78 75 90 90 90 90 90 ff 75 08 e8 33 ae
0x757843cf:   ff ff 59 c3 8b 4c 24 04 f7 c1 03 00 00 00 74 1a
0x757843df:   8a 01 83 c1 01 84 c0 74 4c f7 c1 03 00 00 00 75
0x757843ef:   ef 83 c0 00 8d 24 24 8d 24 24 8b 01 ba ff fe fe

Register to memory mapping:
EAX=0x31306863 is an unallocated location in the heap
EBX=0x33a0be88 is an oop
{method}
- klass: {other class}
ECX=0x31306863 is an unallocated location in the heap
EDX=0x00390000 is pointing into the stack for thread: 0x003c9800
ESP=0x0038f90c is pointing into the stack for thread: 0x003c9800
EBP=0x0038f9f8 is pointing into the stack for thread: 0x003c9800
ESI=0x33a0be88 is an oop
{method}
- klass: {other class}
EDI=0x003c9800 is a thread

Stack: [0x00340000,0x00390000],  sp=0x0038f90c,  free space=318k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
[error occurred during error reporting (printing native stack), id 0xc0000005]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  com.sun.jna.Pointer._getString(JZ)Ljava/lang/String;+0
j  com.sun.jna.Pointer.getString(JZ)Ljava/lang/String;+7
j  com.sun.jna.Pointer.getString(J)Ljava/lang/String;+90
j  com.sun.jna.Structure.readValue(ILjava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;+670
j  com.sun.jna.Structure.readField(Lcom/sun/jna/Structure$StructField;)Ljava/lang/Object;+164
j  com.sun.jna.Structure.read()V+79
j  com.sun.jna.Function.invoke(Ljava/lang/Class;[Ljava/lang/Object;Ljava/util/Map;)Ljava/lang/Object;+311
j  com.sun.jna.Library$Handler.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;+344
j  sun.proxy.$Proxy0.NET_DVR_FindNextFile_V40(Lcom/sun/jna/NativeLong;Lcom/mysoft/attendance/domain/LPNET_DVR_FINDDATA_V40;)Lcom/sun/jna/NativeLong;+20
j  com.mysoft.attendance.api.DownLoadTest.main([Ljava/lang/String;)V+279
v  ~StubRoutines::call_stub
---------------  P R O C E S S  ---------------
Java Threads: ( => current thread )
  0x0196b800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=7236, stack(0x03cc0000,0x03d10000)]
  0x0195c400 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=5412, stack(0x03c70000,0x03cc0000)]
  0x0195b800 JavaThread "Attach Listener" daemon [_thread_blocked, id=6116, stack(0x03c20000,0x03c70000)]
  0x01958800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=8040, stack(0x03bd0000,0x03c20000)]
  0x0194e000 JavaThread "Finalizer" daemon [_thread_blocked, id=7340, stack(0x03b80000,0x03bd0000)]
  0x01949400 JavaThread "Reference Handler" daemon [_thread_blocked, id=6000, stack(0x03b30000,0x03b80000)]
=>0x003c9800 JavaThread "main" [_thread_in_native, id=6556, stack(0x00340000,0x00390000)]
Other Threads:
  0x0190d000 VMThread [stack: 0x03ae0000,0x03b30000] [id=6124]
  0x01974400 WatcherThread [stack: 0x03d10000,0x03d60000] [id=6180]
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap
def new generation   total 4928K, used 1557K [0x23990000, 0x23ee0000, 0x28ee0000)
  eden space 4416K,  35% used [0x23990000, 0x23b15650, 0x23de0000)
  from space 512K,   0% used [0x23de0000, 0x23de0000, 0x23e60000)
  to   space 512K,   0% used [0x23e60000, 0x23e60000, 0x23ee0000)
tenured generation   total 10944K, used 0K [0x28ee0000, 0x29990000, 0x33990000)
   the space 10944K,   0% used [0x28ee0000, 0x28ee0000, 0x28ee0200, 0x29990000)
compacting perm gen  total 12288K, used 739K [0x33990000, 0x34590000, 0x37990000)
   the space 12288K,   6% used [0x33990000, 0x33a48fb0, 0x33a49000, 0x34590000)
    ro space 10240K,  55% used [0x37990000, 0x37f13148, 0x37f13200, 0x38390000)
    rw space 12288K,  55% used [0x38390000, 0x38a35f30, 0x38a36000, 0x38f90000)
Code Cache  [0x019d0000, 0x01a60000, 0x039d0000)
total_blobs=176 nmethods=42 adapters=70 free_code_cache=32993216 largest_free_block=0
Dynamic libraries:
0x00400000 - 0x00425000  D:\Java\jdk1.6.0_39\bin\javaw.exe
0x77020000 - 0x7715c000  C:\Windows\SYSTEM32\ntdll.dll
0x75de0000 - 0x75eb4000  C:\Windows\system32\kernel32.dll
0x75170000 - 0x751bb000  C:\Windows\system32\KERNELBASE.dll
0x76030000 - 0x760d0000  C:\Windows\system32\ADVAPI32.dll
0x75770000 - 0x7581c000  C:\Windows\system32\msvcrt.dll
0x75c60000 - 0x75c79000  C:\Windows\SYSTEM32\sechost.dll
0x76d20000 - 0x76dc2000  C:\Windows\system32\RPCRT4.dll
0x75d10000 - 0x75dd9000  C:\Windows\system32\USER32.dll
0x75950000 - 0x7599e000  C:\Windows\system32\GDI32.dll
0x77240000 - 0x7724a000  C:\Windows\system32\LPK.dll
0x759a0000 - 0x75a3d000  C:\Windows\system32\USP10.dll
0x771c0000 - 0x771df000  C:\Windows\system32\IMM32.DLL
0x75f00000 - 0x75fcc000  C:\Windows\system32\MSCTF.dll
0x7c340000 - 0x7c396000  D:\Java\jdk1.6.0_39\jre\bin\msvcr71.dll
0x6d8c0000 - 0x6db70000  D:\Java\jdk1.6.0_39\jre\bin\client\jvm.dll
0x734e0000 - 0x73512000  C:\Windows\system32\WINMM.dll
0x74f40000 - 0x74f8c000  C:\Windows\system32\apphelp.dll
0x6d870000 - 0x6d87c000  D:\Java\jdk1.6.0_39\jre\bin\verify.dll
0x6d3d0000 - 0x6d3ef000  D:\Java\jdk1.6.0_39\jre\bin\java.dll
0x6d8b0000 - 0x6d8bf000  D:\Java\jdk1.6.0_39\jre\bin\zip.dll
0x74ab0000 - 0x74ac6000  C:\Windows\system32\CRYPTSP.dll
0x74850000 - 0x7488b000  C:\Windows\system32\rsaenh.dll
0x751c0000 - 0x751d7000  C:\Windows\system32\USERENV.dll
0x75070000 - 0x7507b000  C:\Windows\system32\profapi.dll
0x74f90000 - 0x74f9c000  C:\Windows\system32\CRYPTBASE.dll
0x6d6b0000 - 0x6d6c3000  D:\Java\jdk1.6.0_39\jre\bin\net.dll
0x75ec0000 - 0x75ef5000  C:\Windows\system32\WS2_32.dll
0x77170000 - 0x77176000  C:\Windows\system32\NSI.dll
0x74a70000 - 0x74aac000  C:\Windows\system32\mswsock.dll
0x74a60000 - 0x74a66000  C:\Windows\System32\wship6.dll
0x73310000 - 0x73320000  C:\Windows\system32\NLAapi.dll
0x6f510000 - 0x6f520000  C:\Windows\system32\napinsp.dll
0x6ded0000 - 0x6dee2000  C:\Windows\system32\pnrpnsp.dll
0x74930000 - 0x74974000  C:\Windows\system32\DNSAPI.dll
0x6c680000 - 0x6c688000  C:\Windows\System32\winrnr.dll
0x72990000 - 0x729b1000  C:\Program Files\Bonjour\mdnsNSP.dll
0x744c0000 - 0x744dc000  C:\Windows\system32\Iphlpapi.DLL
0x744b0000 - 0x744b7000  C:\Windows\system32\WINNSI.DLL
0x74420000 - 0x74425000  C:\Windows\System32\wshtcpip.dll
0x72980000 - 0x72986000  C:\Windows\system32\rasadhlp.dll
0x73180000 - 0x731b8000  C:\Windows\System32\fwpuclnt.dll
0x10000000 - 0x10052000  C:\Users\mingzi\AppData\Local\Temp\jna5142668253612369358.tmp
0x04490000 - 0x05034000  C:\Windows\system32\HCNetSDK.dll
0x730e0000 - 0x730ed000  C:\Windows\system32\dhcpcsvc6.DLL
0x72ba0000 - 0x72bb2000  C:\Windows\system32\dhcpcsvc.DLL
0x77180000 - 0x77185000  C:\Windows\system32\PSAPI.DLL
VM Arguments:
jvm_args: -Dfile.encoding=GBK
java_command: com.mysoft.attendance.api.DownLoadTest
Launcher Type: SUN_STANDARD
Environment Variables:
JAVA_HOME=D:\Java\jdk1.6.0_39
PATH=D:/Java/MyEclipse/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client;D:/Java/MyEclipse/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin;D:/Java/MyEclipse/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\Program Files\TortoiseSVN\bin;C:\PROGRA~1\recvd;D:\Java\jdk1.6.0_39\bin
USERNAME=jiademingzi
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 58 Stepping 9, GenuineIntel

---------------  S Y S T E M  ---------------
OS: Windows 7 Build 7601 Service Pack 1
CPU:total 4 (2 cores per cpu, 2 threads per core) family 6 model 58 stepping 9, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, ht
Memory: 4k page, physical 3308980k(884996k free), swap 6616208k(1661368k free)
vm_info: Java HotSpot(TM) Client VM (20.14-b01) for windows-x86 JRE (1.6.0_39-b04), built on Jan 15 2013 14:00:47 by "java_re" with MS VC++ 7.1 (VS2003)
time: Thu Nov 20 16:55:46 2014
elapsed time: 1 seconds







这个是日志文件  求大家帮助 啊(不想沉)
zking3 2014-11-21
准代码一直到 这里

 // Using the double-checked locking pattern to speed up function calls
            FunctionInfo f = (FunctionInfo)functions.get(method);


看情况是NativeLibrary类加载时候遇到的问题
Global site tag (gtag.js) - Google Analytics