[ http://jira.jboss.com/jira/browse/JBJMX-21?page=comments#action_12311607 ] Scott M Stark commented on JBJMX-21: ------------------------------------
Attachment SourceForge Username: starksm. Description: A legible version of the deadlock traces. Filename: trace.txt. URL:https://sourceforge.net/tracker/download.php?group_id=22866&atid=376685&file_id=38843&aid=662098 > class loader deadlock new for 3.2Beta3 > -------------------------------------- > > Key: JBJMX-21 > URL: http://jira.jboss.com/jira/browse/JBJMX-21 > Project: JBoss JMX > Type: Bug > Reporter: SourceForge User > Assignee: Scott M Stark > > > SourceForge Submitter: dgantenbein . > 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 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ _______________________________________________ JBoss-Development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development