Am 30.01.2015 um 18:44 schrieb Robert Anderson:
Could you post a full stacktrace, or threaddump?

"ajp-apr-8009-exec-13 ^ 30/01/2015 - 09:39:58 -
DB:DATASOURCE(java:/comp/env/jdbc/cacheapp)" daemon prio=10
tid=0x0000000013bb0000 nid=0x7a6d waiting for monitor entry
[0x000000005125b000]
    java.lang.Thread.State: BLOCKED (on object monitor)
         at com.intersys.jdbc.CacheConnection.close(CacheConnection.java:552)
         - waiting to lock <0x000000071ba001d0> (a
com.intersys.jdbc.CacheConnection)
         at
com.intersys.jdbc.InStream.invalidMessageReceived(InStream.java:234)
         - locked <0x000000071ba094c0> (a com.intersys.jdbc.InStream)
         at com.intersys.jdbc.InStream.checkHeader(InStream.java:104)
         - eliminated <0x000000071ba094c0> (a com.intersys.jdbc.InStream)
         at com.intersys.jdbc.InStream.readHeader(InStream.java:148)
         - locked <0x000000071ba094c0> (a com.intersys.jdbc.InStream)
         at
com.intersys.jdbc.CacheStatement.sendDirectQueryRequest(CacheStatement.java:551)
         - locked <0x000000071ba007f0> (a
com.intersys.jdbc.CacheConnection$MessageCount)
         - locked <0x000000071ba00150> (a com.intersys.jdbc.CacheStatement)
         at com.intersys.jdbc.CacheStatement.Query(CacheStatement.java:486)
         - locked <0x000000071ba00150> (a com.intersys.jdbc.CacheStatement)
         at
com.intersys.jdbc.CacheStatement.executeQuery(CacheStatement.java:418)
         - locked <0x000000071ba00150> (a com.intersys.jdbc.CacheStatement)
         at
br.com.itx.database.impl.ConnectionSql.execute(ConnectionSql.java:246)
         at
br.com.itx.integration.DatabaseHandler.execute(DatabaseHandler.java:274)
         at
br.com.itx.integration.DatabaseHandler.execute(DatabaseHandler.java:163)
         at
br.com.itx.engine.CoreObjectElement.execute(CoreObjectElement.java:88)
         at
br.com.itx.component.taglib.ExecuteCore.doStartTag(ExecuteCore.java:98)
         at
org.apache.jsp.portaladv.main_005fpre_jsp._jspx_meth_w_005fexecuteCore_005f41(main_005fpre_jsp.java:2858)
         at
org.apache.jsp.portaladv.main_005fpre_jsp._jspService(main_005fpre_jsp.java:718)
         at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
         at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
         at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
         at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
         at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:604)
         at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:543)
         at br.com.itx.engine.Execute.doJsp(Execute.java:476)
         at br.com.itx.engine.Execute.doPost(Execute.java:425)
         - locked <0x000000071ba34398> (a java.lang.Object)
         at br.com.itx.engine.Execute.doGet(Execute.java:98)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
         at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
         at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
         at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
         at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
         at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
         at
com.googlecode.psiprobe.Tomcat70AgentValve.invoke(Tomcat70AgentValve.java:38)
         at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
         at
org.apache.catalina.valves.StuckThreadDetectionValve.invoke(StuckThreadDetectionValve.java:221)
         at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
         at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
         at
org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:188)
         at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
         at
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2466)
         at
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2455)
         - locked <0x000000071b7df138> (a
org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper)
         at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
         at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
         at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
         at java.lang.Thread.run(Thread.java:745)
"PoolCleaner[1070846187:1422601344160]" daemon prio=10
tid=0x0000000013306800 nid=0x71e0 waiting for monitor entry
[0x00000000417fd000]
    java.lang.Thread.State: BLOCKED (on object monitor)
         at com.intersys.jdbc.CacheConnection.close(CacheConnection.java:566)
         - waiting to lock <0x000000071ba007f0> (a
com.intersys.jdbc.CacheConnection$MessageCount)
         - locked <0x000000071ba001d0> (a com.intersys.jdbc.CacheConnection)
         at
org.apache.tomcat.jdbc.pool.PooledConnection.disconnect(PooledConnection.java:331)
         at
org.apache.tomcat.jdbc.pool.PooledConnection.release(PooledConnection.java:495)
         at
org.apache.tomcat.jdbc.pool.ConnectionPool.release(ConnectionPool.java:582)
         at
org.apache.tomcat.jdbc.pool.ConnectionPool.abandon(ConnectionPool.java:541)
         at
org.apache.tomcat.jdbc.pool.ConnectionPool.checkAbandoned(ConnectionPool.java:956)
         at
org.apache.tomcat.jdbc.pool.ConnectionPool$PoolCleaner.run(ConnectionPool.java:1345)
         at java.util.TimerThread.mainLoop(Timer.java:555)
         at java.util.TimerThread.run(Timer.java:505)
Do you hold your connections longer then 300 seconds? If you hold long onto your connections and still want to use removeAbandoned, you should probably try the ResetAbandonedTimer interceptor to reset the timer on each action you are doing on the connection.

Felix


Are there any exceptions logged before?

There are many exceptions every day (invalid parameters, syntax error, ...)


2015-01-30 14:33 GMT-03:00 Felix Schumacher <
felix.schumac...@internetallee.de>:

Am 30.01.2015 um 18:19 schrieb Robert Anderson:

Every day we are getting deadlocks like that:

Found one Java-level deadlock:
=============================
"ajp-apr-8009-exec-13 ^ 30/01/2015 - 09:39:58 -
DB:DATASOURCE(java:/comp/env/jdbc/cacheapp)":
    waiting to lock monitor 0x000000001504e6d8 (object 0x000000071ba001d0,
a
com.intersys.jdbc.CacheConnection),
    which is held by "PoolCleaner[1070846187:1422601344160]"
"PoolCleaner[1070846187:1422601344160]":
    waiting to lock monitor 0x0000000012ce77e8 (object 0x000000071ba007f0,
a
com.intersys.jdbc.CacheConnection$MessageCount),
    which is held by "ajp-apr-8009-exec-13 ^ 30/01/2015 - 09:39:58 -
DB:DATASOURCE(java:/comp/env/jdbc/cacheapp)"

Could you post a full stacktrace, or threaddump?

Are there any exceptions logged before?

Regards
  Felix


Are there anything that we can do to avoid it?


Server version: Apache Tomcat/7.0.57
Server built:   Nov 3 2014 08:39:16 UTC
Server number:  7.0.57.0
OS Name:        Linux
OS Version:     2.6.18-194.17.1.el5
Architecture:   amd64
JVM Version:    1.7.0_71-b14
JVM Vendor:     Oracle Corporation


Datasource definition:

<Resource name="jdbc/cacheapp" auth="Container"
type="javax.sql.DataSource"
removeAbandoned="true" removeAbandonedTimeout="300"
                                     maxActive="120" maxIdle="20"
minIdle="1"
maxWait="10000"
                     validationQuery="select 1"
                     testOnBorrow="true"
                                     validationInterval="0"
                                     fairQueue="false"

   factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
                                     alternateUsernameAllowed="true"
                                     username="user" password="password"
driverClassName="com.intersys.jdbc.CacheDriver"

   url="jdbc:Cache://myserver:1972/Namespace"/>


Thanks in advance.


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




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

Reply via email to