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

Reply via email to