[c3p0-users] APPARENT DEADLOCK exception with c3p0-0.9.1.2
Status: Beta
Brought to you by:
swaldman
From: Scott Z. <sco...@gm...> - 2007-06-25 14:47:56
|
We are using c3p0-0.9.1.2 with Hibernate. We ran into this issue with a db2 instance. I found several hits when I was searching in the email archive but seems like they were using 0.9.1.1. This happened shortly after the pool was initialized. I attached the (long) stack trace here. I'd appreciate if you can provide any help since we are at the last stage of the release. 2007-06-25 07:36:22,783 INFO [main] - Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@3ea8c135 [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@69b3c627 [ acquireIncrement -> 1, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, debugUnreturnedConnectionStackTraces -> false, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1bqltwf7nrfpjgm16momqc|3f283f28, idleConnectionTestPeriod -> 100, initialPoolSize -> 10, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 100, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 100, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 10, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@8384d751 [ description -> null, driverClass -> null, factoryClassLocation -> null, identityToken -> 1bqltwf7nrfpjgm16momqc|3da43da4, jdbcUrl -> jdbc:db2://taj:50001/mutha, properties -> {user=******, password=******, release_mode=on_close} ], preferredTestQuery -> null, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false; userOverrides: {} ], dataSourceName -> null, factoryClassLocation -> null, identityToken -> 1bqltwf7nrfpjgm16momqc|1a461a46, numHelperThreads -> 3 ] 2007-06-25 07:36:38,441 INFO [main] - RDBMS: DB2/AIX64, version: SQL09012 2007-06-25 07:36:38,442 INFO [main] - JDBC driver: IBM DB2 JDBC Universal Driver Architecture, version: 3.3.54 2007-06-25 07:36:38,462 INFO [main] - Using dialect: org.hibernate.dialect.DB2Dialect 2007-06-25 07:36:38,471 INFO [main] - Using default transaction strategy (direct JDBC transactions) 2007-06-25 07:36:38,472 INFO [main] - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended) 2007-06-25 07:36:38,472 INFO [main] - Automatic flush during beforeCompletion(): disabled 2007-06-25 07:36:38,472 INFO [main] - Automatic session close at end of transaction: disabled 2007-06-25 07:36:38,473 INFO [main] - JDBC batch size: 10 2007-06-25 07:36:38,473 INFO [main] - JDBC batch updates for versioned data: disabled 2007-06-25 07:36:38,474 INFO [main] - Scrollable result sets: enabled 2007-06-25 07:36:38,474 INFO [main] - JDBC3 getGeneratedKeys(): enabled 2007-06-25 07:36:38,474 INFO [main] - Connection release mode: on_close 2007-06-25 07:36:38,474 INFO [main] - Default schema: emessage 2007-06-25 07:36:38,474 INFO [main] - Default batch fetch size: 1 2007-06-25 07:36:38,474 INFO [main] - Generate SQL with comments: disabled 2007-06-25 07:36:38,474 INFO [main] - Order SQL updates by primary key: disabled 2007-06-25 07:36:38,474 INFO [main] - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory 2007-06-25 07:36:38,477 INFO [main] - Using ASTQueryTranslatorFactory 2007-06-25 07:36:38,477 INFO [main] - Query language substitutions: {} 2007-06-25 07:36:38,477 INFO [main] - JPA-QL strict compliance: disabled 2007-06-25 07:36:38,477 INFO [main] - Second-level cache: enabled 2007-06-25 07:36:38,477 INFO [main] - Query cache: disabled 2007-06-25 07:36:38,477 INFO [main] - Cache provider: org.hibernate.cache.NoCacheProvider 2007-06-25 07:36:38,477 INFO [main] - Optimize cache for minimal puts: disabled 2007-06-25 07:36:38,477 INFO [main] - Structured second-level cache entries: disabled 2007-06-25 07:36:38,483 INFO [main] - Statistics: disabled 2007-06-25 07:36:38,483 INFO [main] - Deleted entity synthetic identifier rollback: disabled 2007-06-25 07:36:38,483 INFO [main] - Default entity-mode: pojo 2007-06-25 07:36:52,795 WARN [Timer-0] - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@19081908-- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks! 2007-06-25 07:36:52,800 WARN [Timer-0] - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@19081908-- APPARENT DEADLOCK!!! Complete Status: Managed Threads: 3 Active Threads: 3 Active Tasks: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@247c247c ( com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0) com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@24942494 ( com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1) com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@24882488 ( com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2) Pending Tasks: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@24a024a0 com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@24ac24ac com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@24b824b8 com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@24c424c4 com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@15221522 Pool thread stack traces: Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0 ,5,main] java.net.InetAddress.getLocalHost(InetAddress.java:1321) com.ibm.db2.jcc.c.b.h(b.java:3059) com.ibm.db2.jcc.b.v.setDB2ClientWorkstation(v.java:1858) com.ibm.db2.jcc.c.b.wc(b.java:2224) com.ibm.db2.jcc.c.b.a(b.java:504) com.ibm.db2.jcc.c.b.<init>(b.java:266) com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:163) com.mchange.v2.c3p0.DriverManagerDataSource.getConnection( DriverManagerDataSource.java:134) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection( WrapperConnectionPoolDataSource.java:182) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection( WrapperConnectionPoolDataSource.java:171) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource (C3P0PooledConnectionPool.java:137) com.mchange.v2.resourcepool.BasicResourcePool.doAcquire( BasicResourcePool.java:1014) com.mchange.v2.resourcepool.BasicResourcePool.access$800( BasicResourcePool.java:32) com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run( BasicResourcePool.java:1810) com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run( ThreadPoolAsynchronousRunner.java:547) Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1 ,5,main] java.net.InetAddress.getLocalHost(InetAddress.java:1321) com.ibm.db2.jcc.c.b.h(b.java:3059) com.ibm.db2.jcc.c.b.uc(b.java:2147) com.ibm.db2.jcc.c.b.a(b.java:604) com.ibm.db2.jcc.c.b.<init>(b.java:265) com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:163) com.mchange.v2.c3p0.DriverManagerDataSource.getConnection( DriverManagerDataSource.java:134) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection( WrapperConnectionPoolDataSource.java:182) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection( WrapperConnectionPoolDataSource.java:171) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource (C3P0PooledConnectionPool.java:137) com.mchange.v2.resourcepool.BasicResourcePool.doAcquire( BasicResourcePool.java:1014) com.mchange.v2.resourcepool.BasicResourcePool.access$800( BasicResourcePool.java:32) com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run( BasicResourcePool.java:1810) com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run( ThreadPoolAsynchronousRunner.java:547) Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2 ,5,main] java.net.InetAddress.getLocalHost(InetAddress.java:1321) com.ibm.db2.jcc.c.b.h(b.java:3059) com.ibm.db2.jcc.b.v.setDB2ClientWorkstation(v.java:1858) com.ibm.db2.jcc.c.b.wc(b.java:2224) com.ibm.db2.jcc.c.b.a(b.java:504) com.ibm.db2.jcc.c.b.<init>(b.java:266) com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:163) com.mchange.v2.c3p0.DriverManagerDataSource.getConnection( DriverManagerDataSource.java:134) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection( WrapperConnectionPoolDataSource.java:182) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection( WrapperConnectionPoolDataSource.java:171) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource (C3P0PooledConnectionPool.java:137) com.mchange.v2.resourcepool.BasicResourcePool.doAcquire( BasicResourcePool.java:1014) com.mchange.v2.resourcepool.BasicResourcePool.access$800( BasicResourcePool.java:32) com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run( BasicResourcePool.java:1810) com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run( ThreadPoolAsynchronousRunner.java:547) 2007-06-25 07:36:54,329 INFO [main] - building session factory 2007-06-25 07:36:55,874 INFO [main] - Not binding factory to JNDI, no JNDI name configured 2007-06-25 07:36:56,602 INFO [main] - JDBC 3.0 Savepoint class is available 2007-06-25 07:36:56,804 WARN [main] - SQL Warning: 0, SQLState: null 2007-06-25 07:36:56,804 WARN [main] - [ibm][db2][jcc][10217][10310] Connection read-only mode is not enforceable after the connection has been established. To enforce a read only connection, set the read-only data source or connection property. 2007-06-25 07:39:02,847 WARN [Timer-0] - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@19081908-- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks! 2007-06-25 07:39:02,854 WARN [Timer-0] - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@19081908-- APPARENT DEADLOCK!!! Complete Status: Managed Threads: 3 Active Threads: 3 Active Tasks: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6de66de6 ( com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0) com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6df26df2 ( com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2) com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6dfe6dfe ( com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1) Pending Tasks: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6e0a6e0a com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6e166e16 com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6e226e22 com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6e2e6e2e Pool thread stack traces: Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0 ,5,main] java.net.Inet6AddressImpl.getLocalHostName(Native Method) java.net.InetAddress.getLocalHost(InetAddress.java:1333) com.ibm.db2.jcc.c.b.h(b.java:3059) com.ibm.db2.jcc.c.b.uc(b.java:2147) com.ibm.db2.jcc.c.b.a(b.java:604) com.ibm.db2.jcc.c.b.<init>(b.java:265) com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:163) com.mchange.v2.c3p0.DriverManagerDataSource.getConnection( DriverManagerDataSource.java:134) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection( WrapperConnectionPoolDataSource.java:182) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection( WrapperConnectionPoolDataSource.java:171) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource (C3P0PooledConnectionPool.java:137) com.mchange.v2.resourcepool.BasicResourcePool.doAcquire( BasicResourcePool.java:1014) com.mchange.v2.resourcepool.BasicResourcePool.access$800( BasicResourcePool.java:32) com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run( BasicResourcePool.java:1810) com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run( ThreadPoolAsynchronousRunner.java:547) Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2 ,5,main] java.net.InetAddress.getLocalHost(InetAddress.java:1321) com.ibm.db2.jcc.c.b.h(b.java:3059) com.ibm.db2.jcc.c.b.uc(b.java:2147) com.ibm.db2.jcc.c.b.a(b.java:604) com.ibm.db2.jcc.c.b.<init>(b.java:265) com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:163) com.mchange.v2.c3p0.DriverManagerDataSource.getConnection( DriverManagerDataSource.java:134) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection( WrapperConnectionPoolDataSource.java:182) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection( WrapperConnectionPoolDataSource.java:171) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource (C3P0PooledConnectionPool.java:137) com.mchange.v2.resourcepool.BasicResourcePool.doAcquire( BasicResourcePool.java:1014) com.mchange.v2.resourcepool.BasicResourcePool.access$800( BasicResourcePool.java:32) com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run( BasicResourcePool.java:1810) com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run( ThreadPoolAsynchronousRunner.java:547) Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1 ,5,main] java.net.InetAddress.getLocalHost(InetAddress.java:1321) com.ibm.db2.jcc.c.b.h(b.java:3059) com.ibm.db2.jcc.c.b.uc(b.java:2147) com.ibm.db2.jcc.c.b.a(b.java:604) com.ibm.db2.jcc.c.b.<init>(b.java:265) com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:163) com.mchange.v2.c3p0.DriverManagerDataSource.getConnection( DriverManagerDataSource.java:134) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection( WrapperConnectionPoolDataSource.java:182) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection( WrapperConnectionPoolDataSource.java:171) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource (C3P0PooledConnectionPool.java:137) com.mchange.v2.resourcepool.BasicResourcePool.doAcquire( BasicResourcePool.java:1014) com.mchange.v2.resourcepool.BasicResourcePool.access$800( BasicResourcePool.java:32) com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run( BasicResourcePool.java:1810) com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run( ThreadPoolAsynchronousRunner.java:547) 2007-06-25 07:40:02,861 WARN [Timer-0] - Task com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6de66de6 (in deadlocked PoolThread) failed to complete in maximum time 60000ms. Trying interrupt(). 2007-06-25 07:40:02,861 WARN [Timer-0] - Task com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6df26df2 (in deadlocked PoolThread) failed to complete in maximum time 60000ms. Trying interrupt(). 2007-06-25 07:40:02,862 WARN [Timer-0] - Task com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6dfe6dfe (in deadlocked PoolThread) failed to complete in maximum time 60000ms. Trying interrupt(). 2007-06-25 07:42:22,899 WARN [Timer-0] - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@19081908-- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks! 2007-06-25 07:42:22,906 WARN [Timer-0] - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@19081908-- APPARENT DEADLOCK!!! Complete Status: Managed Threads: 3 Active Threads: 3 Active Tasks: ... |