You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by xming <xm...@icloud.com> on 2017/02/21 07:27:02 UTC

tomcat thread BLOCKED when loading class

Any clue would be appreciated.


Server version: Apache Tomcat/8.5.8
Server built:   Nov 3 2016 21:14:13 UTC
Server number:  8.5.8.0
OS Name:        Linux
OS Version:     2.6.32-642.11.1.el6.x86_64
Architecture:   amd64
JVM Version:    1.7.0_79-b15
JVM Vendor:     Oracle Corporation

Also I’ve tested on jdk1.8.

Here is the jstack output.

who locks the object.
"http-nio-exec-542" #797 daemon prio=5 os_prio=0 tid=0x00007fef3c225000 nid=0x6ca7 runnable [0x00007fef2d08e000]
   java.lang.Thread.State: RUNNABLE
        at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:68)
        at java.lang.StringBuilder.<init>(StringBuilder.java:101)
        at org.apache.catalina.loader.WebappClassLoaderBase.binaryNameToPath(WebappClassLoaderBase.java:2285)
        at org.apache.catalina.loader.WebappClassLoaderBase.findLoadedClass0(WebappClassLoaderBase.java:2343)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1161)
        - locked <0x00000006e7b0a2d8> (a java.lang.Object)


who try to get the lock
"http-nio-exec-1" #29 daemon prio=5 os_prio=0 tid=0x00007fef40002000 nid=0x6796 waiting for monitor entry [0x00007fefafa9b000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1152)
        - waiting to lock <0x00000006e7b0a2d8> (a java.lang.Object)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
        at org.apache.xml.dtm.ObjectFactory.findProviderClass(ObjectFactory.java:506)
        at org.apache.xml.dtm.ObjectFactory.lookUpFactoryClass(ObjectFactory.java:217)
        at org.apache.xml.dtm.ObjectFactory.createObject(ObjectFactory.java:131)
        at org.apache.xml.dtm.ObjectFactory.createObject(ObjectFactory.java:101)
        at org.apache.xml.dtm.DTMManager.newInstance(DTMManager.java:135)
        at org.apache.xpath.XPathContext.<init>(XPathContext.java:100)
        at org.apache.xpath.jaxp.XPathImpl.eval(XPathImpl.java:201)
        at org.apache.xpath.jaxp.XPathImpl.evaluate(XPathImpl.java:275)
        at org.apache.ibatis.parsing.XPathParser.evaluate(XPathParser.java:222)
        at org.apache.ibatis.parsing.XPathParser.evalNode(XPathParser.java:213)
        at org.apache.ibatis.parsing.XNode.evalNode(XNode.java:116)
        at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:113)
        at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)
        at org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:322)
        at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:107)
        at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:92)
        at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:428)
        at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:340)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1541)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1479)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:314)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
        at org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever.getApplicationListeners(AbstractApplicationEventMulticaster.java:246)
        at org.springframework.context.event.AbstractApplicationEventMulticaster.getApplicationListeners(AbstractApplicationEventMulticaster.java:135)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:86)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:334)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:336)
        at org.springframework.web.servlet.FrameworkServlet.publishRequestHandledEvent(FrameworkServlet.java:1036)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:971)
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)








---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: tomcat thread BLOCKED when loading class

Posted by xming <xm...@icloud.com>.
sorry for the bothering, it is caused by incorrect mybatis config.


> 在 2017年2月21日,15:27,xming <xm...@icloud.com> 写道:
> 
> 
> Any clue would be appreciated.
> 
> 
> Server version: Apache Tomcat/8.5.8
> Server built:   Nov 3 2016 21:14:13 UTC
> Server number:  8.5.8.0
> OS Name:        Linux
> OS Version:     2.6.32-642.11.1.el6.x86_64
> Architecture:   amd64
> JVM Version:    1.7.0_79-b15
> JVM Vendor:     Oracle Corporation
> 
> Also I’ve tested on jdk1.8.
> 
> Here is the jstack output.
> 
> who locks the object.
> "http-nio-exec-542" #797 daemon prio=5 os_prio=0 tid=0x00007fef3c225000 nid=0x6ca7 runnable [0x00007fef2d08e000]
>   java.lang.Thread.State: RUNNABLE
>        at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:68)
>        at java.lang.StringBuilder.<init>(StringBuilder.java:101)
>        at org.apache.catalina.loader.WebappClassLoaderBase.binaryNameToPath(WebappClassLoaderBase.java:2285)
>        at org.apache.catalina.loader.WebappClassLoaderBase.findLoadedClass0(WebappClassLoaderBase.java:2343)
>        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1161)
>        - locked <0x00000006e7b0a2d8> (a java.lang.Object)
> 
> 
> who try to get the lock
> "http-nio-exec-1" #29 daemon prio=5 os_prio=0 tid=0x00007fef40002000 nid=0x6796 waiting for monitor entry [0x00007fefafa9b000]
>   java.lang.Thread.State: BLOCKED (on object monitor)
>        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1152)
>        - waiting to lock <0x00000006e7b0a2d8> (a java.lang.Object)
>        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
>        at org.apache.xml.dtm.ObjectFactory.findProviderClass(ObjectFactory.java:506)
>        at org.apache.xml.dtm.ObjectFactory.lookUpFactoryClass(ObjectFactory.java:217)
>        at org.apache.xml.dtm.ObjectFactory.createObject(ObjectFactory.java:131)
>        at org.apache.xml.dtm.ObjectFactory.createObject(ObjectFactory.java:101)
>        at org.apache.xml.dtm.DTMManager.newInstance(DTMManager.java:135)
>        at org.apache.xpath.XPathContext.<init>(XPathContext.java:100)
>        at org.apache.xpath.jaxp.XPathImpl.eval(XPathImpl.java:201)
>        at org.apache.xpath.jaxp.XPathImpl.evaluate(XPathImpl.java:275)
>        at org.apache.ibatis.parsing.XPathParser.evaluate(XPathParser.java:222)
>        at org.apache.ibatis.parsing.XPathParser.evalNode(XPathParser.java:213)
>        at org.apache.ibatis.parsing.XNode.evalNode(XNode.java:116)
>        at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:113)
>        at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)
>        at org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:322)
>        at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:107)
>        at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:92)
>        at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:428)
>        at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:340)
>        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1541)
>        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1479)
>        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
>        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
>        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:314)
>        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
>        at org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever.getApplicationListeners(AbstractApplicationEventMulticaster.java:246)
>        at org.springframework.context.event.AbstractApplicationEventMulticaster.getApplicationListeners(AbstractApplicationEventMulticaster.java:135)
>        at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:86)
>        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:334)
>        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:336)
>        at org.springframework.web.servlet.FrameworkServlet.publishRequestHandledEvent(FrameworkServlet.java:1036)
>        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:971)
>        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
>        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
> 
> 
> 
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org