3 Replies Latest reply on Jan 29, 2004 8:10 AM by mortonpd

    org/jboss/mx/loading/LoadMgr.java deadlock

    shortpasta

       

      "shortpasta" wrote:
      I get this deadlock very often.
      Check-out the comment in the LoadMgr file itself:

      task.state = ClassLoadingTask.WAIT_ON_EVENT;
      /* TODO: We are waiting with the UCL monitor held here. Is there
      a deadlock scenario that can occur due to the class we are
      waiting on needing a class from the UCL?
      */
      task.wait();


      And here are the traces for my 2 threads that lock the application during bootup

      "Thread-25" prio=5 tid=0x1cd9da10 nid=0x2fc waiting on monitor [0x1e38f000..0x1e38fdbc]
      at java.lang.Object.wait(Native Method)
      at java.lang.Object.wait(Object.java:420)
      at org.jboss.mx.loading.LoadMgr.nextTask(LoadMgr.java:236)
      at org.jboss.mx.loading.UnifiedClassLoader3.loadClass(UnifiedClassLoader3.java:181)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
      at com.syncvoice.commons.lang.ClassUtil.forName(ClassUtil.java:35)
      at com.syncvoice.parser.consumer.DefaultConsumer.createPersistor(DefaultConsumer.java:125)
      at com.syncvoice.parser.rhino.consumer.RhinoConsumer.start(RhinoConsumer.java:224)
      at com.syncvoice.parser.rhino.callMessage.consumer.CallMessageRhinoConsumer.start(CallMessageRhinoConsumer.java:58)
      at com.syncvoice.parser.rhino.consumer.RhinoConsumer.validate(RhinoConsumer.java:293)
      at java.lang.reflect.Method.invoke(Native Method)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at com.syncvoice.commons.jmx.impl.MBeanManager.invoke(MBeanManager.java:521)
      at com.syncvoice.commons.jmx.scheduler.Scheduler$MBeanTimerTask.run(Scheduler.java:71)
      at java.util.TimerThread.mainLoop(Timer.java:435)
      at java.util.TimerThread.run(Timer.java:385)



      "main" prio=5 tid=0x915fd0 nid=0x9a4 waiting on monitor [0x1cf6c000..0x1cf6fdbc]
      at java.lang.Object.wait(Native Method)
      at java.lang.Object.wait(Object.java:420)
      at org.jboss.mx.loading.LoadMgr.nextTask(LoadMgr.java:236)
      at org.jboss.mx.loading.UnifiedClassLoader3.loadClass(UnifiedClassLoader3.java:181)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
      at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
      at java.lang.ClassLoader.defineClass0(Native Method)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:493)
      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
      at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
      at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
      at org.jboss.mx.loading.UnifiedClassLoader.findClass(UnifiedClassLoader.java:401)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
      at org.jboss.mx.loading.UnifiedClassLoader.loadClassLocally(UnifiedClassLoader.java:242)
      at org.jboss.mx.loading.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:114)
      at org.jboss.mx.loading.LoadMgr.nextTask(LoadMgr.java:281)
      at org.jboss.mx.loading.UnifiedClassLoader3.loadClass(UnifiedClassLoader3.java:181)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
      at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
      at java.lang.ClassLoader.defineClass0(Native Method)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:493)
      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
      at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
      at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
      at org.jboss.mx.loading.UnifiedClassLoader.findClass(UnifiedClassLoader.java:401)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
      at org.jboss.mx.loading.UnifiedClassLoader.loadClassLocally(UnifiedClassLoader.java:242)
      at org.jboss.mx.loading.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:114)
      at org.jboss.mx.loading.LoadMgr.nextTask(LoadMgr.java:281)
      at org.jboss.mx.loading.UnifiedClassLoader3.loadClass(UnifiedClassLoader3.java:181)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
      at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
      at java.lang.Class.newInstance0(Native Method)
      at java.lang.Class.newInstance(Class.java:237)
      at com.syncvoice.commons.patterns.singleton.SingletonBuilder.buildInstance(SingletonBuilder.java:20)
      at com.syncvoice.commons.patterns.singleton.SingletonManager.getInstance(SingletonManager.java:80)
      at com.syncvoice.commons.patterns.singleton.SingletonManager.getInstanceImpl(SingletonManager.java:182)
      at com.syncvoice.commons.patterns.singleton.SingletonManager.getInstance(SingletonManager.java:140)
      at com.vxgateway.startup.LoadCacheManagerStartup.start(LoadCacheManagerStartup.java:26)
      at com.vxgateway.startup.StartupManager.runStartup(StartupManager.java:111)
      at com.vxgateway.servlet.StartupServlet.init(StartupServlet.java:15)
      at javax.servlet.GenericServlet.init(GenericServlet.java:256)
      at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:935)
      at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:823)
      at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3420)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:3608)
      at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:821)
      at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
      at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:579)
      at org.jboss.web.catalina.EmbeddedCatalinaService41.createWebContext(EmbeddedCatalinaService41.java:417)
      at org.jboss.web.catalina.EmbeddedCatalinaService41.performDeploy(EmbeddedCatalinaService41.java:266)
      at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:357)
      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:824)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613)
      at java.lang.reflect.Method.invoke(Native Method)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy7.deploy(Unknown Source)
      at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)
      at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)
      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:200)
      at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:273)
      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
      at java.lang.reflect.Method.invoke(Native Method)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966)
      at $Proxy0.start(Unknown Source)
      at org.jboss.system.ServiceController.start(ServiceController.java:392)
      at java.lang.reflect.Method.invoke(Native Method)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy5.start(Unknown Source)
      at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226)
      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:597)
      at java.lang.reflect.Method.invoke(Native Method)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy6.deploy(Unknown Source)
      at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:365)
      at org.jboss.system.server.ServerImpl.start(ServerImpl.java:272)
      at org.jboss.Main.boot(Main.java:150)
      at org.jboss.Main$1.run(Main.java:388)
      at java.lang.Thread.run(Thread.java:484)