https://issues.apache.org/bugzilla/show_bug.cgi?id=45144
Summary: using JDBC Data Sources freezes tomcat for some minutes
Product: Tomcat 6
Version: 6.0.16
Platform: PC
OS/Version: Linux
Status: NEW
Severity: blocker
Priority: P2
Component: Catalina
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]
Created an attachment (id=22083)
--> (https://issues.apache.org/bugzilla/attachment.cgi?id=22083)
the full jstack -l output
Hi,
about system:
running on a IBM System x3200 (Xeon dual core) machine with
CentOS Linux 2.6.18-53.1.19.el5 #1 SMP Wed May 7 08:22:53 EDT 2008 x86_64
x86_64 x86_64 GNU/Linux
/opt/java/jdk1.6.0_06/bin/java -server -version
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) 64-Bit Server VM (build 10.0-b22, mixed mode)
About the Problem:
when getting new connection from the pool i'm getting many thread BLOCKED for 2
minutes, sometimes seconds, when this occurs today, i take a jstack from JVM
and discover that the org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory is
locked and many threads BLOCKED waiting to lock the same instance of
PoolableConnectionFactory, follow i cut the most important part of the stack
trace:
The blocker part:
"http-80-exec-18" daemon prio=10 tid=0x0000000054387400 nid=0x442f runnable
[0x0000000043137000..0x0000000043138c90]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at
com.sap.dbtech.rte.comm.BasicSocketComm.receiveConnect(BasicSocketComm.java:707)
at
com.sap.dbtech.rte.comm.BasicSocketComm.dbConnectExchange(BasicSocketComm.java:789)
at
com.sap.dbtech.rte.comm.BasicSocketComm.connectDB(BasicSocketComm.java:233)
at com.sap.dbtech.rte.comm.SocketComm$1.open(SocketComm.java:38)
at com.sap.dbtech.jdbc.DriverSapDB.openConnection(DriverSapDB.java:966)
at com.sap.dbtech.jdbc.DriverSapDB.openByURL(DriverSapDB.java:891)
at com.sap.dbtech.jdbc.DriverSapDB.connect(DriverSapDB.java:208)
- locked <0x00002aaab74c6978> (a com.sap.dbtech.jdbc.DriverSapDB)
at
org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at
org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
- locked <0x00002aaab74c6a18> (a
org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory)
at
org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:974)
at
org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)
at
org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at
org.exolab.castor.jdo.engine.DatabaseRegistry.createConnection(DatabaseRegistry.java:399)
at
org.exolab.castor.jdo.engine.TransactionContextImpl.getConnection(TransactionContextImpl.java:203)
at
org.exolab.castor.persist.TransactionContext.query(TransactionContext.java:644)
- locked <0x00002aaafc1adb20> (a
org.exolab.castor.jdo.engine.TransactionContextImpl)
at
org.exolab.castor.jdo.engine.OQLQueryImpl.execute(OQLQueryImpl.java:458)
at
org.exolab.castor.jdo.engine.OQLQueryImpl.execute(OQLQueryImpl.java:405)
at
com.supridatta.act.produtos.PedidoAction.onIncluir(PedidoAction.java:70)
at com.supridatta.bean.DataPersist.gravar(DataPersist.java:213)
...
Locked ownable synchronizers:
- <0x00002aaad0bfb648> (a
java.util.concurrent.locks.ReentrantLock$NonfairSync)
The blocked part:
"http-80-exec-43" daemon prio=10 tid=0x000000005356f000 nid=0x5619 waiting for
monitor entry [0x0000000044046000..0x0000000044047c10]
java.lang.Thread.State: BLOCKED (on object monitor)
at
org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
- waiting to lock <0x00002aaab74c6a18> (a
org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory)
at
org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:974)
at
org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)
at
org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at
org.exolab.castor.jdo.engine.DatabaseRegistry.createConnection(DatabaseRegistry.java:399)
at
org.exolab.castor.jdo.engine.TransactionContextImpl.getConnection(TransactionContextImpl.java:203)
at
org.exolab.castor.persist.TransactionContext.query(TransactionContext.java:644)
- locked <0x00002aaafd720be0> (a
org.exolab.castor.jdo.engine.TransactionContextImpl)
at
org.exolab.castor.jdo.engine.OQLQueryImpl.execute(OQLQueryImpl.java:458)
at
org.exolab.castor.jdo.engine.OQLQueryImpl.execute(OQLQueryImpl.java:414)
at com.supridatta.bean.DataPersist.consulta(DataPersist.java:500)
...
Locked ownable synchronizers:
- <0x00002aaad0bfb648> (a
java.util.concurrent.locks.ReentrantLock$NonfairSync)
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]