Uploaded image for project: 'Jira Platform Cloud'
  1. Jira Platform Cloud
  2. JRACLOUD-61054

User count cache queries itself during loading

XMLWordPrintable

      NOTE: This bug report is for JIRA Cloud. Using JIRA Server? See the corresponding bug report.

      The potential exists for DefaultApplicationRoleManager's user count cache to enter itself while loading an entry. This can lead to problems with deadlocks. The revelant parts of the stack trace are reproduced below.

      "http-nio-2996-exec-14" #198 daemon prio=5 os_prio=0 tid=0x0a8ac800 nid=0x1d6 waiting on condition [0x4fa5a000]
         java.lang.Thread.State: WAITING (parking)
      	at sun.misc.Unsafe.park(Native Method)
      	- parking to wait for  <0x889676b8> (a com.google.common.util.concurrent.AbstractFuture$Sync)
      	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
      ...
      	at com.atlassian.jira.application.DefaultApplicationRoleManager.getUserCount(DefaultApplicationRoleManager.java:409)
      	at com.atlassian.jira.application.DefaultApplicationRoleManager.isRoleLimitExceeded(DefaultApplicationRoleManager.java:260)
      	at com.atlassian.jira.application.DefaultApplicationRoleManager$ActiveUserCountLoader.lambda$countCoreUsers$1(DefaultApplicationRoleManager.java:744)
      	at com.atlassian.jira.application.DefaultApplicationRoleManager$ActiveUserCountLoader$$Lambda$519/10282034.test(Unknown Source)
      ...
      	at com.atlassian.jira.application.DefaultApplicationRoleManager$ActiveUserCountLoader.countCoreUsers(DefaultApplicationRoleManager.java:747)
      	at com.atlassian.jira.application.DefaultApplicationRoleManager$ActiveUserCountLoader.countApplicationUsers(DefaultApplicationRoleManager.java:713)
      	at com.atlassian.jira.application.DefaultApplicationRoleManager$ActiveUserCountLoader.lambda$load$0(DefaultApplicationRoleManager.java:705)
      	at com.atlassian.jira.application.DefaultApplicationRoleManager$ActiveUserCountLoader$$Lambda$518/24388341.apply(Unknown Source)
      	at com.atlassian.fugue.Option.map(Option.java:272)
      	at com.atlassian.jira.application.DefaultApplicationRoleManager$ActiveUserCountLoader.load(DefaultApplicationRoleManager.java:705)
      	at com.atlassian.jira.application.DefaultApplicationRoleManager$ActiveUserCountLoader.load(DefaultApplicationRoleManager.java:701)
      ...
      	at com.atlassian.jira.application.DefaultApplicationRoleManager.getUserCount(DefaultApplicationRoleManager.java:409)
      

              Unassigned Unassigned
              rcordova Cordo
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: