Jany Jose schrieb am 17.01.2011 um 13:46 (+0530): > > When i see the thread dump i could see a thread dead lock with other thread. > Please find below the thread dump message and kindly advice how to avoid it. > > *Found one Java-level deadlock: > ============================= > "RMI TCP Connection(3)-10.128.32.128": > waiting to lock monitor 0x000000000fcb9800 (object 0x00000007800b4990, a > sun.misc.Launcher$AppClassLoader), > which is held by "Impact Admin Server" > "Impact Admin Server": > waiting to lock monitor 0x000000000fcb9608 (object 0x00000007800b1248, a > sun.net.www.protocol.file.Handler), > which is held by "Apache Tomcat" > "Apache Tomcat": > waiting to lock monitor 0x000000000fcb9800 (object 0x00000007800b4990, a > sun.misc.Launcher$AppClassLoader), > which is held by "Impact Admin Server" > > Java stack information for the threads listed above: > ===================================================
To me it looks like your threads are trying to use the same classloader at the same time, and this is creating problems. I'm guessing this is the case because I looked at the stack where the two object identifiers listed in the deadlock section above can be seen: * 0x00000007800b1248 * 0x00000007800b4990 But then I don't really understand this issue so I might be completely wrong. Maybe one of the experts can say more. > "RMI TCP Connection(3)-10.128.32.128": > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:169) > at > com.proactivenet.server.PlatformFactoryImpl.getPlatform(PlatformFactoryImpl.java:425) > - locked <0x00000007800a0dc8> (a > com.proactivenet.server.PlatformFactoryImpl) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) […] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:619) > "Impact Admin Server": > at java.net.URLStreamHandler.getHostAddress(URLStreamHandler.java:412) > - waiting to lock <0x00000007800b1248> (a > sun.net.www.protocol.file.Handler) > at java.net.URLStreamHandler.hostsEqual(URLStreamHandler.java:439) > at sun.net.www.protocol.file.Handler.hostsEqual(Handler.java:135) > at java.net.URLStreamHandler.sameFile(URLStreamHandler.java:396) > at java.net.URLStreamHandler.equals(URLStreamHandler.java:316) > at java.net.URL.equals(URL.java:842) > at java.security.CodeSource.equals(CodeSource.java:135) > at java.util.HashMap.get(HashMap.java:305) > at > java.security.SecureClassLoader.getProtectionDomain(SecureClassLoader.java:233) > - locked <0x00000007800b9ed8> (a java.util.HashMap) > at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) > at java.net.URLClassLoader.access$000(URLClassLoader.java:58) > at java.net.URLClassLoader$1.run(URLClassLoader.java:197) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:190) > at java.lang.ClassLoader.loadClass(ClassLoader.java:307) > - locked <0x00000007800b4990> (a sun.misc.Launcher$AppClassLoader) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) > - locked <0x00000007800b4990> (a sun.misc.Launcher$AppClassLoader) > at java.lang.ClassLoader.loadClass(ClassLoader.java:248) [springframework stuff snipped] > at com.bmc.sms.ixscomm.jmx.IXSComm.startService(IXSComm.java:259) > at com.proactivenet.server.ngpias.IAS$1.run(IAS.java:43) > at java.lang.Thread.run(Thread.java:619) > "Apache Tomcat": > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:293) > - waiting to lock <0x00000007800b4990> (a > sun.misc.Launcher$AppClassLoader) > at java.lang.ClassLoader.loadClass(ClassLoader.java:296) > - locked <0x00000007800a0ff0> (a > com.proactivenet.reports.util.ReportClassLoader) > at java.lang.ClassLoader.loadClass(ClassLoader.java:248) > at java.net.URL.getURLStreamHandler(URL.java:1144) > at java.net.URL.<init>(URL.java:393) > at java.net.URL.<init>(URL.java:283) > at java.net.URL.<init>(URL.java:306) > at sun.net.www.protocol.file.Handler.openConnection(Handler.java:91) > - locked <0x00000007800b1248> (a sun.net.www.protocol.file.Handler) > at sun.net.www.protocol.file.Handler.openConnection(Handler.java:55) > - locked <0x00000007800b1248> (a sun.net.www.protocol.file.Handler) > at java.net.URL.openConnection(URL.java:945) > at > sun.net.www.protocol.jar.JarURLConnection.<init>(JarURLConnection.java:66) > at sun.net.www.protocol.jar.Handler.openConnection(Handler.java:24) > at java.net.URL.openConnection(URL.java:945) > at > org.apache.catalina.core.JreMemoryLeakPreventionListener.lifecycleEvent(JreMemoryLeakPreventionListener.java:145) > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) > at > org.apache.catalina.core.StandardServer.initialize(StandardServer.java:770) > at org.apache.catalina.startup.Catalina.load(Catalina.java:524) > at org.apache.catalina.startup.Catalina.load(Catalina.java:548) > 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:597) > at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) > at com.proactivenet.server.StartTomcat.run(StartTomcat.java:33) > > Found 1 deadlock. -- Michael Ludwig --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org