Looks like I'm getting the same problem that is around for a long-long time...
One of our programs is using c3p0
(Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 1.5.0_07-87 ("Apple Computer, Inc.")
Extension-Name: com.mchange.v2.c3p0
Specification-Vendor: Machinery For Change, Inc.
Specification-Version: 1.0
Implementation-Vendor-Id: com.mchange
Implementation-Vendor: Machinery For Change, Inc.
Implementation-Version: 0.9.1.2)
with Hibernate (
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: 1.5.0_10-b03 (Sun Microsystems Inc.)
Implementation-Title: Hibernate3
Implementation-Version: 3.2.2.ga
Implementation-Vendor: hibernate.org
Hibernate-Version: 3.2.2.ga)
Hibernate settings (hibernate.cfg.xml)are as following:
===========================================
<property name="hibernate.c3p0.min_size">1</property>
<property name="hibernate.c3p0.max_size">15</property>
<property name="hibernate.c3p0.timeout">30</property>
<property name="hibernate.c3p0.max_statements">0</property>
===========================================
and c3p0 settings (in c3p0.properties) are:
============================
c3p0.maxStatements=0
c3p0.maxStatementsPerConnection=50
=============================
The database is MySql 5.0.60-enterprise-glp
Today this problem was appearring a few times and the messages in the log are:
============================
2008-10-28 08:46:38,196 225699 WARN [Timer-0] async.ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1c1f5b2 -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
2008-10-28 08:46:40,053 227556 WARN [Timer-0] async.ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1c1f5b2 -- APPARENT DEADLOCK!!! Complete Status:
Managed Threads: 3
Active Threads: 3
Active Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@2f356f (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1)
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@15d252d (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2)
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@33b121 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0)
Pending Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1b22920
Pool thread stack traces:
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1,5,main]
java.lang.StringCoding$CharsetSD.decode(StringCoding.java:183)
java.lang.StringCoding.decode(StringCoding.java:228)
java.lang.String.<init>(String.java:405)
java.lang.String.<init>(String.java:433)
com.mysql.jdbc.ResultSet.getStringInternal(ResultSet.java:5338)
com.mysql.jdbc.ResultSet.getString(ResultSet.java:5240)
com.mysql.jdbc.Connection.loadServerVariables(Connection.java:4060)
com.mysql.jdbc.Connection.initializePropsFromServer(Connection.java:3778)
com.mysql.jdbc.Connection.createNewIO(Connection.java:2608)
com.mysql.jdbc.Connection.<init>(Connection.java:1509)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
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.lang.StringCoding.trim(StringCoding.java:74)
java.lang.StringCoding.access$100(StringCoding.java:37)
java.lang.StringCoding$CharsetSD.decode(StringCoding.java:201)
java.lang.StringCoding.decode(StringCoding.java:228)
java.lang.String.<init>(String.java:405)
java.lang.String.<init>(String.java:433)
com.mysql.jdbc.ResultSet.getStringInternal(ResultSet.java:5338)
com.mysql.jdbc.ResultSet.getString(ResultSet.java:5240)
com.mysql.jdbc.Connection.loadServerVariables(Connection.java:4060)
com.mysql.jdbc.Connection.initializePropsFromServer(Connection.java:3778)
com.mysql.jdbc.Connection.createNewIO(Connection.java:2608)
com.mysql.jdbc.Connection.<init>(Connection.java:1509)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
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-#0,5,main]
java.lang.StringCoding$CharsetSD.decode(StringCoding.java:183)
java.lang.StringCoding.decode(StringCoding.java:228)
java.lang.String.<init>(String.java:405)
java.lang.String.<init>(String.java:433)
com.mysql.jdbc.ResultSet.getStringInternal(ResultSet.java:5338)
com.mysql.jdbc.ResultSet.getString(ResultSet.java:5240)
com.mysql.jdbc.Connection.loadServerVariables(Connection.java:4060)
com.mysql.jdbc.Connection.initializePropsFromServer(Connection.java:3778)
com.mysql.jdbc.Connection.createNewIO(Connection.java:2608)
com.mysql.jdbc.Connection.<init>(Connection.java:1509)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
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)
after that the process was complete and started another one, that created another set onf messagess:
===============================
2008-10-28 09:01:37,624 269228 WARN [Timer-0] async.ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1b22920 -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
2008-10-28 09:01:39,521 271125 WARN [Timer-0] async.ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1b22920 -- APPARENT DEADLOCK!!! Complete Status:
Managed Threads: 3
Active Threads: 3
Active Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6963d0 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1)
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@118223d (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2)
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1700391 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0)
Pending Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@fa39d7
Pool thread stack traces:
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1,5,main]
com.mysql.jdbc.SingleByteCharsetConverter.getInstance(SingleByteCharsetConverter.java:82)
com.mysql.jdbc.Connection.getCharsetConverter(Connection.java:3227)
com.mysql.jdbc.ResultSet.getStringInternal(ResultSet.java:5331)
com.mysql.jdbc.ResultSet.getString(ResultSet.java:5240)
com.mysql.jdbc.Connection.loadServerVariables(Connection.java:4060)
com.mysql.jdbc.Connection.initializePropsFromServer(Connection.java:3778)
com.mysql.jdbc.Connection.createNewIO(Connection.java:2608)
com.mysql.jdbc.Connection.<init>(Connection.java:1509)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
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.lang.StringCoding.trim(StringCoding.java:74)
java.lang.StringCoding.access$100(StringCoding.java:37)
java.lang.StringCoding$CharsetSD.decode(StringCoding.java:201)
java.lang.StringCoding.decode(StringCoding.java:228)
java.lang.String.<init>(String.java:405)
java.lang.String.<init>(String.java:433)
com.mysql.jdbc.ResultSet.getStringInternal(ResultSet.java:5338)
com.mysql.jdbc.ResultSet.getString(ResultSet.java:5240)
com.mysql.jdbc.Connection.loadServerVariables(Connection.java:4060)
com.mysql.jdbc.Connection.initializePropsFromServer(Connection.java:3778)
com.mysql.jdbc.Connection.createNewIO(Connection.java:2608)
com.mysql.jdbc.Connection.<init>(Connection.java:1509)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
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-#0,5,main]
java.lang.StringCoding.trim(StringCoding.java:74)
java.lang.StringCoding.access$100(StringCoding.java:37)
java.lang.StringCoding$CharsetSD.decode(StringCoding.java:201)
java.lang.StringCoding.decode(StringCoding.java:228)
java.lang.String.<init>(String.java:405)
java.lang.String.<init>(String.java:433)
com.mysql.jdbc.ResultSet.getStringInternal(ResultSet.java:5338)
com.mysql.jdbc.ResultSet.getString(ResultSet.java:5240)
com.mysql.jdbc.Connection.loadServerVariables(Connection.java:4060)
com.mysql.jdbc.Connection.initializePropsFromServer(Connection.java:3778)
com.mysql.jdbc.Connection.createNewIO(Connection.java:2608)
com.mysql.jdbc.Connection.<init>(Connection.java:1509)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
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)
==============
This process also been completed and a new one started and worked OK for while...
Then - a new set of messages:
========================
2008-10-28 09:18:51,667 242354 WARN [Timer-0] async.ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@104fc23 -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
2008-10-28 09:18:52,749 243436 WARN [Timer-0] async.ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@104fc23 -- APPARENT DEADLOCK!!! Complete Status:
Managed Threads: 3
Active Threads: 3
Active Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1c18a4c (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1)
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@15e92d7 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0)
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1fa681c (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2)
Pending Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@c92507
Pool thread stack traces:
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1,5,main]
java.util.zip.ZipFile.getEntry(Native Method)
java.util.zip.ZipFile.getEntry(ZipFile.java:252)
java.util.jar.JarFile.getEntry(JarFile.java:204)
java.util.jar.JarFile.getJarEntry(JarFile.java:187)
sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:674)
sun.misc.URLClassPath.getResource(URLClassPath.java:161)
java.net.URLClassLoader$1.run(URLClassLoader.java:192)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:188)
java.lang.ClassLoader.loadClass(ClassLoader.java:306)
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
java.lang.ClassLoader.loadClass(ClassLoader.java:251)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
com.mchange.v2.c3p0.impl.NewProxyConnection.<init>(NewProxyConnection.java:1353)
com.mchange.v2.c3p0.impl.NewProxyConnection.<init>(NewProxyConnection.java:1376)
com.mchange.v2.c3p0.impl.NewPooledConnection.getConnection(NewPooledConnection.java:194)
com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:186)
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-#0,5,main]
com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:187)
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]
com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:187)
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)
=====================
After this all processes (that ran in a loop) completed OK...
Other program (from the same package, that uses the same set of settings) ran in an hour later and did not show any problem...
Can any one give a hand on this problem?
Thanks in advance!
|