#
从调用本地动态库的模块上线以后,有时会出现JBOSS崩溃,JAVA虚拟机崩溃的现象,求高手指点解决
调用动态库
j loaddll.loaddll.LoadLibrary(Ljava/lang/String;)I+0
j com.known.sercet.SecretMac.LoadDLL()I+14
j com.known.sercet.SecretMac.<init>()V+49# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x07334836, pid=2732, tid=3248
#
# Java VM: Java HotSpot(TM) Server VM (1.4.2_14-b05 mixed mode)
# Problematic frame:
# C [nornjni.dll+0x4836]
#--------------- T H R E A D ---------------Current thread (0x05a65a30): JavaThread "http-0.0.0.0-8001-42" daemon [_thread_in_native, id=3248]siginfo: ExceptionCode=0xc0000005, writing address 0x00000004Registers:
EAX=0x0e823690, EBX=0x07356910, ECX=0x0e8234d8, EDX=0x07361fa0
ESP=0x070af108, EBP=0x0e823690, ESI=0x00000000, EDI=0x00000000
EIP=0x07334836, EFLAGS=0x00010287Top of Stack: (sp=0x070af108)
0x070af108: 0e823590 07361fa0 07356910 070af1d4
0x070af118: 07332db0 070af144 07361fa0 0e823590
0x070af128: 070af1d4 00015e6d 0d55d027 0000000f
0x070af138: 041eec05 00015e6d 070af1d8 070af200
0x070af148: 0734e4e8 073314bb 070af1a4 0e823590
0x070af158: 05a65a30 375f8618 070af238 375f85c0
0x070af168: 11f34588 07361fe8 11f34370 11f34311
0x070af178: 0e8234a1 0000000f 0000001f 00015e6d Instructions: (pc=0x07334836)
0x07334826: 08 8b 32 89 71 08 8b 32 3b 35 24 69 35 07 74 03
0x07334836: 89 4e 04 8b 71 04 89 72 04 8b 73 04 3b 4e 04 75
Stack: [0x07070000,0x070b0000), sp=0x070af108, free space=252k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [nornjni.dll+0x4836]Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j loaddll.loaddll.LoadLibrary(Ljava/lang/String;)I+0
j com.known.sercet.SecretMac.LoadDLL()I+14
j com.known.sercet.SecretMac.<init>()V+49
v ~C2IAdapter
J com.known.sercet.SecretMac.getTraMac(Ljava/lang/Object;)Ljava/lang/String;
v ~I2CAdapter
j com.known.selfassist.bustier.facade.BusinessSocketHelp.Pay(Ljava/lang/Object;)Lcom/known/selfassist/vo/BaseReceivePackage;+90
v ~C2IAdapter
J com.known.selfassist.bustier.facade.BusinessSocketHelp.Sockets(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
J com.known.selfassist.bustier.facade.BusinessSocket.baseService(Ljava/lang/Object;)Ljava/lang/Object;
J sun.reflect.GeneratedMethodAccessor154.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
J sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
J org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.plugins.CallValidationInterceptor.invoke(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(Lorg/jboss/invocation/Invocation;Z)Ljava/lang/Object;
J org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.plugins.TxInterceptorBMT.invoke(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.plugins.SecurityInterceptor.invoke(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.SessionContainer.internalInvoke(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.Container.invoke(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
J org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
J com.known.selfassist.webtier.client.FacadeClientLocalhost.getObjectValue(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
J com.known.selfassist.webtier.action.JNHFAction.doCashPay(Lorg/apache/struts/action/ActionMapping;Lorg/apache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lorg/apache/struts/action/ActionForward;
v ~I2CAdapter
j sun.reflect.GeneratedMethodAccessor275.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+64
v ~C2IAdapter
J sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
J org.apache.struts.actions.DispatchAction.execute(Lorg/apache/struts/action/ActionMapping;Lorg/apache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lorg/apache/struts/action/ActionForward;
J org.apache.struts.action.RequestProcessor.process(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V
J org.apache.struts.action.ActionServlet.doPost(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V
J javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V
J javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
J org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
J org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
J org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
J org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
J org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
J org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
J org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
J org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
J org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V
J org.apache.coyote.http11.Http11Processor.process(Ljava/io/InputStream;Ljava/io/OutputStream;)V
J org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Lorg/apache/tomcat/util/net/TcpConnection;[Ljava/lang/Object;)V
J org.apache.tomcat.util.net.MasterSlaveWorkerThread.run()V
v ~OSRAdapter
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub--------------- P R O C E S S ---------------
VM state:not at safepoint (normal execution)VM Mutex/Monitor currently owned by a thread: NoneHeap
def new generation total 61440K, used 33936K [0x10010000, 0x142b0000, 0x142b0000)
eden space 54656K, 58% used [0x10010000, 0x11f58bd0, 0x13570000)
from space 6784K, 28% used [0x13c10000, 0x13deb570, 0x142b0000)
to space 6784K, 0% used [0x13570000, 0x13570000, 0x13c10000)
tenured generation total 546176K, used 130981K [0x142b0000, 0x35810000, 0x35810000)
the space 546176K, 23% used [0x142b0000, 0x1c2994c8, 0x1c299600, 0x35810000)
compacting perm gen total 34048K, used 33973K [0x35810000, 0x37950000, 0x39810000)
the space 34048K, 99% used [0x35810000, 0x3793d440, 0x3793d600, 0x37950000)VM Arguments:
jvm_args: -Dprogram.name=run.bat -Xms600m -Xmx600m -XX:MaxNewSize=150m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.endorsed.dirs=D:\JBoss\jboss8001\bin\\..\lib\endorsed
java_command: org.jboss.Main
Launcher Type: SUN_STANDARDEnvironment Variables:
JAVA_HOME=C:\j2sdk1.4.2_14
CLASSPATH=.;
PATH=C:\j2sdk1.4.2_14\bin;E:\oracle\ora92\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Tuxedo7.1\bin;C:\j2sdk1.4.2_14\bin;C:\Program Files\Symantec\pcAnywhere\
USERNAME=Administrator
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 6, GenuineIntel
--------------- S Y S T E M ---------------OS: Windows Server 2003 family Build 3790 Service Pack 2CPU:total 8 family 6, cmov, cx8, fxsr, mmx, sse, sse2Memory: 4k page, physical 2097151k(2097151k free), swap 4194303k(4194303k free)vm_info: Java HotSpot(TM) Server VM (1.4.2_14-b05) for windows-x86, built on Mar 14 2007 16:37:27 by "java_re" with MS VC++ 6.0
从调用本地动态库的模块上线以后,有时会出现JBOSS崩溃,JAVA虚拟机崩溃的现象,求高手指点解决
调用动态库
j loaddll.loaddll.LoadLibrary(Ljava/lang/String;)I+0
j com.known.sercet.SecretMac.LoadDLL()I+14
j com.known.sercet.SecretMac.<init>()V+49# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x07334836, pid=2732, tid=3248
#
# Java VM: Java HotSpot(TM) Server VM (1.4.2_14-b05 mixed mode)
# Problematic frame:
# C [nornjni.dll+0x4836]
#--------------- T H R E A D ---------------Current thread (0x05a65a30): JavaThread "http-0.0.0.0-8001-42" daemon [_thread_in_native, id=3248]siginfo: ExceptionCode=0xc0000005, writing address 0x00000004Registers:
EAX=0x0e823690, EBX=0x07356910, ECX=0x0e8234d8, EDX=0x07361fa0
ESP=0x070af108, EBP=0x0e823690, ESI=0x00000000, EDI=0x00000000
EIP=0x07334836, EFLAGS=0x00010287Top of Stack: (sp=0x070af108)
0x070af108: 0e823590 07361fa0 07356910 070af1d4
0x070af118: 07332db0 070af144 07361fa0 0e823590
0x070af128: 070af1d4 00015e6d 0d55d027 0000000f
0x070af138: 041eec05 00015e6d 070af1d8 070af200
0x070af148: 0734e4e8 073314bb 070af1a4 0e823590
0x070af158: 05a65a30 375f8618 070af238 375f85c0
0x070af168: 11f34588 07361fe8 11f34370 11f34311
0x070af178: 0e8234a1 0000000f 0000001f 00015e6d Instructions: (pc=0x07334836)
0x07334826: 08 8b 32 89 71 08 8b 32 3b 35 24 69 35 07 74 03
0x07334836: 89 4e 04 8b 71 04 89 72 04 8b 73 04 3b 4e 04 75
Stack: [0x07070000,0x070b0000), sp=0x070af108, free space=252k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [nornjni.dll+0x4836]Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j loaddll.loaddll.LoadLibrary(Ljava/lang/String;)I+0
j com.known.sercet.SecretMac.LoadDLL()I+14
j com.known.sercet.SecretMac.<init>()V+49
v ~C2IAdapter
J com.known.sercet.SecretMac.getTraMac(Ljava/lang/Object;)Ljava/lang/String;
v ~I2CAdapter
j com.known.selfassist.bustier.facade.BusinessSocketHelp.Pay(Ljava/lang/Object;)Lcom/known/selfassist/vo/BaseReceivePackage;+90
v ~C2IAdapter
J com.known.selfassist.bustier.facade.BusinessSocketHelp.Sockets(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
J com.known.selfassist.bustier.facade.BusinessSocket.baseService(Ljava/lang/Object;)Ljava/lang/Object;
J sun.reflect.GeneratedMethodAccessor154.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
J sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
J org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.plugins.CallValidationInterceptor.invoke(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(Lorg/jboss/invocation/Invocation;Z)Ljava/lang/Object;
J org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.plugins.TxInterceptorBMT.invoke(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.plugins.SecurityInterceptor.invoke(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.SessionContainer.internalInvoke(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.Container.invoke(Lorg/jboss/invocation/Invocation;)Ljava/lang/Object;
J org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
J org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
J com.known.selfassist.webtier.client.FacadeClientLocalhost.getObjectValue(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
J com.known.selfassist.webtier.action.JNHFAction.doCashPay(Lorg/apache/struts/action/ActionMapping;Lorg/apache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lorg/apache/struts/action/ActionForward;
v ~I2CAdapter
j sun.reflect.GeneratedMethodAccessor275.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+64
v ~C2IAdapter
J sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
J org.apache.struts.actions.DispatchAction.execute(Lorg/apache/struts/action/ActionMapping;Lorg/apache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lorg/apache/struts/action/ActionForward;
J org.apache.struts.action.RequestProcessor.process(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V
J org.apache.struts.action.ActionServlet.doPost(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V
J javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V
J javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
J org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
J org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
J org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
J org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
J org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
J org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
J org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
J org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
J org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V
J org.apache.coyote.http11.Http11Processor.process(Ljava/io/InputStream;Ljava/io/OutputStream;)V
J org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Lorg/apache/tomcat/util/net/TcpConnection;[Ljava/lang/Object;)V
J org.apache.tomcat.util.net.MasterSlaveWorkerThread.run()V
v ~OSRAdapter
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub--------------- P R O C E S S ---------------
VM state:not at safepoint (normal execution)VM Mutex/Monitor currently owned by a thread: NoneHeap
def new generation total 61440K, used 33936K [0x10010000, 0x142b0000, 0x142b0000)
eden space 54656K, 58% used [0x10010000, 0x11f58bd0, 0x13570000)
from space 6784K, 28% used [0x13c10000, 0x13deb570, 0x142b0000)
to space 6784K, 0% used [0x13570000, 0x13570000, 0x13c10000)
tenured generation total 546176K, used 130981K [0x142b0000, 0x35810000, 0x35810000)
the space 546176K, 23% used [0x142b0000, 0x1c2994c8, 0x1c299600, 0x35810000)
compacting perm gen total 34048K, used 33973K [0x35810000, 0x37950000, 0x39810000)
the space 34048K, 99% used [0x35810000, 0x3793d440, 0x3793d600, 0x37950000)VM Arguments:
jvm_args: -Dprogram.name=run.bat -Xms600m -Xmx600m -XX:MaxNewSize=150m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.endorsed.dirs=D:\JBoss\jboss8001\bin\\..\lib\endorsed
java_command: org.jboss.Main
Launcher Type: SUN_STANDARDEnvironment Variables:
JAVA_HOME=C:\j2sdk1.4.2_14
CLASSPATH=.;
PATH=C:\j2sdk1.4.2_14\bin;E:\oracle\ora92\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Tuxedo7.1\bin;C:\j2sdk1.4.2_14\bin;C:\Program Files\Symantec\pcAnywhere\
USERNAME=Administrator
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 6, GenuineIntel
--------------- S Y S T E M ---------------OS: Windows Server 2003 family Build 3790 Service Pack 2CPU:total 8 family 6, cmov, cx8, fxsr, mmx, sse, sse2Memory: 4k page, physical 2097151k(2097151k free), swap 4194303k(4194303k free)vm_info: Java HotSpot(TM) Server VM (1.4.2_14-b05) for windows-x86, built on Mar 14 2007 16:37:27 by "java_re" with MS VC++ 6.0
the space 34048K, 99% used [0x35810000, 0x3793d440, 0x3793d600, 0x37950000)来看,你的配置少如下配置-XX:PermSize=64M
-XX:MaxPermSize=256m从综合情况来看,可能你的jdk版本该升级了。哈哈!原来用至强系统低版本也出问题,后来用1.6 18kit 就很少出问题了!
既然是 DES,那应该就是标准的了,否则也不叫 DES 了,呵呵。Java 中的安全类库很强大的,如果不是必须要调用 dll 组件的话,建议从 Java 代码这块来实现。估计是 dll 的实现有问题才导致 JVM 崩溃了,要不先用新版本的 JDK 在其他机器上试试看看有没有这种情况出现。