commons-dbcp-1.2.1.jar
and
commons-pool-1.3.jar

I have a connection handler class that I wrote around a static instance of
SharedPoolDataSource.  SharedPoolDataSource gets initialized in static
block.  Locking shown in stacktrace is occurring within
aSharedPoolDataSource.getConnection() call.  The lock on
aSharedPoolDataSource is never given up, all other threads back up waiting
to get db connection.  I'll start by updating my those jars, I'm certain
this is self inflicted wound and not a bug in either library.

"catalina-exec-foo1-2" daemon prio=10 tid=0x000000004bf5b800 nid=0x41a2
runnable [0x0000000042be1000]
   java.lang.Thread.State: RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at oracle.net.ns.Packet.receive(Packet.java:293)
    at oracle.net.ns.DataPacket.receive(DataPacket.java:92)
    at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:174)
    at oracle.net.ns.NetInputStream.read(NetInputStream.java:119)
    at oracle.net.ns.NetInputStream.read(NetInputStream.java:94)
    at oracle.net.ns.NetInputStream.read(NetInputStream.java:79)
    at
oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:112)
    at
oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:73)
    at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1040)
    at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1016)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:588)
    at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183)
    at
oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:780)
    at
oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java:855)
    at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1187)
    at
oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1378)
    - locked <0x00002aaad1f64df8> (a oracle.jdbc.driver.T4CConnection)
    at
oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:387)
    at
org.apache.commons.dbcp.datasources.KeyedCPDSConnectionFactory.validateObject(KeyedCPDSConnectionFactory.java:163)
    at
org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:837)
    - locked <0x00002aaace878d18> (a
org.apache.commons.pool.impl.GenericKeyedObjectPool)
    at
org.apache.commons.dbcp.datasources.SharedPoolDataSource.getPooledConnectionAndInfo(SharedPoolDataSource.java:165)
    - locked <0x00002aaaced306f8> (a
org.apache.commons.dbcp.datasources.SharedPoolDataSource)
    at
org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:631)
    at
org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:615)
    at
mycompany.db.ConnectionHandler.getConnection(ConnectionHandler.java:150)

Reply via email to