Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-61054

User count cache queries itself during loading

XMLWordPrintable

      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)
      

              mwyrzykowski Michal Wyrzykowski
              rcordova Cordo
              Votes:
              1 Vote for this issue
              Watchers:
              12 Start watching this issue

                Created:
                Updated: