做了一个接口程序,引入英国路透社的数据,
使用的是他们提供的C语言API,我使用JAVA开发,C与JAVA之间使用JNI技术通讯
本来运行一直没有问题,现在发现,运行一段时间侯会出现错误,目录下生成一个错误文件hs_err_pid5220.log
内容如下:#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d6d8329, pid=5220, tid=4444
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_05-b05 mixed mode)
# Problematic frame:
# V [jvm.dll+0x98329]
#--------------- T H R E A D ---------------Current thread (0x48e30830): JavaThread "Thread-10" [_thread_in_vm, id=4444]siginfo: ExceptionCode=0xc0000005, reading address 0x00000000Registers:
EAX=0x00000000, EBX=0x435aae80, ECX=0x4966f814, EDX=0x48e308ec
ESP=0x4966f7f4, EBP=0x4966f840, ESI=0x4966f814, EDI=0x4966f8a8
EIP=0x6d6d8329, EFLAGS=0x00010246Top of Stack: (sp=0x4966f7f4)
0x4966f7f4: 6d6c69d5 00000000 48e30830 6d6c7c32
0x4966f804: 48e30830 00000000 4966f8bc 4966f858
0x4966f814: 48ec6484 00000000 48e30830 435aae80
0x4966f824: 6d6c2c63 4986cf94 48e30830 0000000e
0x4966f834: 6d64aa71 48e30830 4966f8b4 4966f8a8
0x4966f844: 4980381b 48e308ec 4966fcd0 00000000
0x4966f854: 4966f8bc 4966f910 4966fc48 435aae80
0x4966f864: cccccccc cccccccc cccccccc cccccccc Instructions: (pc=0x6d6d8329)
0x6d6d8319: 44 24 04 24 fc 8b 00 8b 00 c3 8b 44 24 04 24 fc
0x6d6d8329: 8b 00 ff 74 24 04 8b c8 e8 93 fe ff ff c3 8b 44
Stack: [0x49630000,0x49670000), sp=0x4966f7f4, free space=253k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0x98329]
C [Tenfore.dll+0x381b]
C [Tenfore.dll+0x3744]
C [Tenfore.dll+0x6eb6]
C [Tenfore.dll+0x93f8]
j com.tenfore.TenforeData.Tenfore.InitTenforeLive()V+0
j com.tenfore.TenforeData.GetTenforeData.run()V+32
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub
V [jvm.dll+0x8295c]
V [jvm.dll+0xd752e]
V [jvm.dll+0x8282d]
V [jvm.dll+0x8258a]
V [jvm.dll+0x9d476]
V [jvm.dll+0x1042ae]
V [jvm.dll+0x10427c]
C [MSVCRT.dll+0x2b530]
C [kernel32.dll+0x24829]Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.tenfore.TenforeData.Tenfore.InitTenforeLive()V+0
j com.tenfore.TenforeData.GetTenforeData.run()V+32
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub--------------- P R O C E S S ---------------Java Threads: ( => current thread )
0x49077b58 JavaThread "Thread-31361" daemon [_thread_blocked, id=5372]
0x48d66320 JavaThread "SocketConnectorIoProcessor-0.0" [_thread_in_native, id=2720]
0x48e7a2b0 JavaThread "RMI LeaseChecker" daemon [_thread_blocked, id=4528]
0x48c5f0b8 JavaThread "AnonymousIoService-16" daemon [_thread_blocked, id=5524]
0x48c5c010 JavaThread "AnonymousIoService-15" daemon [_thread_blocked, id=4872]
0x48c58380 JavaThread "AnonymousIoService-14" daemon [_thread_blocked, id=5676]
0x48c55e10 JavaThread "AnonymousIoService-13" daemon [_thread_blocked, id=5660]
0x48d238c8 JavaThread "AnonymousIoService-12" daemon [_thread_blocked, id=3588]
0x48d1a6e0 JavaThread "AnonymousIoService-11" daemon [_thread_blocked, id=4724]
0x48d176d8 JavaThread "AnonymousIoService-10" daemon [_thread_blocked, id=2672]
0x48d17280 JavaThread "AnonymousIoService-9" daemon [_thread_blocked, id=1112]
0x48d143a8 JavaThread "AnonymousIoService-8" daemon [_thread_blocked, id=5520]
0x48d408c8 JavaThread "AnonymousIoService-7" daemon [_thread_blocked, id=3268]
0x00a6ca10 JavaThread "AnonymousIoService-6" daemon [_thread_blocked, id=4288]
0x00a4bc78 JavaThread "AnonymousIoService-5" daemon [_thread_blocked, id=4416]
0x00a65bd0 JavaThread "AnonymousIoService-4" daemon [_thread_blocked, id=5492]
0x48fb8720 JavaThread "AnonymousIoService-3" daemon [_thread_blocked, id=2616]
0x49079de8 JavaThread "AnonymousIoService-2" daemon [_thread_blocked, id=4240]
0x48c29920 JavaThread "AnonymousIoService-1" daemon [_thread_blocked, id=3104]
0x4903da38 JavaThread "SocketAcceptor-0" [_thread_in_native, id=504]
0x000361d8 JavaThread "DestroyJavaVM" [_thread_blocked, id=5512]
0x49061bd8 JavaThread "Timer-3" [_thread_blocked, id=4264]
0x48e305c8 JavaThread "PooledByteBufferExpirer-0" daemon [_thread_blocked, id=4136]
0x48e30448 JavaThread "Timer-2" [_thread_blocked, id=3372]
0x490473a0 JavaThread "Thread-12" [_thread_in_native, id=5296]
=>0x48e30830 JavaThread "Thread-10" [_thread_in_vm, id=4444]
0x48ec6ba0 JavaThread "Thread-9" [_thread_blocked, id=5364]
0x4908f968 JavaThread "Thread-8" [_thread_blocked, id=3008]
0x4903a808 JavaThread "Store sampleCache1 Expiry Thread" daemon [_thread_blocked, id=5724]
0x49034370 JavaThread "Store sampleCache1 Spool Thread" daemon [_thread_blocked, id=5192]
0x49091e78 JavaThread "MySQL Statement Cancellation Timer" daemon [_thread_blocked, id=4636]
0x49028550 JavaThread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2" daemon [_thread_blocked, id=5636]
0x49029520 JavaThread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1" daemon [_thread_blocked, id=1412]
0x490293a0 JavaThread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0" daemon [_thread_blocked, id=2828]
0x49021600 JavaThread "Timer-1" daemon [_thread_blocked, id=3736]
0x48eb6e70 JavaThread "RMI TCP Accept-6050" daemon [_thread_in_native, id=3592]
0x48e752e0 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=6056]
0x48eb28f0 JavaThread "Timer-0" daemon [_thread_blocked, id=4340]
0x00a345e8 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=4940]
0x00a33260 JavaThread "CompilerThread0" daemon [_thread_blocked, id=6080]
0x00a45bd8 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=4968]
0x00a26918 JavaThread "Finalizer" daemon [_thread_blocked, id=5656]
0x00a25d30 JavaThread "Reference Handler" daemon [_thread_blocked, id=4212]
使用的是他们提供的C语言API,我使用JAVA开发,C与JAVA之间使用JNI技术通讯
本来运行一直没有问题,现在发现,运行一段时间侯会出现错误,目录下生成一个错误文件hs_err_pid5220.log
内容如下:#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d6d8329, pid=5220, tid=4444
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_05-b05 mixed mode)
# Problematic frame:
# V [jvm.dll+0x98329]
#--------------- T H R E A D ---------------Current thread (0x48e30830): JavaThread "Thread-10" [_thread_in_vm, id=4444]siginfo: ExceptionCode=0xc0000005, reading address 0x00000000Registers:
EAX=0x00000000, EBX=0x435aae80, ECX=0x4966f814, EDX=0x48e308ec
ESP=0x4966f7f4, EBP=0x4966f840, ESI=0x4966f814, EDI=0x4966f8a8
EIP=0x6d6d8329, EFLAGS=0x00010246Top of Stack: (sp=0x4966f7f4)
0x4966f7f4: 6d6c69d5 00000000 48e30830 6d6c7c32
0x4966f804: 48e30830 00000000 4966f8bc 4966f858
0x4966f814: 48ec6484 00000000 48e30830 435aae80
0x4966f824: 6d6c2c63 4986cf94 48e30830 0000000e
0x4966f834: 6d64aa71 48e30830 4966f8b4 4966f8a8
0x4966f844: 4980381b 48e308ec 4966fcd0 00000000
0x4966f854: 4966f8bc 4966f910 4966fc48 435aae80
0x4966f864: cccccccc cccccccc cccccccc cccccccc Instructions: (pc=0x6d6d8329)
0x6d6d8319: 44 24 04 24 fc 8b 00 8b 00 c3 8b 44 24 04 24 fc
0x6d6d8329: 8b 00 ff 74 24 04 8b c8 e8 93 fe ff ff c3 8b 44
Stack: [0x49630000,0x49670000), sp=0x4966f7f4, free space=253k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0x98329]
C [Tenfore.dll+0x381b]
C [Tenfore.dll+0x3744]
C [Tenfore.dll+0x6eb6]
C [Tenfore.dll+0x93f8]
j com.tenfore.TenforeData.Tenfore.InitTenforeLive()V+0
j com.tenfore.TenforeData.GetTenforeData.run()V+32
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub
V [jvm.dll+0x8295c]
V [jvm.dll+0xd752e]
V [jvm.dll+0x8282d]
V [jvm.dll+0x8258a]
V [jvm.dll+0x9d476]
V [jvm.dll+0x1042ae]
V [jvm.dll+0x10427c]
C [MSVCRT.dll+0x2b530]
C [kernel32.dll+0x24829]Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.tenfore.TenforeData.Tenfore.InitTenforeLive()V+0
j com.tenfore.TenforeData.GetTenforeData.run()V+32
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub--------------- P R O C E S S ---------------Java Threads: ( => current thread )
0x49077b58 JavaThread "Thread-31361" daemon [_thread_blocked, id=5372]
0x48d66320 JavaThread "SocketConnectorIoProcessor-0.0" [_thread_in_native, id=2720]
0x48e7a2b0 JavaThread "RMI LeaseChecker" daemon [_thread_blocked, id=4528]
0x48c5f0b8 JavaThread "AnonymousIoService-16" daemon [_thread_blocked, id=5524]
0x48c5c010 JavaThread "AnonymousIoService-15" daemon [_thread_blocked, id=4872]
0x48c58380 JavaThread "AnonymousIoService-14" daemon [_thread_blocked, id=5676]
0x48c55e10 JavaThread "AnonymousIoService-13" daemon [_thread_blocked, id=5660]
0x48d238c8 JavaThread "AnonymousIoService-12" daemon [_thread_blocked, id=3588]
0x48d1a6e0 JavaThread "AnonymousIoService-11" daemon [_thread_blocked, id=4724]
0x48d176d8 JavaThread "AnonymousIoService-10" daemon [_thread_blocked, id=2672]
0x48d17280 JavaThread "AnonymousIoService-9" daemon [_thread_blocked, id=1112]
0x48d143a8 JavaThread "AnonymousIoService-8" daemon [_thread_blocked, id=5520]
0x48d408c8 JavaThread "AnonymousIoService-7" daemon [_thread_blocked, id=3268]
0x00a6ca10 JavaThread "AnonymousIoService-6" daemon [_thread_blocked, id=4288]
0x00a4bc78 JavaThread "AnonymousIoService-5" daemon [_thread_blocked, id=4416]
0x00a65bd0 JavaThread "AnonymousIoService-4" daemon [_thread_blocked, id=5492]
0x48fb8720 JavaThread "AnonymousIoService-3" daemon [_thread_blocked, id=2616]
0x49079de8 JavaThread "AnonymousIoService-2" daemon [_thread_blocked, id=4240]
0x48c29920 JavaThread "AnonymousIoService-1" daemon [_thread_blocked, id=3104]
0x4903da38 JavaThread "SocketAcceptor-0" [_thread_in_native, id=504]
0x000361d8 JavaThread "DestroyJavaVM" [_thread_blocked, id=5512]
0x49061bd8 JavaThread "Timer-3" [_thread_blocked, id=4264]
0x48e305c8 JavaThread "PooledByteBufferExpirer-0" daemon [_thread_blocked, id=4136]
0x48e30448 JavaThread "Timer-2" [_thread_blocked, id=3372]
0x490473a0 JavaThread "Thread-12" [_thread_in_native, id=5296]
=>0x48e30830 JavaThread "Thread-10" [_thread_in_vm, id=4444]
0x48ec6ba0 JavaThread "Thread-9" [_thread_blocked, id=5364]
0x4908f968 JavaThread "Thread-8" [_thread_blocked, id=3008]
0x4903a808 JavaThread "Store sampleCache1 Expiry Thread" daemon [_thread_blocked, id=5724]
0x49034370 JavaThread "Store sampleCache1 Spool Thread" daemon [_thread_blocked, id=5192]
0x49091e78 JavaThread "MySQL Statement Cancellation Timer" daemon [_thread_blocked, id=4636]
0x49028550 JavaThread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2" daemon [_thread_blocked, id=5636]
0x49029520 JavaThread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1" daemon [_thread_blocked, id=1412]
0x490293a0 JavaThread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0" daemon [_thread_blocked, id=2828]
0x49021600 JavaThread "Timer-1" daemon [_thread_blocked, id=3736]
0x48eb6e70 JavaThread "RMI TCP Accept-6050" daemon [_thread_in_native, id=3592]
0x48e752e0 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=6056]
0x48eb28f0 JavaThread "Timer-0" daemon [_thread_blocked, id=4340]
0x00a345e8 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=4940]
0x00a33260 JavaThread "CompilerThread0" daemon [_thread_blocked, id=6080]
0x00a45bd8 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=4968]
0x00a26918 JavaThread "Finalizer" daemon [_thread_blocked, id=5656]
0x00a25d30 JavaThread "Reference Handler" daemon [_thread_blocked, id=4212]
0x00a21bd8 VMThread [id=4396]
0x48e79510 WatcherThread [id=5324]VM state:not at safepoint (normal execution)VM Mutex/Monitor currently owned by a thread: NoneHeap
def new generation total 72576K, used 67685K [0x02a70000, 0x07930000, 0x07930000)
eden space 64512K, 100% used [0x02a70000, 0x06970000, 0x06970000)
from space 8064K, 39% used [0x07150000, 0x07469a98, 0x07930000)
to space 8064K, 0% used [0x06970000, 0x06970000, 0x07150000)
tenured generation total 967936K, used 967935K [0x07930000, 0x42a70000, 0x42a70000)
the space 967936K, 99% used [0x07930000, 0x42a6ffd0, 0x42a70000, 0x42a70000)
compacting perm gen total 12800K, used 12624K [0x42a70000, 0x436f0000, 0x46a70000)
the space 12800K, 98% used [0x42a70000, 0x436c4080, 0x436c4200, 0x436f0000)
No shared spaces configured.Dynamic libraries:
0x00400000 - 0x0040c000 C:\WINDOWS\system32\java.exe
0x7c800000 - 0x7c8c0000 C:\WINDOWS\system32\ntdll.dll
0x77e40000 - 0x77f42000 C:\WINDOWS\system32\kernel32.dll
0x77f50000 - 0x77feb000 C:\WINDOWS\system32\ADVAPI32.dll
0x77c50000 - 0x77cef000 C:\WINDOWS\system32\RPCRT4.dll
0x76f50000 - 0x76f63000 C:\WINDOWS\system32\Secur32.dll
0x77ba0000 - 0x77bfa000 C:\WINDOWS\system32\MSVCRT.dll
0x6d640000 - 0x6d7cc000 C:\Program Files\Java\jre1.5.0_05\bin\client\jvm.dll
0x77380000 - 0x77411000 C:\WINDOWS\system32\USER32.dll
0x77c00000 - 0x77c48000 C:\WINDOWS\system32\GDI32.dll
0x76aa0000 - 0x76acd000 C:\WINDOWS\system32\WINMM.dll
0x76290000 - 0x762ad000 C:\WINDOWS\system32\IMM32.DLL
0x7f000000 - 0x7f009000 C:\WINDOWS\system32\LPK.DLL
0x75490000 - 0x754f5000 C:\WINDOWS\system32\USP10.dll
0x6d280000 - 0x6d288000 C:\Program Files\Java\jre1.5.0_05\bin\hpi.dll
0x76b70000 - 0x76b7b000 C:\WINDOWS\system32\PSAPI.DLL
0x6d610000 - 0x6d61c000 C:\Program Files\Java\jre1.5.0_05\bin\verify.dll
0x6d300000 - 0x6d31d000 C:\Program Files\Java\jre1.5.0_05\bin\java.dll
0x6d630000 - 0x6d63f000 C:\Program Files\Java\jre1.5.0_05\bin\zip.dll
0x6d4b0000 - 0x6d4b8000 C:\Program Files\Java\jre1.5.0_05\bin\management.dll
0x6d4c0000 - 0x6d4d3000 C:\Program Files\Java\jre1.5.0_05\bin\net.dll
0x71c00000 - 0x71c17000 C:\WINDOWS\system32\WS2_32.dll
0x71bf0000 - 0x71bf8000 C:\WINDOWS\system32\WS2HELP.dll
0x71b20000 - 0x71b61000 C:\WINDOWS\System32\mswsock.dll
0x76ed0000 - 0x76efa000 C:\WINDOWS\system32\DNSAPI.dll
0x76f70000 - 0x76f77000 C:\WINDOWS\System32\winrnr.dll
0x76f10000 - 0x76f3e000 C:\WINDOWS\system32\WLDAP32.dll
0x76f80000 - 0x76f85000 C:\WINDOWS\system32\rasadhlp.dll
0x68000000 - 0x68035000 C:\WINDOWS\system32\rsaenh.dll
0x76920000 - 0x769e2000 C:\WINDOWS\system32\USERENV.dll
0x71c40000 - 0x71c97000 C:\WINDOWS\system32\netapi32.dll
0x5f270000 - 0x5f2ca000 C:\WINDOWS\system32\hnetcfg.dll
0x71ae0000 - 0x71ae8000 C:\WINDOWS\System32\wshtcpip.dll
0x49800000 - 0x49879000 D:\tenfore2.1.0\Tenfore.dll
0x496f0000 - 0x49709000 D:\tenfore2.1.0\TickerApi.dll
0x5d790000 - 0x5d799000 C:\WINDOWS\system32\RPCNS4.dll
0x49710000 - 0x4971b000 C:\WINDOWS\system32\NetTCPIP2.dll
0x49720000 - 0x4972a000 C:\WINDOWS\system32\CX32.dll
0x73eb0000 - 0x73fd1000 C:\WINDOWS\system32\MFC42.DLL
0x77670000 - 0x777a9000 C:\WINDOWS\system32\ole32.dll
0x77d00000 - 0x77d8b000 C:\WINDOWS\system32\OLEAUT32.dll
0x77210000 - 0x772bb000 C:\WINDOWS\system32\WININET.dll
0x77da0000 - 0x77df2000 C:\WINDOWS\system32\SHLWAPI.dll
0x761b0000 - 0x76243000 C:\WINDOWS\system32\CRYPT32.dll
0x76190000 - 0x761a2000 C:\WINDOWS\system32\MSASN1.dll
0x71bb0000 - 0x71bb9000 C:\WINDOWS\system32\WSOCK32.dll
0x49880000 - 0x498bd000 C:\WINDOWS\system32\ODBC32.dll
0x77530000 - 0x775c7000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_5.82.3790.3959_x-ww_78FCF8D0\COMCTL32.dll
0x7c8d0000 - 0x7d0ce000 C:\WINDOWS\system32\SHELL32.dll
0x762b0000 - 0x762f9000 C:\WINDOWS\system32\comdlg32.dll
0x77420000 - 0x77523000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.3790.3959_x-ww_D8713E55\comctl32.dll
0x49e10000 - 0x49e27000 C:\WINDOWS\system32\odbcint.dll
0x6d4e0000 - 0x6d4e9000 C:\Program Files\Java\jre1.5.0_05\bin\nio.dll
0x6d5f0000 - 0x6d5f6000 C:\Program Files\Java\jre1.5.0_05\bin\rmi.dllVM Arguments:
jvm_args: -Dcom.sun.management.jmxremote.port=6050 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Xms512m -Xmx1024m
java_command: Tenfore2.1.5_final_2.jarEnvironment Variables:
JAVA_HOME=UN_6
PATH=JAVA_HOME\bin;JAVA_HOME\jre\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Symantec\pcAnywhere\;D:\Program Files\MySQL\MySQL Server 5.0\bin
USERNAME=Administrator
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 6, GenuineIntel--------------- S Y S T E M ---------------OS: Windows Server 2003 family Build 3790 Service Pack 2CPU:total 4 family 6, cmov, cx8, fxsr, mmx, sse, sse2, htMemory: 4k page, physical 2097151k(1799168k free), swap 4194303k(2763916k free)vm_info: Java HotSpot(TM) Client VM (1.5.0_05-b05) for windows-x86, built on Aug 26 2005 15:36:02 by "java_re" with MS VC++ 6.0
请教是哪里出了问题?谢谢!
JAVA一被其它程序访问自己的的内存,就会崩溃.
C应该是不会访问到JAVA内存的吧
好像是说某处(估计是C的部分,JVM应该不会)去读地址0x00000000了,而操作系统禁止应用程序这样做