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

REST API returns error when attempting to check lock status

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • Linux RHEL 7 under Tomcat 7. Running Jenkins 1.643

      We use the REST API to do several tasks such as setting the Build Description, returning the build description, setting the lock state of the build, and returning the lock state of the build. We had Jenkins 1.641 and everything was okay. We updated to Jenkins 1.643 and now get the following error:

      + curl -utcruse:swordfish http://jenkins.travelclick.net/jenkins/job/Admin-CoreServices-5.5.5/50/toggleLogKeep
      % Total % Received % Xferd Average Speed Time Time Time Current
      Dload Upload Total Spent Left Speed

      0 0 0 0 0 0 0 0 -::- -::- -::- 0
      100 13287 0 13287 0 0 115k 0 -::- -::- -::- 115k

      <!DOCTYPE html><html><head resURL="/jenkins/static/8607eae1">

      <title>Jenkins [Jenkins]</title><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/css/style.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/css/color.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/css/responsive-grid.css" /><link rel="shortcut icon" type="image/vnd.microsoft.icon" href="/jenkins/static/8607eae1/favicon.ico" /><link color="black" rel="mask-icon" href="/jenkins/images/mask-icon.svg" /><script>var isRunAsTest=false; var rootURL="/jenkins"; var resURL="/jenkins/static/8607eae1";</script><script src="/jenkins/static/8607eae1/scripts/prototype.js" type="text/javascript"></script><script src="/jenkins/static/8607eae1/scripts/behavior.js" type="text/javascript"></script><script src='/jenkins/adjuncts/8607eae1/org/kohsuke/stapler/bind.js' type='text/javascript'></script><script src="/jenkins/static/8607eae1/scripts/yui/yahoo/yahoo-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/dom/dom-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/event/event-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/animation/animation-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/dragdrop/dragdrop-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/container/container-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/connection/connection-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/datasource/datasource-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/autocomplete/autocomplete-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/menu/menu-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/element/element-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/button/button-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/storage/storage-min.js"></script><script src="/jenkins/static/8607eae1/scripts/hudson-behavior.js" type="text/javascript"></script><script src="/jenkins/static/8607eae1/scripts/sortable.js" type="text/javascript"></script><script>crumb.init("", "");</script><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/scripts/yui/container/assets/container.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/scripts/yui/assets/skins/sam/skin.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/scripts/yui/container/assets/skins/sam/container.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/scripts/yui/button/assets/skins/sam/button.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/scripts/yui/menu/assets/skins/sam/menu.css" /><meta name="ROBOTS" content="INDEX,NOFOLLOW" /></head><body data-model-type="hudson.model.Hudson" id="jenkins" data-version="jenkins-1.643" class="yui-skin-sam jenkins-1.643"><a href="#skip2content" class="skiplink">Skip to content</a><div id="page-head"><div id="header"><div class="logo"><a id="jenkins-home-link" href="/jenkins/"><img id="jenkins-head-icon" alt="title" src="/jenkins/static/8607eae1/images/headshot.png" /><img id="jenkins-name-icon" height="34" alt="title" width="139" src="/jenkins/static/8607eae1/images/title.png" /></a></div><div class="login"> <a href="/jenkins/login?from=%2Fjenkins%2Fjob%2FAdmin-CoreServices-5.5.5%2F50%2FtoggleLogKeep"><b>log in</b></a></div><div class="searchbox hidden-xs"><form style="position:relative;" name="search" action="/jenkins/search/" class="no-json" method="get"><div id="search-box-minWidth"></div><div id="search-box-sizer"></div><div id="searchform"><input id="search-box" placeholder="search" name="q" class="has-default-text" /> <a href="http://wiki.jenkins-ci.org/display/JENKINS/Search+Box"><img style="width: 16px; height: 16px; " class="icon-help icon-sm" src="/jenkins/static/8607eae1/images/16x16/help.png" /></a><div id="search-box-completion"></div><script>createSearchBox("/jenkins/search/");</script></div></form></div></div><div id="breadcrumbBar"><tr id="top-nav"><td id="left-top-nav" colspan="2"><link rel='stylesheet' href='/jenkins/adjuncts/8607eae1/lib/layout/breadcrumbs.css' type='text/css' /><script src='/jenkins/adjuncts/8607eae1/lib/layout/breadcrumbs.js' type='text/javascript'></script><div class="top-sticker noedge"><div class="top-sticker-inner"><div id="right-top-nav"></div><ul id="breadcrumbs"><li class="item"><a class="model-link inside" href="/jenkins/">Jenkins</a></li><li class="children" href="/jenkins/"></li></ul><div id="breadcrumb-menu-target"></div></div></div></td></tr></div></div><div id="page-body" class="clear"><div id="side-panel"><div class="task"><a class="task-icon-link" href="http://jenkins-ci.org/"><img style="width: 24px; height: 24px; width: 24px; height: 24px; margin: 2px;" class="icon-next icon-md" src="/jenkins/static/8607eae1/images/24x24/next.png" /></a> <a class="task-link" href="http://jenkins-ci.org/">Jenkins project</a></div><div class="task"><a class="task-icon-link" href="http://issues.jenkins-ci.org/"><img style="width: 24px; height: 24px; width: 24px; height: 24px; margin: 2px;" class="icon-gear2 icon-md" src="/jenkins/static/8607eae1/images/24x24/gear2.png" /></a> <a class="task-link" href="http://issues.jenkins-ci.org/">Bug tracker</a></div><div class="task"><a class="task-icon-link" href="http://jenkins-ci.org/content/mailing-lists"><img style="width: 24px; height: 24px; width: 24px; height: 24px; margin: 2px;" class="icon-search icon-md" src="/jenkins/static/8607eae1/images/24x24/search.png" /></a> <a class="task-link" href="http://jenkins-ci.org/content/mailing-lists">Mailing Lists</a></div><div class="task"><a class="task-icon-link" href="https://twitter.com/jenkinsci"><img style="width: 24px; height: 24px; width: 24px; height: 24px; margin: 2px;" class="icon-user icon-md" src="/jenkins/static/8607eae1/images/24x24/user.png" /></a> <a class="task-link" href="https://twitter.com/jenkinsci">Twitter: @jenkinsci</a></div></div><div id="main-panel"><a name="skip2content"></a><h1 style="text-align: center"><img height="179" width="154" src="/jenkins/static/8607eae1/images/rage.png" /><span style="font-size:50px"> Oops!</span></h1><div id="error-description"><p>A problem occurred while processing the request.
      Please check <a href="https://issues.jenkins-ci.org/">our bug tracker</a> to see if a similar problem has already been reported.
      If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem.
      If you think this is a new issue, please file a new issue.
      When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins.
      <a href="http://jenkins-ci.org/content/mailing-lists">The users list</a> might be also useful in understanding what has happened.</p><h2>Stack trace</h2><pre style="margin:2em; clear:both">hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed caching user svc-relmag2; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Recursive load
      at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:194)
      at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:54)
      at jenkins.security.ImpersonatingUserDetailsService.loadUserByUsername(ImpersonatingUserDetailsService.java:32)
      at hudson.model.User.impersonate(User.java:309)
      at jenkins.security.BasicHeaderApiTokenAuthenticator.authenticate(BasicHeaderApiTokenAuthenticator.java:31)
      at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:79)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
      at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
      at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:745)
      Caused by: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Recursive load
      at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2234)
      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:136)
      ... 36 more
      Caused by: java.lang.IllegalStateException: Recursive load
      at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
      at com.google.common.cache.LocalCache$Segment.waitForLoadingValue(LocalCache.java:2330)
      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:302)
      at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:269)
      at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.access$100(ActiveDirectoryUnixAuthenticationProvider.java:72)
      at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider$1.call(ActiveDirectoryUnixAuthenticationProvider.java:147)
      at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider$1.call(ActiveDirectoryUnixAuthenticationProvider.java:136)
      at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4767)
      at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568)
      at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350)
      at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313)
      at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228)
      ... 39 more
      </pre></div></div></div><footer><div class="container-fluid"><div class="row"><div class="col-md-6" id="footer"></div><div class="col-md-18"><span class="page_generated">Page generated: Apr 25, 2016 11:33:11 AM</span><span class="rest_api"><a href="api/">REST API</a></span><span class="jenkins_ver"><a href="http://jenkins-ci.org/">Jenkins ver. 1.643</a></span></div></div></div></footer></body></html>#
      ########################################################################

          [JENKINS-34435] REST API returns error when attempting to check lock status

          Doing more testing. The problem appears to be that the API key no longer works. Works when I use the password directly, but not the API key.

          David Weintraub added a comment - Doing more testing. The problem appears to be that the API key no longer works. Works when I use the password directly, but not the API key.

          David Weintraub added a comment - - edited

          Yes. The API Token is failing:

          This works:

          $ curl -u $user_id:$password $JENKINS_URL/job/$project/$build_no/api/json?tree=keepLog

          {"keepLog":false}

          This fails with a bad login:

          $ curl -u $user_id:invalid_password $JENKINS_URL/job/$project/$build_no/api/json?tree=keepLog

          {"keepLog":false}

          {{tml><head><title>Apache Tomcat/7.0.27 - Error report</title><style><!--H1

          {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}

          H2

          {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}

          H3

          {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}

          BODY

          {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}

          B

          {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}

          P

          {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}

          A

          {color : black;}

          A.name

          {color : black;}

          HR

          {color : #525D76;}

          --></style> </head><body><h1>HTTP Status 401 - Invalid password/token for user: svc-relmag2</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>Invalid password/token for user: svc-relmag2</u></p><p><b>description</b> <u>This request requires HTTP authentication (Invalid password/token for user: svc-relmag2).</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.27</h3></body></html>}}

          This fails completely:

          {{$ curl -u $user_id:$api_token $JENKINS_URL/job/$project/$build_no/api/json?tree=keepLog

          <!DOCTYPE html><html><head resURL="/jenkins/static/8607eae1">

          <title>Jenkins [Jenkins]</title><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/css/style.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/css/color.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/css/responsive-grid.css" /><link rel="shortcut icon" type="image/vnd.microsoft.icon" href="/jenkins/static/8607eae1/favicon.ico" /><link color="black" rel="mask-icon" href="/jenkins/images/mask-icon.svg" /><script>var isRunAsTest=false; var rootURL="/jenkins"; var resURL="/jenkins/static/8607eae1";</script><script src="/jenkins/static/8607eae1/scripts/prototype.js" type="text/javascript"></script><script src="/jenkins/static/8607eae1/scripts/behavior.js" type="text/javascript"></script><script src='/jenkins/adjuncts/8607eae1/org/kohsuke/stapler/bind.js' type='text/javascript'></script><script src="/jenkins/static/8607eae1/scripts/yui/yahoo/yahoo-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/dom/dom-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/event/event-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/animation/animation-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/dragdrop/dragdrop-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/container/container-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/connection/connection-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/datasource/datasource-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/autocomplete/autocomplete-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/menu/menu-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/element/element-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/button/button-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/storage/storage-min.js"></script><script src="/jenkins/static/8607eae1/scripts/hudson-behavior.js" type="text/javascript"></script><script src="/jenkins/static/8607eae1/scripts/sortable.js" type="text/javascript"></script><script>crumb.init("", "");</script><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/scripts/yui/container/assets/container.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/scripts/yui/assets/skins/sam/skin.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/scripts/yui/container/assets/skins/sam/container.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/scripts/yui/button/assets/skins/sam/button.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/scripts/yui/menu/assets/skins/sam/menu.css" /><meta name="ROBOTS" content="INDEX,NOFOLLOW" /></head><body data-model-type="hudson.model.Hudson" id="jenkins" data-version="jenkins-1.643" class="yui-skin-sam jenkins-1.643"><a href="#skip2content" class="skiplink">Skip to content</a><div id="page-head"><div id="header"><div class="logo"><a id="jenkins-home-link" href="/jenkins/"><img id="jenkins-head-icon" alt="title" src="/jenkins/static/8607eae1/images/headshot.png" /><img id="jenkins-name-icon" height="34" alt="title" width="139" src="/jenkins/static/8607eae1/images/title.png" /></a></div><div class="login"> <a href="/jenkins/login?from=%2Fjenkins%2Fjob%2FAdmin-CoreServices-5.5.5%2F50%2Fapi%2Fjson"><b>log in</b></a></div><div class="searchbox hidden-xs"><form style="position:relative;" name="search" action="/jenkins/search/" class="no-json" method="get"><div id="search-box-minWidth"></div><div id="search-box-sizer"></div><div id="searchform"><input id="search-box" placeholder="search" name="q" class="has-default-text" /> <a href="http://wiki.jenkins-ci.org/display/JENKINS/Search+Box"><img style="width: 16px; height: 16px; " class="icon-help icon-sm" src="/jenkins/static/8607eae1/images/16x16/help.png" /></a><div id="search-box-completion"></div><script>createSearchBox("/jenkins/search/");</script></div></form></div></div><div id="breadcrumbBar"><tr id="top-nav"><td id="left-top-nav" colspan="2"><link rel='stylesheet' href='/jenkins/adjuncts/8607eae1/lib/layout/breadcrumbs.css' type='text/css' /><script src='/jenkins/adjuncts/8607eae1/lib/layout/breadcrumbs.js' type='text/javascript'></script><div class="top-sticker noedge"><div class="top-sticker-inner"><div id="right-top-nav"></div><ul id="breadcrumbs"><li class="item"><a class="model-link inside" href="/jenkins/">Jenkins</a></li><li class="children" href="/jenkins/"></li></ul><div id="breadcrumb-menu-target"></div></div></div></td></tr></div></div><div id="page-body" class="clear"><div id="side-panel"><div class="task"><a class="task-icon-link" href="http://jenkins-ci.org/"><img style="width: 24px; height: 24px; width: 24px; height: 24px; margin: 2px;" class="icon-next icon-md" src="/jenkins/static/8607eae1/images/24x24/next.png" /></a> <a class="task-link" href="http://jenkins-ci.org/">Jenkins project</a></div><div class="task"><a class="task-icon-link" href="http://issues.jenkins-ci.org/"><img style="width: 24px; height: 24px; width: 24px; height: 24px; margin: 2px;" class="icon-gear2 icon-md" src="/jenkins/static/8607eae1/images/24x24/gear2.png" /></a> <a class="task-link" href="http://issues.jenkins-ci.org/">Bug tracker</a></div><div class="task"><a class="task-icon-link" href="http://jenkins-ci.org/content/mailing-lists"><img style="width: 24px; height: 24px; width: 24px; height: 24px; margin: 2px;" class="icon-search icon-md" src="/jenkins/static/8607eae1/images/24x24/search.png" /></a> <a class="task-link" href="http://jenkins-ci.org/content/mailing-lists">Mailing Lists</a></div><div class="task"><a class="task-icon-link" href="https://twitter.com/jenkinsci"><img style="width: 24px; height: 24px; width: 24px; height: 24px; margin: 2px;" class="icon-user icon-md" src="/jenkins/static/8607eae1/images/24x24/user.png" /></a> <a class="task-link" href="https://twitter.com/jenkinsci">Twitter: @jenkinsci</a></div></div><div id="main-panel"><a name="skip2content"></a><h1 style="text-align: center"><img height="179" width="154" src="/jenkins/static/8607eae1/images/rage.png" /><span style="font-size:50px"> Oops!</span></h1><div id="error-description"><p>A problem occurred while processing the request.
          Please check <a href="https://issues.jenkins-ci.org/">our bug tracker</a> to see if a similar problem has already been reported.
          If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem.
          If you think this is a new issue, please file a new issue.
          When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins.
          <a href="http://jenkins-ci.org/content/mailing-lists">The users list</a> might be also useful in understanding what has happened.</p><h2>Stack trace</h2><pre style="margin:2em; clear:both">hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed caching user svc-relmag2; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Recursive load
          at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:194)
          at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:54)
          at jenkins.security.ImpersonatingUserDetailsService.loadUserByUsername(ImpersonatingUserDetailsService.java:32)
          at hudson.model.User.impersonate(User.java:309)
          at jenkins.security.BasicHeaderApiTokenAuthenticator.authenticate(BasicHeaderApiTokenAuthenticator.java:31)
          at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:79)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
          at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
          at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
          at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
          at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
          at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
          at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
          at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          at java.lang.Thread.run(Thread.java:745)
          Caused by: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Recursive load
          at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2234)
          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:136)
          ... 36 more
          Caused by: java.lang.IllegalStateException: Recursive load
          at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
          at com.google.common.cache.LocalCache$Segment.waitForLoadingValue(LocalCache.java:2330)
          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:302)
          at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:269)
          at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.access$100(ActiveDirectoryUnixAuthenticationProvider.java:72)
          at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider$1.call(ActiveDirectoryUnixAuthenticationProvider.java:147)
          at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider$1.call(ActiveDirectoryUnixAuthenticationProvider.java:136)
          at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4767)
          at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568)
          at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350)
          at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313)
          at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228)
          ... 39 more
          </pre></div></div></div><footer><div class="container-fluid"><div class="row"><div class="col-md-6" id="footer"></div><div class="col-md-18"><span class="page_generated">Page generated: Apr 25, 2016 1:01:45 PM</span><span class="rest_api"><a href="api/">REST API</a></span><span class="jenkins_ver"><a href="http://jenkins-ci.org/">Jenkins ver. 1.643</a></span></div></div></div></footer></body></html>}}

          David Weintraub added a comment - - edited Yes. The API Token is failing: This works: $ curl -u $user_id:$password $JENKINS_URL/job/$project/$build_no/api/json?tree=keepLog {"keepLog":false} This fails with a bad login: $ curl -u $user_id:invalid_password $JENKINS_URL/job/$project/$build_no/api/json?tree=keepLog {"keepLog":false} {{tml><head><title>Apache Tomcat/7.0.27 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} A {color : black;} A.name {color : black;} HR {color : #525D76;} --></style> </head><body><h1>HTTP Status 401 - Invalid password/token for user: svc-relmag2</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>Invalid password/token for user: svc-relmag2</u></p><p><b>description</b> <u>This request requires HTTP authentication (Invalid password/token for user: svc-relmag2).</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.27</h3></body></html>}} This fails completely: {{$ curl -u $user_id:$api_token $JENKINS_URL/job/$project/$build_no/api/json?tree=keepLog <!DOCTYPE html><html><head resURL="/jenkins/static/8607eae1"> <title>Jenkins [Jenkins] </title><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/css/style.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/css/color.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/css/responsive-grid.css" /><link rel="shortcut icon" type="image/vnd.microsoft.icon" href="/jenkins/static/8607eae1/favicon.ico" /><link color="black" rel="mask-icon" href="/jenkins/images/mask-icon.svg" /><script>var isRunAsTest=false; var rootURL="/jenkins"; var resURL="/jenkins/static/8607eae1";</script><script src="/jenkins/static/8607eae1/scripts/prototype.js" type="text/javascript"></script><script src="/jenkins/static/8607eae1/scripts/behavior.js" type="text/javascript"></script><script src='/jenkins/adjuncts/8607eae1/org/kohsuke/stapler/bind.js' type='text/javascript'></script><script src="/jenkins/static/8607eae1/scripts/yui/yahoo/yahoo-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/dom/dom-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/event/event-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/animation/animation-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/dragdrop/dragdrop-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/container/container-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/connection/connection-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/datasource/datasource-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/autocomplete/autocomplete-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/menu/menu-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/element/element-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/button/button-min.js"></script><script src="/jenkins/static/8607eae1/scripts/yui/storage/storage-min.js"></script><script src="/jenkins/static/8607eae1/scripts/hudson-behavior.js" type="text/javascript"></script><script src="/jenkins/static/8607eae1/scripts/sortable.js" type="text/javascript"></script><script>crumb.init("", "");</script><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/scripts/yui/container/assets/container.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/scripts/yui/assets/skins/sam/skin.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/scripts/yui/container/assets/skins/sam/container.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/scripts/yui/button/assets/skins/sam/button.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/8607eae1/scripts/yui/menu/assets/skins/sam/menu.css" /><meta name="ROBOTS" content="INDEX,NOFOLLOW" /></head><body data-model-type="hudson.model.Hudson" id="jenkins" data-version="jenkins-1.643" class="yui-skin-sam jenkins-1.643"><a href="#skip2content" class="skiplink">Skip to content</a><div id="page-head"><div id="header"><div class="logo"><a id="jenkins-home-link" href="/jenkins/"><img id="jenkins-head-icon" alt="title" src="/jenkins/static/8607eae1/images/headshot.png" /><img id="jenkins-name-icon" height="34" alt="title" width="139" src="/jenkins/static/8607eae1/images/title.png" /></a></div><div class="login"> <a href="/jenkins/login?from=%2Fjenkins%2Fjob%2FAdmin-CoreServices-5.5.5%2F50%2Fapi%2Fjson"><b>log in</b></a></div><div class="searchbox hidden-xs"><form style="position:relative;" name="search" action="/jenkins/search/" class="no-json" method="get"><div id="search-box-minWidth"></div><div id="search-box-sizer"></div><div id="searchform"><input id="search-box" placeholder="search" name="q" class="has-default-text" /> <a href="http://wiki.jenkins-ci.org/display/JENKINS/Search+Box"><img style="width: 16px; height: 16px; " class="icon-help icon-sm" src="/jenkins/static/8607eae1/images/16x16/help.png" /></a><div id="search-box-completion"></div><script>createSearchBox("/jenkins/search/");</script></div></form></div></div><div id="breadcrumbBar"><tr id="top-nav"><td id="left-top-nav" colspan="2"><link rel='stylesheet' href='/jenkins/adjuncts/8607eae1/lib/layout/breadcrumbs.css' type='text/css' /><script src='/jenkins/adjuncts/8607eae1/lib/layout/breadcrumbs.js' type='text/javascript'></script><div class="top-sticker noedge"><div class="top-sticker-inner"><div id="right-top-nav"></div><ul id="breadcrumbs"><li class="item"><a class="model-link inside" href="/jenkins/">Jenkins</a></li><li class="children" href="/jenkins/"></li></ul><div id="breadcrumb-menu-target"></div></div></div></td></tr></div></div><div id="page-body" class="clear"><div id="side-panel"><div class="task"><a class="task-icon-link" href="http://jenkins-ci.org/"><img style="width: 24px; height: 24px; width: 24px; height: 24px; margin: 2px;" class="icon-next icon-md" src="/jenkins/static/8607eae1/images/24x24/next.png" /></a> <a class="task-link" href="http://jenkins-ci.org/">Jenkins project</a></div><div class="task"><a class="task-icon-link" href="http://issues.jenkins-ci.org/"><img style="width: 24px; height: 24px; width: 24px; height: 24px; margin: 2px;" class="icon-gear2 icon-md" src="/jenkins/static/8607eae1/images/24x24/gear2.png" /></a> <a class="task-link" href="http://issues.jenkins-ci.org/">Bug tracker</a></div><div class="task"><a class="task-icon-link" href="http://jenkins-ci.org/content/mailing-lists"><img style="width: 24px; height: 24px; width: 24px; height: 24px; margin: 2px;" class="icon-search icon-md" src="/jenkins/static/8607eae1/images/24x24/search.png" /></a> <a class="task-link" href="http://jenkins-ci.org/content/mailing-lists">Mailing Lists</a></div><div class="task"><a class="task-icon-link" href="https://twitter.com/jenkinsci"><img style="width: 24px; height: 24px; width: 24px; height: 24px; margin: 2px;" class="icon-user icon-md" src="/jenkins/static/8607eae1/images/24x24/user.png" /></a> <a class="task-link" href="https://twitter.com/jenkinsci">Twitter: @jenkinsci</a></div></div><div id="main-panel"><a name="skip2content"></a><h1 style="text-align: center"><img height="179" width="154" src="/jenkins/static/8607eae1/images/rage.png" /><span style="font-size:50px"> Oops!</span></h1><div id="error-description"><p>A problem occurred while processing the request. Please check <a href="https://issues.jenkins-ci.org/">our bug tracker</a> to see if a similar problem has already been reported. If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem. If you think this is a new issue, please file a new issue. When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins. <a href="http://jenkins-ci.org/content/mailing-lists">The users list</a> might be also useful in understanding what has happened.</p><h2>Stack trace</h2><pre style="margin:2em; clear:both">hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed caching user svc-relmag2; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Recursive load at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:194) at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:54) at jenkins.security.ImpersonatingUserDetailsService.loadUserByUsername(ImpersonatingUserDetailsService.java:32) at hudson.model.User.impersonate(User.java:309) at jenkins.security.BasicHeaderApiTokenAuthenticator.authenticate(BasicHeaderApiTokenAuthenticator.java:31) at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:79) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Recursive load at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2234) 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:136) ... 36 more Caused by: java.lang.IllegalStateException: Recursive load at com.google.common.base.Preconditions.checkState(Preconditions.java:145) at com.google.common.cache.LocalCache$Segment.waitForLoadingValue(LocalCache.java:2330) 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:302) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:269) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.access$100(ActiveDirectoryUnixAuthenticationProvider.java:72) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider$1.call(ActiveDirectoryUnixAuthenticationProvider.java:147) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider$1.call(ActiveDirectoryUnixAuthenticationProvider.java:136) at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4767) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228) ... 39 more </pre></div></div></div><footer><div class="container-fluid"><div class="row"><div class="col-md-6" id="footer"></div><div class="col-md-18"><span class="page_generated">Page generated: Apr 25, 2016 1:01:45 PM</span><span class="rest_api"><a href="api/">REST API</a></span><span class="jenkins_ver"><a href="http://jenkins-ci.org/">Jenkins ver. 1.643</a></span></div></div></div></footer></body></html>}}

          One more verification: Changing a single character in the API key changes the error from the error to an invalid login.

          David Weintraub added a comment - One more verification: Changing a single character in the API key changes the error from the error to an invalid login.

          Daniel Beck added a comment -

          Looks more like an AD plugin problem

          Daniel Beck added a comment - Looks more like an AD plugin problem

            Unassigned Unassigned
            dweintraub David Weintraub
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: