0 Replies Latest reply on Feb 14, 2006 11:04 PM by phchang

    Java-level deadlock

      Found one Java-level deadlock:
      =============================
      "JBoss Shutdown Hook":
      waiting to lock monitor 0x080f4e14 (object 0x8034f460, a oracle.jbo.JboSyncLock),
      which is held by "http-0.0.0.0-8888-Processor16"
      "http-0.0.0.0-8888-Processor16":
      waiting to lock monitor 0x080f52d4 (object 0x7d13a910, a java.lang.Integer),
      which is held by "JBoss Shutdown Hook"

      Java stack information for the threads listed above:
      ===================================================
      "JBoss Shutdown Hook":
      at oracle.jbo.server.ApplicationModuleImpl.resetState(ApplicationModuleImpl.java:4047)
      - waiting to lock <0x8034f460> (a oracle.jbo.JboSyncLock)
      at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:7718)
      at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:3923
      at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:3901
      at oracle.jbo.common.ampool.ApplicationPoolImpl.removeResources(ApplicationPoolImpl.java:2430
      at oracle.jbo.pool.ResourcePoolManager.removeResourcePool(ResourcePoolManager.java:117)
      - locked <0x7d13a910> (a java.lang.Integer)
      at oracle.adf.model.servlet.ADFBindingFilter.destroy(ADFBindingFilter.java:118)
      at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:258)
      at org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:3733)
      - locked <0x7b805d40> (a java.util.HashMap)
      at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4490)
      - locked <0x7b8018d8> (a org.apache.catalina.core.StandardContext)
      at org.apache.catalina.core.ContainerBase.destroy(ContainerBase.java:1213)
      at org.apache.catalina.core.StandardContext.destroy(StandardContext.java:4602)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
      at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:150)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
      at org.jboss.web.tomcat.tc5.TomcatDeployer.performUndeployInternal(TomcatDeployer.java:437)
      at org.jboss.web.tomcat.tc5.TomcatDeployer.performUndeploy(TomcatDeployer.java:408)
      at org.jboss.web.AbstractWebDeployer.stop(AbstractWebDeployer.java:421)
      - locked <0x760f0770> (a org.jboss.web.tomcat.tc5.TomcatDeployer)
      at org.jboss.web.WebModule.stopModule(WebModule.java:79)
      - locked <0x79f7ac08> (a org.jboss.web.WebModule)
      at org.jboss.web.WebModule.stopService(WebModule.java:45)
      at org.jboss.system.ServiceMBeanSupport.jbossInternalStop(ServiceMBeanSupport.java:320)
      at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:224)
      at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
      at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
      at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
      at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
      at $Proxy0.stop(Unknown Source)
      at org.jboss.system.ServiceController.stop(ServiceController.java:498)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      Type :quit to exit Vim

      Environment:we are using JDBC driver residing on a JBOSS server. we have 2 JBOSS servers running on RED HAT LINUX AS 3 (we have 2 identical servers running JBOSS application servers which host our Java applicaction - a copy of our Java application sits on those 2 servers). the application design framework is based on J2EE ADF. here's our sw/hw spec:
      Hardware
      ========
      - #CPU: 4
      - OS: Linux 2.4.21-32.EL (i386)

      JVM Machine
      ===========
      JVM Environment
      Free Memory: 1036 MB
      Max Memory: 1406 MB
      Total Memory: 1406 MB
      #Threads: 67
      JVM Version: 1.5.0_04-b05 (Sun Microsystems Inc.)
      JVM Name: Java HotSpot(TM) Server VM

      JBOSS Version
      =============
      Version: 4.0.1RC1(build: CVSTag=JBoss_4_0_1_RC1 date=200411041143)
      Version Name: Zion
      Built on: November 4


      Temporary Solution:
      when we faced the deadlock, we'll stop the JBOSS application server service and start again. then the problem is solved. the restart of JBOSS service will be carried out again once there's another deadlock occur.