From: SourceForge.net <no...@so...> - 2003-01-05 04:52:30
|
Bugs item #662098, was opened at 2003-01-04 04:00 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=662098&group_id=22866 >Category: JBossMX Group: v3.2 >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Dorothy Gantenbein (dgantenbein) >Assigned to: Scott M Stark (starksm) Summary: class loader deadlock new for 3.2Beta3 Initial Comment: Class loader deadlock occurs on Windows XP, Windows 2000 and Linus. Using JDK 1.4.1_01 and JBoss 3.2 Beta3. This was not a problem using JBoss 3.2 Beta1. For us, this deadlock occurs using Cactus' ant task to do automated nightly testing (runservertasks). This ant task starts JBoss, and JBoss freezes during startup at various points. At the bottom of this information is the information about the deadlock from OptimizeIt's thread debugger. The stacktraces to the two threads involved in the deadlock are included (tcpConnection-8080-1 and main). For tcpConnection-8080-1 thread, the resin classes appear in the stacktrace. I have confirmed that the resin classes shown in the stacktrace are NOT holding any monitor on a class. ------------------------------------------------------------ Thread tcpConnection-8080-1 enters monitor java.lang.Class 0xaf35760 first and then org.jboss.mx.loading.UnifiedClassLoader3 0xb124f80 while thread main enters in opposite order. Thread [tcpConnection-8080-1] (Suspended) java.lang.Object.wait(long) line: not available [native method] org.jboss.mx.loading.ClassLoadingTask (java.lang.Object).wait() line: 426 org.jboss.mx.loading.UnifiedClassLoader3.loa dClass(java.lang.String, boolean) line: 175 org.jboss.mx.loading.UnifiedClassLoader3 (java.lang.ClassLoader).loadClass(java.lang.String) line: 262 org.jboss.mx.loading.UnifiedClassLoader3 (java.lang.ClassLoader).loadClassInternal (java.lang.String) line: 322 java.lang.ClassLoader.defineClass0 (java.lang.String, byte[], int, int, java.security.ProtectionDomain) line: not available [native method] org.jboss.mx.loading.UnifiedClassLoader3 (java.lang.ClassLoader).defineClass(java.lang.String, byte[], int, int, java.security.ProtectionDomain) line: 509 org.jboss.mx.loading.UnifiedClassLoader3 (java.security.SecureClassLoader).defineClass (java.lang.String, byte[], int, int, java.security.CodeSource) line: 123 org.jboss.mx.loading.UnifiedClassLoader3 (java.net.URLClassLoader).defineClass(java.lang.String, sun.misc.Resource) line: 246 java.net.URLClassLoader.access$100 (java.net.URLClassLoader, java.lang.String, sun.misc.Resource) line: 54 java.net.URLClassLoader$1.run() line: 193 java.security.AccessController.doPrivileged (java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: not available [native method] org.jboss.mx.loading.UnifiedClassLoader3 (java.net.URLClassLoader).findClass(java.lang.String) line: 186 org.jboss.mx.loading.UnifiedClassLoader3 (org.jboss.mx.loading.UnifiedClassLoader).findClass (java.lang.String) line: 444 org.jboss.mx.loading.UnifiedClassLoader3 (java.lang.ClassLoader).loadClass(java.lang.String, boolean) line: 306 org.jboss.mx.loading.UnifiedClassLoader3 (org.jboss.mx.loading.UnifiedClassLoader).loadClassLoc ally(java.lang.String, boolean) line: 250 org.jboss.mx.loading.UnifiedLoaderRepository 3.loadClassFromClassLoader(java.lang.String, boolean, org.jboss.mx.loading.UnifiedClassLoader) line: 187 org.jboss.mx.loading.LoadMgr.beginLoadTas k(org.jboss.mx.loading.ClassLoadingTask, org.jboss.mx.loading.UnifiedLoaderRepository3) line: 119 org.jboss.mx.loading.UnifiedClassLoader3.loa dClass(java.lang.String, boolean) line: 161 org.jboss.mx.loading.UnifiedClassLoader3 (java.lang.ClassLoader).loadClass(java.lang.String) line: 262 org.jboss.mx.loading.UnifiedClassLoader3 (java.lang.ClassLoader).loadClassInternal (java.lang.String) line: 322 com.caucho.jsp.JspParser.parse (com.caucho.vfs.ReadStream, java.lang.String, java.lang.String, java.lang.String, com.caucho.vfs.Path, com.caucho.server.http.CauchoRequest, com.caucho.server.http.CauchoApplication) line: 282 com.caucho.jsp.JspParser.parse (com.caucho.vfs.ReadStream, com.caucho.vfs.Path, java.lang.String, java.lang.String, java.lang.String, com.caucho.server.http.CauchoRequest, com.caucho.server.http.CauchoApplication, com.caucho.java.LineMap, boolean, java.util.ArrayList) line: 258 com.caucho.jsp.XtpPage.getJspPage (com.caucho.xml.CauchoDocument, javax.xml.transform.Templates, com.caucho.server.http.CauchoRequest, com.caucho.server.http.CauchoResponse, java.lang.String) line: 602 com.caucho.jsp.XtpPage.compileJspPage (com.caucho.server.http.CauchoRequest, com.caucho.server.http.CauchoResponse, com.caucho.xml.CauchoDocument, javax.xml.transform.Templates, java.lang.String) line: 388 com.caucho.jsp.XtpPage.service (javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 234 com.caucho.jsp.XtpPage (com.caucho.jsp.Page).subservice (com.caucho.server.http.CauchoRequest, com.caucho.server.http.CauchoResponse) line: 497 com.caucho.server.http.FilterChainPage.doFil ter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 182 com.caucho.server.http.CacheInvocation (com.caucho.server.http.Invocation).service (com.caucho.server.http.AbstractRequest, com.caucho.server.http.CauchoResponse) line: 312 com.caucho.server.http.CacheInvocation.servi ce(com.caucho.server.http.AbstractRequest, com.caucho.server.http.CauchoResponse) line: 135 com.caucho.server.http.HttpRequest.handleR equest() line: 244 com.caucho.server.http.HttpRequest.handleC onnection(com.caucho.server.Connection) line: 163 com.caucho.server.TcpConnection.run() line: 137 java.lang.Thread.run() line: 536 Thread [main] (Suspended) org.jboss.mx.loading.LoadMgr.beginLoadTas k(org.jboss.mx.loading.ClassLoadingTask, org.jboss.mx.loading.UnifiedLoaderRepository3) line: 106 org.jboss.mx.loading.UnifiedClassLoader3.loa dClass(java.lang.String, boolean) line: 161 org.jboss.mx.loading.UnifiedClassLoader3 (java.lang.ClassLoader).loadClass(java.lang.String) line: 262 org.jboss.mx.loading.UnifiedClassLoader3 (java.lang.ClassLoader).loadClassInternal (java.lang.String) line: 322 org.jboss.invocation.jrmp.server.JRMPInvoker. startService() line: 274 org.jboss.invocation.jrmp.server.JRMPInvoker $1.startService() line: 102 org.jboss.invocation.jrmp.server.JRMPInvoker $1(org.jboss.system.ServiceMBeanSupport).start() line: 197 org.jboss.invocation.jrmp.server.JRMPInvoker. start() line: 535 sun.reflect.NativeMethodAccessorImpl.invoke 0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) line: not available [native method] sun.reflect.NativeMethodAccessorImpl.invoke (java.lang.Object, java.lang.Object[]) line: 39 sun.reflect.DelegatingMethodAccessorImpl.in voke(java.lang.Object, java.lang.Object[]) line: 25 java.lang.reflect.Method.invoke (java.lang.Object, java.lang.Object[]) line: 324 org.jboss.mx.capability.ReflectedMBeanDisp atcher.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 284 org.jboss.mx.server.MBeanServerImpl.invoke (javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 549 org.jboss.system.ServiceController$ServicePr oxy.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 954 $Proxy10.start() line: not available org.jboss.system.ServiceController.start (javax.management.ObjectName) line: 388 org.jboss.system.ServiceController.start (javax.management.ObjectName) line: 404 org.jboss.system.ServiceController.start (javax.management.ObjectName) line: 404 sun.reflect.GeneratedMethodAccessor6.invok e(java.lang.Object, java.lang.Object[]) line: not available sun.reflect.DelegatingMethodAccessorImpl.in voke(java.lang.Object, java.lang.Object[]) line: 25 java.lang.reflect.Method.invoke (java.lang.Object, java.lang.Object[]) line: 324 org.jboss.mx.capability.ReflectedMBeanDisp atcher.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 284 org.jboss.mx.server.MBeanServerImpl.invoke (javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 549 org.jboss.util.jmx.MBeanProxy.invoke (java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 174 $Proxy5.start (javax.management.ObjectName) line: not available org.jboss.deployment.SARDeployer.start (org.jboss.deployment.DeploymentInfo) line: 310 org.jboss.deployment.MainDeployer.start (org.jboss.deployment.DeploymentInfo) line: 824 org.jboss.deployment.MainDeployer.deploy (org.jboss.deployment.DeploymentInfo) line: 636 org.jboss.deployment.MainDeployer.deploy (java.net.URL) line: 600 sun.reflect.GeneratedMethodAccessor21.invo ke(java.lang.Object, java.lang.Object[]) line: not available sun.reflect.DelegatingMethodAccessorImpl.in voke(java.lang.Object, java.lang.Object[]) line: 25 java.lang.reflect.Method.invoke (java.lang.Object, java.lang.Object[]) line: 324 org.jboss.mx.capability.ReflectedMBeanDisp atcher.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 284 org.jboss.mx.server.MBeanServerImpl.invoke (javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 549 org.jboss.util.jmx.MBeanProxy.invoke (java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 174 $Proxy7.deploy(java.net.URL) line: not available org.jboss.deployment.scanner.URLDeployme ntScanner.deploy (org.jboss.deployment.scanner.URLDeploymentScanner $DeployedURL) line: 400 org.jboss.deployment.scanner.URLDeployme ntScanner.scanDirectory(java.net.URL) line: 619 org.jboss.deployment.scanner.URLDeployme ntScanner.scan() line: 472 org.jboss.deployment.scanner.AbstractDeplo ymentScanner$ScannerThread.doScan() line: 195 org.jboss.deployment.scanner.URLDeployme ntScanner (org.jboss.deployment.scanner.AbstractDeploymentSca nner).startService() line: 268 org.jboss.deployment.scanner.URLDeployme ntScanner (org.jboss.system.ServiceMBeanSupport).start() line: 197 sun.reflect.GeneratedMethodAccessor7.invok e(java.lang.Object, java.lang.Object[]) line: not available sun.reflect.DelegatingMethodAccessorImpl.in voke(java.lang.Object, java.lang.Object[]) line: 25 java.lang.reflect.Method.invoke (java.lang.Object, java.lang.Object[]) line: 324 org.jboss.mx.capability.ReflectedMBeanDisp atcher.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 284 org.jboss.mx.server.MBeanServerImpl.invoke (javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 549 org.jboss.system.ServiceController$ServicePr oxy.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 954 $Proxy0.start() line: not available org.jboss.system.ServiceController.start (javax.management.ObjectName) line: 388 sun.reflect.GeneratedMethodAccessor6.invok e(java.lang.Object, java.lang.Object[]) line: not available sun.reflect.DelegatingMethodAccessorImpl.in voke(java.lang.Object, java.lang.Object[]) line: 25 java.lang.reflect.Method.invoke (java.lang.Object, java.lang.Object[]) line: 324 org.jboss.mx.capability.ReflectedMBeanDisp atcher.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 284 org.jboss.mx.server.MBeanServerImpl.invoke (javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 549 org.jboss.util.jmx.MBeanProxy.invoke (java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 174 $Proxy5.start (javax.management.ObjectName) line: not available org.jboss.deployment.SARDeployer.start (org.jboss.deployment.DeploymentInfo) line: 310 org.jboss.deployment.MainDeployer.start (org.jboss.deployment.DeploymentInfo) line: 824 org.jboss.deployment.MainDeployer.deploy (org.jboss.deployment.DeploymentInfo) line: 636 org.jboss.deployment.MainDeployer.deploy (java.net.URL) line: 600 org.jboss.deployment.MainDeployer.deploy (java.lang.String) line: 584 sun.reflect.NativeMethodAccessorImpl.invoke 0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) line: not available [native method] sun.reflect.NativeMethodAccessorImpl.invoke (java.lang.Object, java.lang.Object[]) line: 39 sun.reflect.DelegatingMethodAccessorImpl.in voke(java.lang.Object, java.lang.Object[]) line: 25 java.lang.reflect.Method.invoke (java.lang.Object, java.lang.Object[]) line: 324 org.jboss.mx.capability.ReflectedMBeanDisp atcher.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 284 org.jboss.mx.server.MBeanServerImpl.invoke (javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 549 org.jboss.util.jmx.MBeanProxy.invoke (java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 174 $Proxy6.deploy(java.lang.String) line: not available org.jboss.system.server.ServerImpl.doStart() line: 325 org.jboss.system.server.ServerImpl.start() line: 232 org.jboss.Main.boot(java.lang.String[]) line: 155 org.jboss.Main$1.run() line: 393 java.lang.Thread.run() line: 536 ---------------------------------------------------------------------- >Comment By: Scott M Stark (starksm) Date: 2003-01-04 20:53 Message: Logged In: YES user_id=175228 This has been fixed in the current 3.2 branch. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=662098&group_id=22866 |