[
https://issues.apache.org/jira/browse/DERBY-2689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12508469
]
Knut Anders Hatlen commented on DERBY-2689:
-------------------------------------------
If we decide to do the cleanup, I think it should be done in a separate patch
(and perhaps a separate JIRA). Since the fix for this issue is likely to go
into 10.3, it would be best if we kept the fix as small as possible to reduce
the risk of introducing regressions.
> 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, 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.<init>(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.<init>(Unknown
> Source)
> at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown
> Source)
> at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown
> Source)
> at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(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.<init>(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.<init>(Unknown
> Source)
> at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown
> Source)
> at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown
> Source)
> at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(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.