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: [email protected]
For additional commands, e-mail: [email protected]