Hi,

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:
===================================================
"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
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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
    at sun.rmi.transport.Transport$1.run(Transport.java:159)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
    at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
    at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
    at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    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)
    at
org.aspectj.weaver.patterns.PatternParser.maybeParseAnnotationPattern(PatternParser.java:747)
    at
org.aspectj.weaver.patterns.PatternParser.parseMethodOrConstructorSignaturePattern(PatternParser.java:1266)
    at
org.aspectj.weaver.patterns.PatternParser.parseKindedPointcut(PatternParser.java:602)
    at
org.aspectj.weaver.patterns.PatternParser.parseSinglePointcut(PatternParser.java:316)
    at
org.aspectj.weaver.patterns.PatternParser.parseAtomicPointcut(PatternParser.java:294)
    at
org.aspectj.weaver.patterns.PatternParser.parsePointcut(PatternParser.java:255)
    at
org.aspectj.weaver.tools.PointcutParser.resolvePointcutExpression(PointcutParser.java:329)
    at
org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:310)
    at
org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:206)
    at
org.springframework.aop.aspectj.AspectJExpressionPointcut.checkReadyToMatch(AspectJExpressionPointcut.java:193)
    at
org.springframework.aop.aspectj.AspectJExpressionPointcut.getMethodMatcher(AspectJExpressionPointcut.java:179)
    at
org.springframework.aop.aspectj.AbstractAspectJAdvice.buildSafePointcut(AbstractAspectJAdvice.java:189)
    at
org.springframework.aop.aspectj.AspectJPointcutAdvisor.<init>(AspectJPointcutAdvisor.java:51)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at
org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
    at
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
    at
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:248)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:925)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:835)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    - locked <0x00000007d73def28> (a java.util.concurrent.ConcurrentHashMap)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at
org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper.findAdvisorBeans(BeanFactoryAdvisorRetrievalHelper.java:87)
    at
org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findCandidateAdvisors(AbstractAdvisorAutoProxyCreator.java:98)
    at
org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator.findCandidateAdvisors(AnnotationAwareAspectJAutoProxyCreator.java:83)
    at
org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator.shouldSkip(AspectJAwareAdvisorAutoProxyCreator.java:105)
    at
org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessBeforeInstantiation(AbstractAutoProxyCreator.java:281)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:791)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:762)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:399)
    at java.security.AccessController.doPrivileged(Native Method)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    - locked <0x00000007d73def28> (a java.util.concurrent.ConcurrentHashMap)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
    - locked <0x00000007d73e2440> (a java.util.concurrent.ConcurrentHashMap)
    at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
    at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
    - locked <0x00000007d73ddfb0> (a java.lang.Object)
    at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at
org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
    at
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
    at
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:248)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:925)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:835)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    - locked <0x00000007d66c84f8> (a java.util.concurrent.ConcurrentHashMap)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
    - locked <0x00000007d66edb88> (a java.util.concurrent.ConcurrentHashMap)
    at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
    at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
    - locked <0x00000007d65782f8> (a java.lang.Object)
    at
org.springframework.context.access.ContextSingletonBeanFactoryLocator.initializeDefinition(ContextSingletonBeanFactoryLocator.java:141)
    at
org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFactory(SingletonBeanFactoryLocator.java:384)
    - locked <0x00000007d622c3e8> (a java.util.HashMap)
    at
com.bmc.sas.ngp.service.NGPServiceBeanContext.init(NGPServiceBeanContext.java:38)
    at
com.bmc.sas.ngp.service.NGPServiceBeanContext.<init>(NGPServiceBeanContext.java:33)
    at
com.bmc.sas.ngp.service.NGPServiceBeanContext.getInstance(NGPServiceBeanContext.java:23)
    - locked <0x000000077207a8e0> (a java.lang.Class for
com.bmc.sas.ngp.service.NGPServiceBeanContext)
    at
com.bmc.sms.ixscomm.authorization.GroupRoleHandler.init(GroupRoleHandler.java:71)
    at
com.bmc.sms.ixscomm.authorization.AuthorizationMgr.init(AuthorizationMgr.java:27)
    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.

*Thanks
Jany

On Sun, Jan 16, 2011 at 11:08 PM, Caldarale, Charles R <
chuck.caldar...@unisys.com> wrote:

> > From: Jany Jose [mailto:jany.j...@gmail.com]
> > Subject: Tomcat 6.0.26 startup issue
>
> > In our application we are starting tomcat as a thread by calling the
> > bootstrap class.
> > Please find the code used: *String[] mArgs = {"start"};
> > Bootstrap.main(mArgs);
>
> And a thread dump shows what?
>
>  - Chuck
>
>
> THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
> MATERIAL and is thus for use only by the intended recipient. If you received
> this in error, please contact the sender and delete the e-mail and its
> attachments from all computers.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>

Reply via email to