Full thread dump Java HotSpot(TM) Client VM (1.5.0_06-b05 mixed mode): "Thread-5" prio=10 tid=0x088529a0 nid=0xe runnable [0xee23b000..0xee23bb38] at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) - locked <0xefc2a578> (a com.mysql.jdbc.util.ReadAheadInputStream) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1902) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2351) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2862) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1571) at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1124) - locked <0xefc29a88> (a java.lang.Object) at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:676) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1166) - locked <0xefc29a88> (a java.lang.Object) - locked <0xf04cb2c8> (a com.mysql.jdbc.ServerPreparedStatement) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1082) - locked <0xf04cb2c8> (a com.mysql.jdbc.ServerPreparedStatement) at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:597) - locked <0xefc29a88> (a java.lang.Object) - locked <0xf04cb2c8> (a com.mysql.jdbc.ServerPreparedStatement) at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296) at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:41) at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:978) at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:135) at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:113) at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1602) at com.fotolog.regression.MysqlDriverDeadlockTest$TestRunner.fillStatementCache(MysqlDriverDeadlockTest.java:147) at com.fotolog.regression.MysqlDriverDeadlockTest$TestRunner.batchUpdateRecords(MysqlDriverDeadlockTest.java:170) at com.fotolog.regression.MysqlDriverDeadlockTest$TestRunner.runOneTest(MysqlDriverDeadlockTest.java:126) at com.fotolog.regression.MysqlDriverDeadlockTest$TestRunner.run(MysqlDriverDeadlockTest.java:111) at java.lang.Thread.run(Thread.java:595) "Thread-4" prio=10 tid=0x08852660 nid=0xd waiting for monitor entry [0xee27d000..0xee27dcb8] at com.mysql.jdbc.Connection.getMaxBytesPerChar(Connection.java:3336) - waiting to lock <0xefb9de80> (a com.mysql.jdbc.Connection) at com.mysql.jdbc.ServerPreparedStatement.storeReader(ServerPreparedStatement.java:2150) at com.mysql.jdbc.ServerPreparedStatement.serverLongData(ServerPreparedStatement.java:1252) - locked <0xefba52e0> (a java.lang.Object) at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1043) - locked <0xefba52e0> (a java.lang.Object) at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:676) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1166) - locked <0xefba52e0> (a java.lang.Object) - locked <0xef6754f0> (a com.mysql.jdbc.ServerPreparedStatement) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1082) - locked <0xef6754f0> (a com.mysql.jdbc.ServerPreparedStatement) at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:597) - locked <0xefba52e0> (a java.lang.Object) - locked <0xef6754f0> (a com.mysql.jdbc.ServerPreparedStatement) at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296) at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:41) at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:978) at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:135) at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:113) at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1602) at com.fotolog.regression.MysqlDriverDeadlockTest$TestRunner.fillStatementCache(MysqlDriverDeadlockTest.java:147) at com.fotolog.regression.MysqlDriverDeadlockTest$TestRunner.batchUpdateRecords(MysqlDriverDeadlockTest.java:170) at com.fotolog.regression.MysqlDriverDeadlockTest$TestRunner.runOneTest(MysqlDriverDeadlockTest.java:126) at com.fotolog.regression.MysqlDriverDeadlockTest$TestRunner.run(MysqlDriverDeadlockTest.java:111) at java.lang.Thread.run(Thread.java:595) "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2" daemon prio=10 tid=0x08772ed8 nid=0xc in Object.wait() [0xee405000..0xee405d38] at java.lang.Object.wait(Native Method) - waiting on <0xefb93380> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner) at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:355) - locked <0xefb93380> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner) "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1" daemon prio=10 tid=0x087747f8 nid=0xb waiting for monitor entry [0xee447000..0xee447ab8] at com.mysql.jdbc.ServerPreparedStatement.realClose(ServerPreparedStatement.java:879) - waiting to lock <0xefba52e0> (a java.lang.Object) - locked <0xefb9de80> (a com.mysql.jdbc.Connection) - locked <0xef669d68> (a com.mysql.jdbc.ServerPreparedStatement) at com.mysql.jdbc.ServerPreparedStatement.close(ServerPreparedStatement.java:458) at com.mchange.v1.db.sql.StatementUtils.attemptClose(StatementUtils.java:41) at com.mchange.v2.c3p0.stmt.GooGooStatementCache$1.run(GooGooStatementCache.java:312) at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:368) "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0" daemon prio=10 tid=0x08773d18 nid=0xa in Object.wait() [0xee489000..0xee489a38] at java.lang.Object.wait(Native Method) - waiting on <0xefb93380> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner) at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:355) - locked <0xefb93380> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner) "Timer-0" daemon prio=10 tid=0x08772740 nid=0x9 in Object.wait() [0xee4cb000..0xee4cbbb8] at java.lang.Object.wait(Native Method) - waiting on <0xefb93500> (a java.util.TaskQueue) at java.util.TimerThread.mainLoop(Timer.java:509) - locked <0xefb93500> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:462) "Low Memory Detector" daemon prio=10 tid=0x08147388 nid=0x7 runnable [0x00000000..0x00000000] "CompilerThread0" daemon prio=10 tid=0x081449e8 nid=0x6 waiting on condition [0x00000000..0xfb5fd518] "Signal Dispatcher" daemon prio=10 tid=0x08143c98 nid=0x5 waiting on condition [0x00000000..0x00000000] "Finalizer" daemon prio=10 tid=0x08138838 nid=0x4 in Object.wait() [0xfbeed000..0xfbeedb38] at java.lang.Object.wait(Native Method) - waiting on <0xefb065e8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) - locked <0xefb065e8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler" daemon prio=10 tid=0x08137c88 nid=0x3 in Object.wait() [0xfbf4a000..0xfbf4acb8] at java.lang.Object.wait(Native Method) - waiting on <0xefb06668> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:474) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) - locked <0xefb06668> (a java.lang.ref.Reference$Lock) "main" prio=10 tid=0x08074ca0 nid=0x1 in Object.wait() [0x08046000..0x08046a54] at java.lang.Object.wait(Native Method) - waiting on <0xf03cc248> (a java.lang.Thread) at java.lang.Thread.join(Thread.java:1095) - locked <0xf03cc248> (a java.lang.Thread) at java.lang.Thread.join(Thread.java:1148) at com.fotolog.regression.MysqlDriverDeadlockTest.startTestThreads(MysqlDriverDeadlockTest.java:91) at com.fotolog.regression.MysqlDriverDeadlockTest.main(MysqlDriverDeadlockTest.java:22) "VM Thread" prio=10 tid=0x08135410 nid=0x2 runnable "VM Periodic Task Thread" prio=10 tid=0x081484f8 nid=0x8 waiting on condition Found one Java-level deadlock: ============================= "Thread-4": waiting to lock monitor 0x08145a44 (object 0xefb9de80, a com.mysql.jdbc.Connection), which is held by "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1" "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1": waiting to lock monitor 0x081459c4 (object 0xefba52e0, a java.lang.Object), which is held by "Thread-4" Java stack information for the threads listed above: =================================================== "Thread-4": at com.mysql.jdbc.Connection.getMaxBytesPerChar(Connection.java:3336) - waiting to lock <0xefb9de80> (a com.mysql.jdbc.Connection) at com.mysql.jdbc.ServerPreparedStatement.storeReader(ServerPreparedStatement.java:2150) at com.mysql.jdbc.ServerPreparedStatement.serverLongData(ServerPreparedStatement.java:1252) - locked <0xefba52e0> (a java.lang.Object) at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1043) - locked <0xefba52e0> (a java.lang.Object) at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:676) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1166) - locked <0xefba52e0> (a java.lang.Object) - locked <0xef6754f0> (a com.mysql.jdbc.ServerPreparedStatement) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1082) - locked <0xef6754f0> (a com.mysql.jdbc.ServerPreparedStatement) at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:597) - locked <0xefba52e0> (a java.lang.Object) - locked <0xef6754f0> (a com.mysql.jdbc.ServerPreparedStatement) at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296) at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:41) at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:978) at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:135) at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:113) at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1602) at com.fotolog.regression.MysqlDriverDeadlockTest$TestRunner.fillStatementCache(MysqlDriverDeadlockTest.java:147) at com.fotolog.regression.MysqlDriverDeadlockTest$TestRunner.batchUpdateRecords(MysqlDriverDeadlockTest.java:170) at com.fotolog.regression.MysqlDriverDeadlockTest$TestRunner.runOneTest(MysqlDriverDeadlockTest.java:126) at com.fotolog.regression.MysqlDriverDeadlockTest$TestRunner.run(MysqlDriverDeadlockTest.java:111) at java.lang.Thread.run(Thread.java:595) "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1": at com.mysql.jdbc.ServerPreparedStatement.realClose(ServerPreparedStatement.java:879) - waiting to lock <0xefba52e0> (a java.lang.Object) - locked <0xefb9de80> (a com.mysql.jdbc.Connection) - locked <0xef669d68> (a com.mysql.jdbc.ServerPreparedStatement) at com.mysql.jdbc.ServerPreparedStatement.close(ServerPreparedStatement.java:458) at com.mchange.v1.db.sql.StatementUtils.attemptClose(StatementUtils.java:41) at com.mchange.v2.c3p0.stmt.GooGooStatementCache$1.run(GooGooStatementCache.java:312) at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:368) Found 1 deadlock.