I made use of c3po pooling with my gui application. I've the next configuration

overrides.put("maxStatementsPerConnection", 30);
overrides.put("maxPoolSize",70); 
overrides.put("checkoutTimeout", 50000);

From time to time I recieve right into a situation where an effort to obtain a connection occasions out

java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
    at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
    at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:527)
    at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
    at com.jthink.jaikoz.db.Db.createConnection(Db.java:402)

Despite the fact that I am i don't have any other connections open. Actually Used to do once had some additional options enabled (debugUnreturnedConnectionStackTraces, unreturnedConnectionTimeout) to identify issues with not closing connections and located no problems. This issue rarely happens and just happens after running it for a while. I am using by having an embedded Derby database.

As luck might say if this unsuccessful this time around I had been running it by using it Yourkit Profiler enabled, and that i could do monitor profiling , and located that people have three c3po threads all waiting on one another, and that's why I believe there's really a deadlock here

com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread#0
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread#1
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread#2

Is similar towards the setting of numHelperThreads ?

I required a screendump of the

enter image description here

Have I discovered an issue with c3po, can one code to recuperate from this ?