java deadlock oracle_APPARENT DEADLOCK!!! - C3P0连接池DeadLock机制分析

1 问题近期,刚上线不久的生产系统的数据库连接池 C3P0 (版本为0.9.5.2)突然报出 APPARENT DEADLOCK!!! 错误。1.1 错误日志错误日志如下。com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@7cf60134 -- APPARENT DEADLOCK!!! Creating emerg...
摘要由CSDN通过智能技术生成

1 问题

近期,刚上线不久的生产系统的数据库连接池 C3P0 (版本为0.9.5.2)突然报出 APPARENT DEADLOCK!!! 错误。

1.1 错误日志

错误日志如下。

com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@7cf60134 -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!

com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@7cf60134 -- APPARENT DEADLOCK!!! Complete Status:

Managed Threads: 3

Active Threads: 3

Active Tasks:

com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask@3ce7f8aa

on thread: C3P0PooledConnectionPoolManager[identityToken->1hgepsj9u1w3a4je54sly0|70165722]-HelperThread-#1

com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask@17f3c7a1

on thread: C3P0PooledConnectionPoolManager[identityToken->1hgepsj9u1w3a4je54sly0|70165722]-HelperThread-#2

com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask@65dc473c

on thread: C3P0PooledConnectionPoolManager[identityToken->1hgepsj9u1w3a4je54sly0|70165722]-HelperThread-#0

Pending Tasks:

com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@744937e8

com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@77e8b363

com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@7eafacf0

com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@79cde1be

com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@44067f18

com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@76c7bf50

Pool thread stack traces:

Thread[C3P0PooledConnectionPoolManager[identityToken->1hgepsj9u1w3a4je54sly0|70165722]-HelperThread-#0,5,main]

java.net.SocketInputStream.socketRead0(Native Method)

java.net.SocketInputStream.socketRead(SocketInputStream.java:116)

java.net.SocketInputStream.read(SocketInputStream.java:171)

java.net.SocketInputStream.read(SocketInputStream.java:141)

oracle.net.ns.Packet.receive(Unknown Source)

oracle.net.ns.DataPacket.receive(Unknown Source)

oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)

oracle.net.ns.NetInputStream.read(Unknown Source)

oracle.net.ns.NetInputStream.read(Unknown Source)

oracle.net.ns.NetInputStream.read(Unknown Source)

oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1099)

oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1070)

oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:478)

oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:213)

oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:796)

oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1031)

oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:836)

oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1124)

oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)

oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3329)

oracle.jdbc.OracleDatabaseMetaData.getTables(OracleDatabaseMetaDa

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值