Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-56649

Web interface hangs on retrieve users from ldap

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None
    • Jenkins 2.138.2
      active directory 2.12

      We faced web interface hang once, http requests stucked on ad user retrieve:

      "Handling GET /jenkins/job/PPRB_DevOps/job/Install_EIP/job/Install_EIP_2_cli/19070/wfapi from 10.116.113.11 : qtp385242642-12688644" - Thread t@12688644"Handling GET /jenkins/job/PPRB_DevOps/job/Install_EIP/job/Install_EIP_2_cli/19070/wfapi from 10.116.113.11 : qtp385242642-12688644" - Thread t@12688644   java.lang.Thread.State: WAITING at sun.misc.Unsafe.park(Native Method) - parking to wait for <83657e2> (a com.google.common.util.concurrent.AbstractFuture$Sync) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304) at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:275) at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:111) at com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:132) at com.google.common.cache.LocalCache$LoadingValueReference.waitForValue(LocalCache.java:3586) at com.google.common.cache.LocalCache$Segment.waitForLoadingValue(LocalCache.java:2333) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2320) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228) at com.google.common.cache.LocalCache.get(LocalCache.java:3965) at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4764) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:340) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:303) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:225) at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:55) at jenkins.security.ImpersonatingUserDetailsService.loadUserByUsername(ImpersonatingUserDetailsService.java:32) 

       

      For few minutes web server had reached handlerCountMax limit, every http handler thread was in waiting state for user info from cache

      I think that the problemrelates to:

      https://github.com/google/guava/issues/2774
      https://github.com/google/guava/issues/3232

            fbelzunc Félix Belzunce Arcos
            brainsam Alexander Moiseenko
            Votes:
            2 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: