[ https://issues.apache.org/jira/browse/DERBY-2689?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Manish Khettry updated DERBY-2689: ---------------------------------- Attachment: deadlock2.patch.txt Revised patch. I cleaned up some of the spurious characters in the comments, moved setting of unusedActs=false to the top of the loop and reduced some whitespace diffs. > Deadlock with GenericPreparedStatement > -------------------------------------- > > Key: DERBY-2689 > URL: https://issues.apache.org/jira/browse/DERBY-2689 > Project: Derby > Issue Type: Bug > Components: JDBC > Affects Versions: 10.2.2.0 > Environment: Windows > Reporter: Marc Ewert > Assignee: Manish Khettry > Priority: Critical > Attachments: deadlock.patch.txt, deadlock2.patch.txt, TestDerbyPreparedStatements.java > > > We encountered two times a deadlock inside of derby. It seems that we can't workaround it. The involved two threads are attached, it looks like a classical deadlock: > "Thread-22" daemon prio=6 tid=0x0cdaa400 nid=0x1c0 waiting for monitor entry [0x1317f000..0x1317fd4c] > java.lang.Thread.State: BLOCKED (on object monitor) > at org.apache.derby.impl.sql.GenericPreparedStatement.finish(Unknown Source) > - waiting to lock <0x052f4d70> (a org.apache.derby.impl.sql.GenericPreparedStatement) > at org.apache.derby.impl.sql.execute.BaseActivation.close(Unknown Source) > at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.addActivation(Unknown Source) > at org.apache.derby.impl.sql.execute.BaseActivation.initFromContext(Unknown Source) > at org.apache.derby.impl.services.reflect.LoadedGeneratedClass.newInstance(Unknown Source) > at org.apache.derby.impl.services.reflect.ReflectGeneratedClass.newInstance(Unknown Source) > at org.apache.derby.impl.sql.GenericActivationHolder.(Unknown Source) > at org.apache.derby.impl.sql.GenericPreparedStatement.getActivation(Unknown Source) > - locked <0x05306f88> (a org.apache.derby.impl.sql.GenericPreparedStatement) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.(Unknown Source) > at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) > - locked <0x047beb00> (a org.apache.derby.impl.jdbc.EmbedConnection40) > at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) > [custom methods] > "ThreadPoolThread-SyncScheduler-3-1" prio=2 tid=0x0e620400 nid=0xfec waiting for monitor entry [0x10a7e000..0x10a7fa14] > java.lang.Thread.State: BLOCKED (on object monitor) > at org.apache.derby.impl.sql.GenericPreparedStatement.finish(Unknown Source) > - waiting to lock <0x05306f88> (a org.apache.derby.impl.sql.GenericPreparedStatement) > at org.apache.derby.impl.sql.execute.BaseActivation.close(Unknown Source) > at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.addActivation(Unknown Source) > at org.apache.derby.impl.sql.execute.BaseActivation.initFromContext(Unknown Source) > at org.apache.derby.impl.services.reflect.LoadedGeneratedClass.newInstance(Unknown Source) > at org.apache.derby.impl.services.reflect.ReflectGeneratedClass.newInstance(Unknown Source) > at org.apache.derby.impl.sql.GenericActivationHolder.(Unknown Source) > at org.apache.derby.impl.sql.GenericPreparedStatement.getActivation(Unknown Source) > - locked <0x052f4d70> (a org.apache.derby.impl.sql.GenericPreparedStatement) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.(Unknown Source) > at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) > - locked <0x04225178> (a org.apache.derby.impl.jdbc.EmbedConnection40) > at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) > [custom methods] -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.