我是用的java语言,用的jacob这个中间件(jacob.dll)通过windows 的COM 方式封装的,调用.NET写的一个ABC.dll文件,ABC.dll文件提供的是一个查询功能,可我在tomcat下跑测试的时候,其他都是正常的,但又时候,特别是多线程并发查询的时候,JVM会报错,然后tomcat就挂掉了,请大家来分析下啊,急,分不多,全送上了,错误信息如下:
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x1000cc7d, pid=1336, tid=2960
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0-b64 mixed mode)
# Problematic frame:
# C [jacob.dll+0xcc7d]
#
# An error report file with more information is saved as hs_err_pid1336.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp下面是hs_err_pid1336.log里面的信息:--------------- T H R E A D ---------------Current thread (0x00ac90e8): JavaThread "Thread-12" [_thread_in_native, id=3680]siginfo: ExceptionCode=0xc0000005, writing address 0x069e1e5cRegisters:
EAX=0x034f0c80, EBX=0x034f0650, ECX=0x034f0f1c, EDX=0x034f0f44
ESP=0x02fefaa8, EBP=0x02fefac8, ESI=0x0000003f, EDI=0x0350200c
EIP=0x1000cdae, EFLAGS=0x00010202Top of Stack: (sp=0x02fefaa8)
0x02fefaa8: 00ac90e8 00000010 02fefb3c ffff7fff
0x02fefab8: 00000020 034f0dc4 034f0f1c 00000000
0x02fefac8: 00000022 1000ae64 034f0650 00ac91a4
0x02fefad8: 1000ae35 00000010 1000a777 00000010
0x02fefae8: 00000001 100090e0 00000010 00ac90e8
0x02fefaf8: 26b488d8 02fefb2c 26b488d8 00ae826f
0x02fefb08: 00ac91a4 02fefb3c 02fefb10 00000000
0x02fefb18: 02fefb3c 26b4a6f8 00000000 26b488d8 Instructions: (pc=0x1000cdae)
0x1000cd9e: 00 00 80 d3 ee 09 37 8b 4d f8 85 c9 74 0b 89 0a
0x1000cdae: 89 4c 11 fc eb 03 8b 4d f8 8b 75 f0 03 d1 8d 4e
Stack: [0x02fb0000,0x02ff0000), sp=0x02fefaa8, free space=254k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [jacob.dll+0xcdae]Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.jacob.com.Variant.init()V+0
j com.jacob.com.Variant.<init>(Ljava/lang/String;)V+10
j com.jacob.com.Dispatch.obj2variant(Ljava/lang/Object;)Lcom/jacob/com/Variant;+61
j com.jacob.com.Dispatch.obj2variant([Ljava/lang/Object;)[Lcom/jacob/com/Variant;+16
j com.jacob.com.Dispatch.callN(Lcom/jacob/com/Dispatch;Ljava/lang/String;[Ljava/lang/Object;)Lcom/jacob/com/Variant;+4
j com.jacob.com.Dispatch.call(Lcom/jacob/com/Dispatch;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/jacob/com/Variant;+47
j com.mangocity.util.AVDataset.openAVInfo(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/jacob/com/Dispatch;)V+19
j com.mangocity.test.SearchThread.run()V+96
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub--------------- P R O C E S S ---------------Java Threads: ( => current thread )
0x003d6d78 JavaThread "DestroyJavaVM" [_thread_blocked, id=2992]
0x00aced48 JavaThread "Thread-19" [_thread_blocked, id=2112]
0x00acc228 JavaThread "Thread-18" [_thread_in_native, id=1092]
0x00acb2c8 JavaThread "Thread-17" [_thread_in_native, id=1704]
0x00acdbe8 JavaThread "Thread-16" [_thread_blocked, id=3528]
0x00ac87d0 JavaThread "Thread-15" [_thread_in_native, id=2572]
0x00ac8c90 JavaThread "Thread-14" [_thread_in_native, id=1596]
0x00ac9ea0 JavaThread "Thread-13" [_thread_blocked, id=1464]
=>0x00ac90e8 JavaThread "Thread-12" [_thread_in_native, id=3680]
0x00ac7ca8 JavaThread "Thread-11" [_thread_in_native, id=724]
0x00ac7110 JavaThread "Thread-10" [_thread_blocked, id=1524]
0x00ac6578 JavaThread "Thread-9" [_thread_blocked, id=360]
0x00ac5808 JavaThread "Thread-8" [_thread_blocked, id=1080]
0x00ac4bc8 JavaThread "Thread-7" [_thread_blocked, id=1568]
0x00ac3ef0 JavaThread "Thread-6" [_thread_in_native, id=2600]
0x00ac3218 JavaThread "Thread-5" [_thread_in_native, id=2132]
0x00aa9478 JavaThread "Thread-4" [_thread_blocked, id=2348]
0x00aa8800 JavaThread "Thread-3" [_thread_in_native, id=4092]
0x00ab6030 JavaThread "Thread-2" [_thread_in_native, id=3224]
0x00ac2288 JavaThread "Thread-1" [_thread_in_vm, id=3820]
0x00aa96e0 JavaThread "Thread-0" [_thread_blocked, id=3544]
0x00a927d8 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3044]
0x00a6d4d0 JavaThread "CompilerThread0" daemon [_thread_blocked, id=2640]
0x00a91de0 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=3088]
0x00a6b148 JavaThread "Finalizer" daemon [_thread_blocked, id=3748]
0x00a8dc88 JavaThread "Reference Handler" daemon [_thread_blocked, id=3768]Other Threads:
0x00a49848 VMThread [id=1820]
0x00a93b58 WatcherThread [id=3192]VM state:not at safepoint (normal execution)VM Mutex/Monitor currently owned by a thread: NoneHeap
def new generation total 576K, used 531K [0x22ae0000, 0x22b80000, 0x22fc0000)
eden space 512K, 91% used [0x22ae0000, 0x22b54fe0, 0x22b60000)
from space 64K, 100% used [0x22b70000, 0x22b80000, 0x22b80000)
to space 64K, 0% used [0x22b60000, 0x22b60000, 0x22b70000)
tenured generation total 1408K, used 94K [0x22fc0000, 0x23120000, 0x26ae0000)
the space 1408K, 6% used [0x22fc0000, 0x22fd7ad0, 0x22fd7c00, 0x23120000)
compacting perm gen total 8192K, used 433K [0x26ae0000, 0x272e0000, 0x2aae0000)
the space 8192K, 5% used [0x26ae0000, 0x26b4c480, 0x26b4c600, 0x272e0000)
ro space 8192K, 66% used [0x2aae0000, 0x2b037960, 0x2b037a00, 0x2b2e0000)
rw space 12288K, 46% used [0x2b2e0000, 0x2b8743a8, 0x2b874400, 0x2bee0000)Dynamic libraries:
0x00400000 - 0x0040c000 D:\Java\jdk1.5.0\bin\javaw.exe
0x76eb0000 - 0x76ec3000 C:\WINDOWS\system32\Secur32.dll
0x6d640000 - 0x6d7c5000 D:\Java\jdk1.5.0\jre\bin\client\jvm.dll
0x6d300000 - 0x6d31d000 D:\Java\jdk1.5.0\jre\bin\java.dll
0x6d630000 - 0x6d63f000 D:\Java\jdk1.5.0\jre\bin\zip.dll
0x10000000 - 0x10018000 D:\Java\jdk1.5.0\bin\jacob.dll
0x775f0000 - 0x7767b000 C:\WINDOWS\system32\OLEAUT32.dll
0x774b0000 - 0x775e9000 C:\WINDOWS\system32\ole32.dll
0x77680000 - 0x77703000 C:\WINDOWS\system32\CLBCatQ.DLL
0x76f70000 - 0x770ca000 C:\WINDOWS\system32\COMRes.dll
0x77b60000 - 0x77b68000 C:\WINDOWS\system32\VERSION.dll
0x03620000 - 0x0376a000 C:\WINDOWS\system32\ABE.dll
0x77370000 - 0x77407000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_5.82.3790.3959_x-ww_78FCF8D0\comctl32.dll
0x71b10000 - 0x71b1b000 C:\WINDOWS\system32\wsock32.dll
0x71b60000 - 0x71b77000 C:\WINDOWS\system32\WS2_32.dllVM Arguments:
jvm_args: -Xbootclasspath/a:D:\MyEclipse5.5.1GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.5.1\data\libraryset\EE_5\javaee.jar;D:\MyEclipse5.5.1GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.5.1\data\libraryset\EE_5\jsf-impl.jar;D:\MyEclipse5.5.1GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.5.1\data\libraryset\EE_5\jsf-api.jar;D:\MyEclipse5.5.1GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.5.1\data\libraryset\EE_5\jstl-1.2.jar
java_command: com.mangocity.test.TestTntercurrentEnvironment Variables:
JAVA_HOME=D:\Java\jdk1.5.0
JRE_HOME=D:\Java\jre1.5.0
CLASSPATH=.;JAVA_HOME\lib\dt.jar;JAVA_HOME\lib\tools.jar;"CATALINA_HOME"\common\lib\servlet-api.jar
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;JAVA_HOME\bin
USERNAME=Administrator
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 4 Stepping 3, GenuineIntel
--------------- S Y S T E M ---------------OS: Windows Server 2003 family Build 3790 Service Pack 2CPU:total 2 family 15, cmov, cx8, fxsr, mmx, sse, sse2, htMemory: 4k page, physical 513092k(61316k free), swap 1209756k(535620k free)vm_info: Java HotSpot(TM) Client VM (1.5.0-b64) for windows-x86, built on Sep 15 2004 03:00:31 by "java_re" with MS VC++ 6.0
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x1000cc7d, pid=1336, tid=2960
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0-b64 mixed mode)
# Problematic frame:
# C [jacob.dll+0xcc7d]
#
# An error report file with more information is saved as hs_err_pid1336.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp下面是hs_err_pid1336.log里面的信息:--------------- T H R E A D ---------------Current thread (0x00ac90e8): JavaThread "Thread-12" [_thread_in_native, id=3680]siginfo: ExceptionCode=0xc0000005, writing address 0x069e1e5cRegisters:
EAX=0x034f0c80, EBX=0x034f0650, ECX=0x034f0f1c, EDX=0x034f0f44
ESP=0x02fefaa8, EBP=0x02fefac8, ESI=0x0000003f, EDI=0x0350200c
EIP=0x1000cdae, EFLAGS=0x00010202Top of Stack: (sp=0x02fefaa8)
0x02fefaa8: 00ac90e8 00000010 02fefb3c ffff7fff
0x02fefab8: 00000020 034f0dc4 034f0f1c 00000000
0x02fefac8: 00000022 1000ae64 034f0650 00ac91a4
0x02fefad8: 1000ae35 00000010 1000a777 00000010
0x02fefae8: 00000001 100090e0 00000010 00ac90e8
0x02fefaf8: 26b488d8 02fefb2c 26b488d8 00ae826f
0x02fefb08: 00ac91a4 02fefb3c 02fefb10 00000000
0x02fefb18: 02fefb3c 26b4a6f8 00000000 26b488d8 Instructions: (pc=0x1000cdae)
0x1000cd9e: 00 00 80 d3 ee 09 37 8b 4d f8 85 c9 74 0b 89 0a
0x1000cdae: 89 4c 11 fc eb 03 8b 4d f8 8b 75 f0 03 d1 8d 4e
Stack: [0x02fb0000,0x02ff0000), sp=0x02fefaa8, free space=254k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [jacob.dll+0xcdae]Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.jacob.com.Variant.init()V+0
j com.jacob.com.Variant.<init>(Ljava/lang/String;)V+10
j com.jacob.com.Dispatch.obj2variant(Ljava/lang/Object;)Lcom/jacob/com/Variant;+61
j com.jacob.com.Dispatch.obj2variant([Ljava/lang/Object;)[Lcom/jacob/com/Variant;+16
j com.jacob.com.Dispatch.callN(Lcom/jacob/com/Dispatch;Ljava/lang/String;[Ljava/lang/Object;)Lcom/jacob/com/Variant;+4
j com.jacob.com.Dispatch.call(Lcom/jacob/com/Dispatch;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/jacob/com/Variant;+47
j com.mangocity.util.AVDataset.openAVInfo(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/jacob/com/Dispatch;)V+19
j com.mangocity.test.SearchThread.run()V+96
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub--------------- P R O C E S S ---------------Java Threads: ( => current thread )
0x003d6d78 JavaThread "DestroyJavaVM" [_thread_blocked, id=2992]
0x00aced48 JavaThread "Thread-19" [_thread_blocked, id=2112]
0x00acc228 JavaThread "Thread-18" [_thread_in_native, id=1092]
0x00acb2c8 JavaThread "Thread-17" [_thread_in_native, id=1704]
0x00acdbe8 JavaThread "Thread-16" [_thread_blocked, id=3528]
0x00ac87d0 JavaThread "Thread-15" [_thread_in_native, id=2572]
0x00ac8c90 JavaThread "Thread-14" [_thread_in_native, id=1596]
0x00ac9ea0 JavaThread "Thread-13" [_thread_blocked, id=1464]
=>0x00ac90e8 JavaThread "Thread-12" [_thread_in_native, id=3680]
0x00ac7ca8 JavaThread "Thread-11" [_thread_in_native, id=724]
0x00ac7110 JavaThread "Thread-10" [_thread_blocked, id=1524]
0x00ac6578 JavaThread "Thread-9" [_thread_blocked, id=360]
0x00ac5808 JavaThread "Thread-8" [_thread_blocked, id=1080]
0x00ac4bc8 JavaThread "Thread-7" [_thread_blocked, id=1568]
0x00ac3ef0 JavaThread "Thread-6" [_thread_in_native, id=2600]
0x00ac3218 JavaThread "Thread-5" [_thread_in_native, id=2132]
0x00aa9478 JavaThread "Thread-4" [_thread_blocked, id=2348]
0x00aa8800 JavaThread "Thread-3" [_thread_in_native, id=4092]
0x00ab6030 JavaThread "Thread-2" [_thread_in_native, id=3224]
0x00ac2288 JavaThread "Thread-1" [_thread_in_vm, id=3820]
0x00aa96e0 JavaThread "Thread-0" [_thread_blocked, id=3544]
0x00a927d8 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3044]
0x00a6d4d0 JavaThread "CompilerThread0" daemon [_thread_blocked, id=2640]
0x00a91de0 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=3088]
0x00a6b148 JavaThread "Finalizer" daemon [_thread_blocked, id=3748]
0x00a8dc88 JavaThread "Reference Handler" daemon [_thread_blocked, id=3768]Other Threads:
0x00a49848 VMThread [id=1820]
0x00a93b58 WatcherThread [id=3192]VM state:not at safepoint (normal execution)VM Mutex/Monitor currently owned by a thread: NoneHeap
def new generation total 576K, used 531K [0x22ae0000, 0x22b80000, 0x22fc0000)
eden space 512K, 91% used [0x22ae0000, 0x22b54fe0, 0x22b60000)
from space 64K, 100% used [0x22b70000, 0x22b80000, 0x22b80000)
to space 64K, 0% used [0x22b60000, 0x22b60000, 0x22b70000)
tenured generation total 1408K, used 94K [0x22fc0000, 0x23120000, 0x26ae0000)
the space 1408K, 6% used [0x22fc0000, 0x22fd7ad0, 0x22fd7c00, 0x23120000)
compacting perm gen total 8192K, used 433K [0x26ae0000, 0x272e0000, 0x2aae0000)
the space 8192K, 5% used [0x26ae0000, 0x26b4c480, 0x26b4c600, 0x272e0000)
ro space 8192K, 66% used [0x2aae0000, 0x2b037960, 0x2b037a00, 0x2b2e0000)
rw space 12288K, 46% used [0x2b2e0000, 0x2b8743a8, 0x2b874400, 0x2bee0000)Dynamic libraries:
0x00400000 - 0x0040c000 D:\Java\jdk1.5.0\bin\javaw.exe
0x76eb0000 - 0x76ec3000 C:\WINDOWS\system32\Secur32.dll
0x6d640000 - 0x6d7c5000 D:\Java\jdk1.5.0\jre\bin\client\jvm.dll
0x6d300000 - 0x6d31d000 D:\Java\jdk1.5.0\jre\bin\java.dll
0x6d630000 - 0x6d63f000 D:\Java\jdk1.5.0\jre\bin\zip.dll
0x10000000 - 0x10018000 D:\Java\jdk1.5.0\bin\jacob.dll
0x775f0000 - 0x7767b000 C:\WINDOWS\system32\OLEAUT32.dll
0x774b0000 - 0x775e9000 C:\WINDOWS\system32\ole32.dll
0x77680000 - 0x77703000 C:\WINDOWS\system32\CLBCatQ.DLL
0x76f70000 - 0x770ca000 C:\WINDOWS\system32\COMRes.dll
0x77b60000 - 0x77b68000 C:\WINDOWS\system32\VERSION.dll
0x03620000 - 0x0376a000 C:\WINDOWS\system32\ABE.dll
0x77370000 - 0x77407000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_5.82.3790.3959_x-ww_78FCF8D0\comctl32.dll
0x71b10000 - 0x71b1b000 C:\WINDOWS\system32\wsock32.dll
0x71b60000 - 0x71b77000 C:\WINDOWS\system32\WS2_32.dllVM Arguments:
jvm_args: -Xbootclasspath/a:D:\MyEclipse5.5.1GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.5.1\data\libraryset\EE_5\javaee.jar;D:\MyEclipse5.5.1GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.5.1\data\libraryset\EE_5\jsf-impl.jar;D:\MyEclipse5.5.1GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.5.1\data\libraryset\EE_5\jsf-api.jar;D:\MyEclipse5.5.1GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.5.1\data\libraryset\EE_5\jstl-1.2.jar
java_command: com.mangocity.test.TestTntercurrentEnvironment Variables:
JAVA_HOME=D:\Java\jdk1.5.0
JRE_HOME=D:\Java\jre1.5.0
CLASSPATH=.;JAVA_HOME\lib\dt.jar;JAVA_HOME\lib\tools.jar;"CATALINA_HOME"\common\lib\servlet-api.jar
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;JAVA_HOME\bin
USERNAME=Administrator
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 4 Stepping 3, GenuineIntel
--------------- S Y S T E M ---------------OS: Windows Server 2003 family Build 3790 Service Pack 2CPU:total 2 family 15, cmov, cx8, fxsr, mmx, sse, sse2, htMemory: 4k page, physical 513092k(61316k free), swap 1209756k(535620k free)vm_info: Java HotSpot(TM) Client VM (1.5.0-b64) for windows-x86, built on Sep 15 2004 03:00:31 by "java_re" with MS VC++ 6.0
解决方案 »
- 如何用代码来实现upload和download的security programming?
- 如何处理批量数据?(一次数据库查询)
- java web 和java ee 有什么区别?
- 菜鸟在线等解决方案--其实很简单
- jsp表单提交,关于submit的值
- XML-DOM中如何取得节点的值啊?
- 帮忙想一下根据一个不断重复的序列号来获取到一个不重复的号码的逻辑,
- 百分求JAVA简单代码,高手请进!!!
- 帮忙:谁知道深圳新宇龙这家公司怎么样,马上要去面试了。
- (100:来者有分)假如你是SUN,现在开发petstore,从设计到运行,你会怎样什么样的步骤?
- 插入一条记录人事专员录入档案信息确认无误后提交,该条档案状态为“待复核”。由人事经理复核后状态变为“正常”
- 关于webservice传输自定义对象问题
这个ACCESS_VIOLATION一般是C语言的错误。
也是多线程调用jacob啊!来高人吧!
我搜的结果好像说只要.dll的,java多线程调用就存在安全问题!
难道是.dll内部的各类调用没有处于安全问题?