Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-14519

[GSS](7.1.z) - WFLY-10181 Deadlock for threads executing org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.isEqual (EAP Full)

    XMLWordPrintable

Details

    • EAP 7.1.3

    Description

      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)
        ...

      Attachments

        Issue Links

          Activity

            Public project attachment banner

              context keys: [headless, issue, helper, isAsynchronousRequest, project, action, user]
              current Project key: JBEAP

              People

                rhn-engineering-lgao Lin Gao
                flaviarnn Flavia Rainone
                Jiří Bílek Jiří Bílek (Inactive)
                Jiří Bílek Jiří Bílek (Inactive)
                Votes:
                1 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  Time Tracking

                    Estimated:
                    Original Estimate - 1 day
                    1d
                    Remaining:
                    Remaining Estimate - 1 day
                    1d
                    Logged:
                    Time Spent - Not Specified
                    Not Specified