[jboss-jira] [JBoss JIRA] (JBJCA-1371) Deadlock for threads executing org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.isEqual

Flavia Rainone (JIRA) issues at jboss.org
Fri Apr 6 02:40:00 EDT 2018


     [ https://issues.jboss.org/browse/JBJCA-1371?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Flavia Rainone updated JBJCA-1371:
----------------------------------
    Git Pull Request: https://github.com/ironjacamar/ironjacamar/pull/657


> Deadlock for threads executing org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.isEqual
> ------------------------------------------------------------------------------------------------
>
>                 Key: JBJCA-1371
>                 URL: https://issues.jboss.org/browse/JBJCA-1371
>             Project: IronJacamar
>          Issue Type: Bug
>          Components: Core
>            Reporter: Flavia Rainone
>            Assignee: Flavia Rainone
>
> Two or more threads hold one lock on an instance of java.util.Collections$SynchronizedMap and attempt to obtain a lock on a different instance (e.g. locks on 0x00000001d0d08bd8 and 0x00000001cea22628 in the example below)
>     "thread-one" ...
>     java.lang.Thread.State: BLOCKED (on object monitor)
>         at java.util.Collections$SynchronizedMap.get(Collections.java:2584)
>         - waiting to lock <0x00000001cea22628> (a java.util.Collections$SynchronizedMap)
>         at java.util.AbstractMap.equals(AbstractMap.java:495)
>         at java.util.Collections$SynchronizedMap.equals(Collections.java:2631)
>         - locked <0x00000001d0d08bd8> (a java.util.Collections$SynchronizedMap)
>         at org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.isEqual(XAManagedConnectionFactory.java:563)
>         - locked <0x00000001d0d08bd8> (a java.util.Collections$SynchronizedMap)
>         at org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.equals(XAManagedConnectionFactory.java:598)
>         at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnectionFactory$SubjectActions.doCheck(BaseWrapperManagedConnectionFactory.java:1397)
>         at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnectionFactory$SubjectActions.addMatchingProperties(BaseWrapperManagedConnectionFactory.java:1508)
>         at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnectionFactory.getConnectionProperties(BaseWrapperManagedConnectionFactory.java:1135)
>         at org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.matchManagedConnections(XAManagedConnectionFactory.java:533)
>         ...
>         at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:138)
>         at org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:66)
>         ...
>     "thread-two" ...
>     java.lang.Thread.State: BLOCKED (on object monitor)
>         at java.util.Collections$SynchronizedMap.size(Collections.java:2572)
>         - waiting to lock <0x00000001d0d08bd8> (a java.util.Collections$SynchronizedMap)
>         at java.util.AbstractMap.equals(AbstractMap.java:482)
>         at java.util.Collections$SynchronizedMap.equals(Collections.java:2631)
>         - locked <0x00000001cea22628> (a java.util.Collections$SynchronizedMap)
>         at org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.isEqual(XAManagedConnectionFactory.java:563)
>         - locked <0x00000001cea22628> (a java.util.Collections$SynchronizedMap)
>         at org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.equals(XAManagedConnectionFactory.java:598)
>         ... [same stack as thread-one above] ...
>         at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:138)
>         at org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:66)
>         ...



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list