NOTE: This bug report is for JIRA Server. Using JIRA Cloud? 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)
      

            [JRASERVER-61054] User count cache queries itself during loading

            SET Analytics Bot made changes -
            UIS Original: 1 New: 0
            SET Analytics Bot made changes -
            UIS Original: 0 New: 1
            SET Analytics Bot made changes -
            UIS Original: 1 New: 0
            SET Analytics Bot made changes -
            UIS Original: 2 New: 1
            SET Analytics Bot made changes -
            UIS Original: 1 New: 2
            SET Analytics Bot made changes -
            UIS Original: 0 New: 1
            SET Analytics Bot made changes -
            UIS Original: 1 New: 0
            Bugfix Automation Bot made changes -
            Support reference count Original: 12 New: 13
            Bugfix Automation Bot made changes -
            Support reference count Original: 13 New: 12
            SET Analytics Bot made changes -
            UIS Original: 0 New: 1

              mwyrzykowski Michal Wyrzykowski
              rcordova Cordo
              Affected customers:
              1 This affects my team
              Watchers:
              12 Start watching this issue

                Created:
                Updated: