-
Bug
-
Resolution: Unresolved
-
Critical
-
None
-
Windows 2012 Server
Jenkins ver. 1.656
Active Directory plugin ver. 1.44
-
Powered by SuggestiMate
After upgrading Active Directory plugin ver. 1.43 to 1.44 we get a message "Failed to test the validity of the user name ..." on project based matrix settings, because our LDAP users and groups cannot be verified anymore.
We have an AD-Setup with an entered domain only (in v1.43 this was enough) and the "Test" button returns "success"
Do we have to configure something elses after the latest release?
hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed caching user <here the user/group>; 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 hudson.plugins.active_directory.ActiveDirectorySecurityRealm.loadUserByUsername(ActiveDirectorySecurityRealm.java:731) at hudson.security.GlobalMatrixAuthorizationStrategy$DescriptorImpl.doCheckName_(GlobalMatrixAuthorizationStrategy.java:336) at hudson.security.GlobalMatrixAuthorizationStrategy$DescriptorImpl.doCheckName(GlobalMatrixAuthorizationStrategy.java:314) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:320) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:163) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:233) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649) at org.kohsuke.stapler.Stapler.service(Stapler.java:238) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135) at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) 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.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) 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:724) 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) ... 79 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) ... 82 more
[JENKINS-34426] Changing project-based settings for AD-Groups shows error
schristou You are right. The problem is that there is a recursive cache.
I think I have already the fix for it.
zioschild Would you mind to connect with me by e-mail so we can ensure the issue is totally fix before releasing again?
send you a mail. hope it will not be blocked by my company security settings
zioschild Confirmed me by e-mail that the issue is fixed by applying https://github.com/jenkinsci/active-directory-plugin/pull/32
Code changed in jenkins
User: Felix Belzunce Arcos
Path:
src/main/java/hudson/plugins/active_directory/ActiveDirectoryUnixAuthenticationProvider.java
http://jenkins-ci.org/commit/active-directory-plugin/73f0ce177de9d259bbf2a9282c9550e192f86b22
Log:
Merge pull request #32 from fbelzunc/JENKINS-34426
[FIXED JENKINS-34426] LDAP users and groups cannot be verified anymore
Compare: https://github.com/jenkinsci/active-directory-plugin/compare/876a05dd4978...73f0ce177de9
I have the same issue but according to a stack trace it happens in a different place
Environment: freebsd 10.3-RELEASE-p2
Jenkins: 2.3
AD plugin: 1.45
java.vm.name: OpenJDK 64-Bit Server VM
java.vm.version: 25.77-b03
Failed to retrieve user <user> hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed because there was a problem caching user <user>; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Recursive load at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:340) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:199) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:141) at org.acegisecurity.providers.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:122) at org.acegisecurity.providers.ProviderManager.doAuthentication(ProviderManager.java:200) at org.acegisecurity.AbstractAuthenticationManager.authenticate(AbstractAuthenticationManager.java:47) at org.acegisecurity.ui.webapp.AuthenticationProcessingFilter.attemptAuthentication(AuthenticationProcessingFilter.java:74) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:252) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) 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.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:499) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 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:232) ... 40 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:232) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:199) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:141) at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:54) at hudson.plugins.active_directory.ActiveDirectorySecurityRealm.loadUserByUsername(ActiveDirectorySecurityRealm.java:731) at hudson.model.User$UserIDCanonicalIdResolver.resolveCanonicalId(User.java:1048) at hudson.model.User.get(User.java:394) at hudson.model.User.get(User.java:363) at hudson.model.User.get(User.java:483) at hudson.plugins.active_directory.ActiveDirectoryUserDetail.getJenkinsUser(ActiveDirectoryUserDetail.java:177) at hudson.plugins.active_directory.ActiveDirectoryUserDetail.updateUserInfo(ActiveDirectoryUserDetail.java:188) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider$1.call(ActiveDirectoryUnixAuthenticationProvider.java:315) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider$1.call(ActiveDirectoryUnixAuthenticationProvider.java:232) 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) ... 43 more
I'm seeing the same error occur during new user signup.
Authentication is working fine, then the cache/recursive load exception hits.
Environment: windows server 2012R2
Jenkins: 2.3
AD plugin: 1.45
May 13, 2016 2:18:52 PM FINE hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider
Failed to retrieve user [username]
hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed because there was a problem caching user [username]; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Recursive load
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:340)
The issue is exposed here:
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:232) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:199) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:141) at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:54) at hudson.plugins.active_directory.ActiveDirectorySecurityRealm.loadUserByUsername(ActiveDirectorySecurityRealm.java:731) at hudson.model.User$UserIDCanonicalIdResolver.resolveCanonicalId(User.java:1048) at hudson.model.User.get(User.java:394) at hudson.model.User.get(User.java:363) at hudson.model.User.get(User.java:483) at hudson.plugins.active_directory.ActiveDirectoryUserDetail.getJenkinsUser(ActiveDirectoryUserDetail.java:177) at hudson.plugins.active_directory.ActiveDirectoryUserDetail.updateUserInfo(ActiveDirectoryUserDetail.java:188) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider$1.call(ActiveDirectoryUnixAuthenticationProvider.java:315) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider$1.call(ActiveDirectoryUnixAuthenticationProvider.java:232) 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) ... 43 more
and it is produced because of SECURITY-243 - https://github.com/jenkinsci/jenkins/blob/jenkins-2.3/core/src/main/java/hudson/model/User.java#L1048
Which is producing a recursive load.
This issue only happens with Jenkins > 2.0
Log-in for new sing ups look broken as well.
I am working on a fix here:
https://github.com/jenkinsci/active-directory-plugin/pull/34
I am seeing this issue with the LTS stream as well.
Jenkins ver. 1.651.2
AD Plugin 1.45
Configuration is
<securityRealm class="hudson.plugins.active_directory.ActiveDirectorySecurityRealm" plugin="active-directory@1.45">
<domain>xxx</domain>
<bindName>xxx</bindName>
<bindPassword>xxx</bindPassword>
<groupLookupStrategy>RECURSIVE</groupLookupStrategy>
<removeIrrelevantGroups>false</removeIrrelevantGroups>
</securityRealm>
Existing users can still login, but new users cannot. New users are also shown as invalid on the Global Security page.
—
Failed to test the validity of the user name <userid>
hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed because there was a problem caching user <userid>; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Recursive load
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:340)
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:199)
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:141)
at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:54)
at hudson.plugins.active_directory.ActiveDirectorySecurityRealm.loadUserByUsername(ActiveDirectorySecurityRealm.java:731)
at hudson.security.GlobalMatrixAuthorizationStrategy$DescriptorImpl.doCheckName_(GlobalMatrixAuthorizationStrategy.java:336)
at hudson.security.GlobalMatrixAuthorizationStrategy$DescriptorImpl.doCheckName(GlobalMatrixAuthorizationStrategy.java:314)
at sun.reflect.GeneratedMethodAccessor91.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:320)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:163)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:233)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
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.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
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:232)
... 80 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:232)
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:199)
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:141)
at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:54)
at hudson.plugins.active_directory.ActiveDirectorySecurityRealm.loadUserByUsername(ActiveDirectorySecurityRealm.java:731)
at hudson.model.User$UserIDCanonicalIdResolver.resolveCanonicalId(User.java:1049)
at hudson.model.User.get(User.java:395)
at hudson.model.User.get(User.java:364)
at hudson.model.User.get(User.java:484)
at hudson.plugins.active_directory.ActiveDirectoryUserDetail.getJenkinsUser(ActiveDirectoryUserDetail.java:177)
at hudson.plugins.active_directory.ActiveDirectoryUserDetail.updateUserInfo(ActiveDirectoryUserDetail.java:188)
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider$1.call(ActiveDirectoryUnixAuthenticationProvider.java:315)
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider$1.call(ActiveDirectoryUnixAuthenticationProvider.java:232)
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)
... 83 more
billy_foss ph0rman druid Unfortunately, my laptop is broken and I cannot correctly test the fix I am doing in https://github.com/jenkinsci/active-directory-plugin/pull/34
Would you mind to use the link below to test the fix to this issue before I release it, please?
After it, please confirm. if it works or not correctly
I am seeing better results for users that were not authenticating previously.
However, I am seeing the following in my jenkins.log
(This is with Jenkins ver. 1.651.2)
May 18, 2016 12:54:03 PM hudson.plugins.active_directory.ActiveDirectoryUserDetail getJenkinsUser
WARNING: There was a problem obtaining the Jenkins user <userid> by Id
java.lang.IllegalArgumentException: wrong number of arguments
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at hudson.plugins.active_directory.ActiveDirectoryUserDetail.getJenkinsUser(ActiveDirectoryUserDetail.java:182)
at hudson.plugins.active_directory.ActiveDirectoryUserDetail.updateUserInfo(ActiveDirectoryUserDetail.java:205)
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:232)
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:199)
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:141)
at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:54)
at hudson.plugins.active_directory.ActiveDirectorySecurityRealm.loadUserByUsername(ActiveDirectorySecurityRealm.java:733)
at hudson.security.GlobalMatrixAuthorizationStrategy$DescriptorImpl.doCheckName_(GlobalMatrixAuthorizationStrategy.java:336)
at hudson.security.GlobalMatrixAuthorizationStrategy$DescriptorImpl.doCheckName(GlobalMatrixAuthorizationStrategy.java:314)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:320)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:163)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:233)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
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.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
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)
So on the Global Security config page I am able to see the progress as Jenkins validates each user in the Matrix-based security listing. The new users are validated there. However, the new users still cannot login to Jenkins.
I did more clean up and tested again. Our new users can login now.
We are still getting the warning, but login is working
May 18, 2016 2:19:45 PM hudson.plugins.active_directory.ActiveDirectoryUserDetail getJenkinsUser
WARNING: There was a problem obtaining the Jenkins user <userid> by Id
Can you test latest changes in https://jenkins.ci.cloudbees.com/job/plugins/job/active-directory-plugin/236/org.jenkins-ci.plugins$active-directory/artifact/org.jenkins-ci.plugins/active-directory/1.46-SNAPSHOT/active-directory-1.46-SNAPSHOT.hpi and copy/paste the full stacktrace if the issue happens again, please?
billyfoss nevermind - I saw the problem. I will fix it very soon.
billy_foss Can you try https://jenkins.ci.cloudbees.com/job/plugins/job/active-directory-plugin/238/org.jenkins-ci.plugins$active-directory/artifact/org.jenkins-ci.plugins/active-directory/1.46-SNAPSHOT/active-directory-1.46-SNAPSHOT.hpi ??
It should be the definitive fix - if you confirm me it is fine I will release it tomorrow.
I applied the patch and I don't see any exceptions on login or on viewing the Configure Global Security page. I can login and I can add a new user which appears to resolve too.
Thank you so much,
Billy
Code changed in jenkins
User: Felix Belzunce Arcos
Path:
src/main/java/hudson/plugins/active_directory/ActiveDirectoryUnixAuthenticationProvider.java
src/main/java/hudson/plugins/active_directory/ActiveDirectoryUserDetail.java
http://jenkins-ci.org/commit/active-directory-plugin/57f4d97b7b14985272427e461c7d19d90a98fbd4
Log:
JENKINS-34426 Fix to handle SECURITY-243 (#34)
I am using AD 1.47, with Jenkins 1.651.3, and I see this error (or something similar).
My message is
FATAL: Authentication failed because there was a problem caching user ; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: com4j.ComException: 8007203e The search filter cannot be recognized. : The search filter cannot be recognized. : .\invoke.cpp:517
hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed because there was a problem caching user ; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: com4j.ComException: 8007203e The search filter cannot be recognized. : The search filter cannot be recognized. : .\invoke.cpp:517 at hudson.plugins.active_directory.ActiveDirectoryAuthenticationProvider.retrieveUser(ActiveDirectoryAuthenticationProvider.java:209) at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:54)
Still s problem with AD 1.47 and Jenkins 2.8, occurs only when using SCM "UCM Clearcase" and NOT when using SCM "Base ClearCase".
{{FATAL: Authentication failed because there was a problem caching user ; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: com4j.ComException: 8007203e Der Suchfilter wurde nicht erkannt. : Der Suchfilter wurde nicht erkannt. : .\invoke.cpp:517
hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed because there was a problem caching user ; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: com4j.ComException: 8007203e Der Suchfilter wurde nicht erkannt. : Der Suchfilter wurde nicht erkannt. : .\invoke.cpp:517
at hudson.plugins.active_directory.ActiveDirectoryAuthenticationProvider.retrieveUser(ActiveDirectoryAuthenticationProvider.java:209)
at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:54)
at hudson.plugins.active_directory.ActiveDirectorySecurityRealm.loadUserByUsername(ActiveDirectorySecurityRealm.java:733)
at hudson.model.User$UserIDCanonicalIdResolver.resolveCanonicalId(User.java:1050)
at hudson.model.User.get(User.java:395)
at hudson.model.User.get(User.java:364)
at hudson.model.User.get(User.java:484)
at hudson.plugins.clearcase.ucm.UcmActivity.getAuthor(UcmActivity.java:247)
at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:350)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:669)
at hudson.model.Run.execute(Run.java:1766)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:410)
Caused by: com.google.common.util.concurrent.UncheckedExecutionException: com4j.ComException: 8007203e Der Suchfilter wurde nicht erkannt. : Der Suchfilter wurde nicht erkannt. : .\invoke.cpp:517
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.ActiveDirectoryAuthenticationProvider.retrieveUser(ActiveDirectoryAuthenticationProvider.java:142)
... 13 more
Caused by: com4j.ComException: 8007203e Der Suchfilter wurde nicht erkannt. : Der Suchfilter wurde nicht erkannt. : .\invoke.cpp:517
at com4j.Wrapper.invoke(Wrapper.java:187)
at com.sun.proxy.$Proxy83.eof(Unknown Source)
at hudson.plugins.active_directory.ActiveDirectoryAuthenticationProvider.getDnOfUserOrGroup(ActiveDirectoryAuthenticationProvider.java:274)
at hudson.plugins.active_directory.ActiveDirectoryAuthenticationProvider.access$000(ActiveDirectoryAuthenticationProvider.java:67)
at hudson.plugins.active_directory.ActiveDirectoryAuthenticationProvider$1.call(ActiveDirectoryAuthenticationProvider.java:149)
at hudson.plugins.active_directory.ActiveDirectoryAuthenticationProvider$1.call(ActiveDirectoryAuthenticationProvider.java:142)
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)
... 16 more
Caused by: com4j.ComException: 8007203e Der Suchfilter wurde nicht erkannt. : Der Suchfilter wurde nicht erkannt. : .\invoke.cpp:517
at com4j.Native.invoke(Native Method)
at com4j.StandardComMethod.invoke(StandardComMethod.java:35)
at com4j.Wrapper$InvocationThunk.call(Wrapper.java:356)
at com4j.Task.invoke(Task.java:50)
at com4j.ComThread.run0(ComThread.java:172)
at com4j.ComThread.run(ComThread.java:153)}}
We are seeing the same issue with Git plugin, seems to be while it's trying to get the author of the SCM Changes occurred in the end of the builds after the publishers ran
Here are the exceptions on 2 different jobs and slaves
Thanks!
Active Directory 2.4
Git Plugin 3.0.5
on OSX
FATAL: hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed because there was a problem caching user Alok Srivastava; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: com4j.ExecutionException: java.lang.InterruptedException com.google.common.util.concurrent.UncheckedExecutionException: hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed because there was a problem caching user Alok Srivastava; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: com4j.ExecutionException: java.lang.InterruptedException 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 jenkins.security.UserDetailsCache.loadUserByUsername(UserDetailsCache.java:127) at hudson.model.User$UserIDCanonicalIdResolver.resolveCanonicalId(User.java:1064) at hudson.model.User.get(User.java:398) at hudson.model.User.get(User.java:367) at hudson.plugins.git.GitChangeSet.findOrCreateUser(GitChangeSet.java:379) at hudson.plugins.git.GitChangeSet.getAuthor(GitChangeSet.java:448) at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:350) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:669) at hudson.model.Run.execute(Run.java:1745) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:404) Caused by: hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed because there was a problem caching user Alok Srivastava; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: com4j.ExecutionException: java.lang.InterruptedException at hudson.plugins.active_directory.ActiveDirectoryAuthenticationProvider.retrieveUser(ActiveDirectoryAuthenticationProvider.java:210) at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:55) at hudson.plugins.active_directory.ActiveDirectorySecurityRealm.loadUserByUsername(ActiveDirectorySecurityRealm.java:814) at jenkins.security.UserDetailsCache$Retriever.call(UserDetailsCache.java:172) at jenkins.security.UserDetailsCache$Retriever.call(UserDetailsCache.java:161) 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) ... 14 more Caused by: com.google.common.util.concurrent.UncheckedExecutionException: com4j.ExecutionException: java.lang.InterruptedException 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.ActiveDirectoryAuthenticationProvider.retrieveUser(ActiveDirectoryAuthenticationProvider.java:143) ... 23 more Caused by: com4j.ExecutionException: java.lang.InterruptedException at com4j.ComThread.execute(ComThread.java:236) at com4j.Task.execute(Task.java:40) at com4j.Wrapper$InvocationThunk.invoke(Wrapper.java:345) at com4j.Wrapper.invoke(Wrapper.java:184) at com.sun.proxy.$Proxy77.eof(Unknown Source) at hudson.plugins.active_directory.ActiveDirectoryAuthenticationProvider.getDnOfUserOrGroup(ActiveDirectoryAuthenticationProvider.java:275) at hudson.plugins.active_directory.ActiveDirectoryAuthenticationProvider.access$000(ActiveDirectoryAuthenticationProvider.java:68) at hudson.plugins.active_directory.ActiveDirectoryAuthenticationProvider$1.call(ActiveDirectoryAuthenticationProvider.java:150) at hudson.plugins.active_directory.ActiveDirectoryAuthenticationProvider$1.call(ActiveDirectoryAuthenticationProvider.java:143) 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) ... 26 more Caused by: java.lang.InterruptedException at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at com4j.ComThread.execute(ComThread.java:227) ... 39 more
on LINUX
FATAL: hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed because there was a problem caching user *******; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: com4j.ComException: 80040e14 (Unknown error) : One or more errors occurred during processing of command. : .\invoke.cpp:517 com.google.common.util.concurrent.UncheckedExecutionException: hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed because there was a problem caching user *******; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: com4j.ComException: 80040e14 (Unknown error) : One or more errors occurred during processing of command. : .\invoke.cpp:517 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 jenkins.security.UserDetailsCache.loadUserByUsername(UserDetailsCache.java:127) at hudson.model.User$UserIDCanonicalIdResolver.resolveCanonicalId(User.java:1064) at hudson.model.User.get(User.java:398) at hudson.model.User.get(User.java:367) at hudson.plugins.git.GitChangeSet.findOrCreateUser(GitChangeSet.java:379) at hudson.plugins.git.GitChangeSet.getAuthor(GitChangeSet.java:448) at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:350) at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:346) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:669) at hudson.model.Run.execute(Run.java:1745) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:404) Caused by: hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed because there was a problem caching user *******; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: com4j.ComException: 80040e14 (Unknown error) : One or more errors occurred during processing of command. : .\invoke.cpp:517 at hudson.plugins.active_directory.ActiveDirectoryAuthenticationProvider.retrieveUser(ActiveDirectoryAuthenticationProvider.java:210) at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:55) at hudson.plugins.active_directory.ActiveDirectorySecurityRealm.loadUserByUsername(ActiveDirectorySecurityRealm.java:814) at jenkins.security.UserDetailsCache$Retriever.call(UserDetailsCache.java:172) at jenkins.security.UserDetailsCache$Retriever.call(UserDetailsCache.java:161) 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) ... 15 more Caused by: com.google.common.util.concurrent.UncheckedExecutionException: com4j.ComException: 80040e14 (Unknown error) : One or more errors occurred during processing of command. : .\invoke.cpp:517 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.ActiveDirectoryAuthenticationProvider.retrieveUser(ActiveDirectoryAuthenticationProvider.java:143) ... 24 more Caused by: com4j.ComException: 80040e14 (Unknown error) : One or more errors occurred during processing of command. : .\invoke.cpp:517 at com4j.Wrapper.invoke(Wrapper.java:187) at com.sun.proxy.$Proxy86.execute(Unknown Source) at hudson.plugins.active_directory.ActiveDirectoryAuthenticationProvider.getDnOfUserOrGroup(ActiveDirectoryAuthenticationProvider.java:274) at hudson.plugins.active_directory.ActiveDirectoryAuthenticationProvider.access$000(ActiveDirectoryAuthenticationProvider.java:68) at hudson.plugins.active_directory.ActiveDirectoryAuthenticationProvider$1.call(ActiveDirectoryAuthenticationProvider.java:150) at hudson.plugins.active_directory.ActiveDirectoryAuthenticationProvider$1.call(ActiveDirectoryAuthenticationProvider.java:143) 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) ... 27 more Caused by: com4j.ComException: 80040e14 (Unknown error) : One or more errors occurred during processing of command. : .\invoke.cpp:517 at com4j.Native.invoke(Native Method) at com4j.StandardComMethod.invoke(StandardComMethod.java:35) at com4j.Wrapper$InvocationThunk.call(Wrapper.java:356) at com4j.Task.invoke(Task.java:50) at com4j.ComThread.run0(ComThread.java:172) at com4j.ComThread.run(ComThread.java:153)
I'm seeing this error as well. I recreated the job and the error went away for a bit but it's back!
Jenkins 2.89.2
Active Directory 2.6
Git Plugin 3.7.0
Caused: hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed because there was a problem caching user *****; nested exception is java.util.concurrent.ExecutionException: javax.naming.NamingException: [LDAP: error code 1 - 000004DC: LdapErr: DSID-0C0907C2, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v2580]; remaining name 'DC=*****,DC=com' at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:496) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:304) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:226) at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:55) at hudson.plugins.active_directory.ActiveDirectorySecurityRealm.loadUserByUsername(ActiveDirectorySecurityRealm.java:831) at jenkins.security.UserDetailsCache$Retriever.call(UserDetailsCache.java:172) at jenkins.security.UserDetailsCache$Retriever.call(UserDetailsCache.java:161) 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) Caused: com.google.common.util.concurrent.UncheckedExecutionException 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 jenkins.security.UserDetailsCache.loadUserByUsername(UserDetailsCache.java:127) at hudson.model.User$UserIDCanonicalIdResolver.resolveCanonicalId(User.java:1161) at hudson.model.User.get(User.java:415) at hudson.model.User.get(User.java:384) at hudson.plugins.git.GitChangeSet.findOrCreateUser(GitChangeSet.java:387) at hudson.plugins.git.GitChangeSet.getAuthor(GitChangeSet.java:463) at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:134) at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:341) at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:93) at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:330) at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:129) at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:341) at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:93) at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:330) at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:129) at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:341) at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:93) at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:330) at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:129) at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:341) at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:93) at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:330) at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:129) at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:341) at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:93) at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:330) at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:129) at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:341) at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:93) at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:330) at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:129) at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:341) at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:93) at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:330) at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:129) at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:341) at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:93) at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:330) at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:129) at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:341) at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:93) at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:330) at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:129) at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:341) at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:93) at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:330) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:639) at hudson.model.Run.execute(Run.java:1749) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:421)
tsquillario I'm seeing the exact same error at the very end of a job and it causes the job to fail.
I just installed and enabled the Active Directory plug in. Users can log in using AD creds but some builds (not all) fail with this error.
One of the jobs builds on a timer every hour and still errors out. It has the name of the user that last ran the job manually in the error message. Very strange that it would be trying to do anything with a users credentials that who didn't start the job.
I don't have the "Enable cache" checkbox checked in the Global security configuration.
Jenkins 2.80
Active Directory 2.6
Seeing same issue with some builds but not all.
- Jenkins 2.89.4
- Active Directory 2.6
same thing
- jenkins 2.107.3
- AD plugin 2.6
- java 1.8.0_162
- debian 8
Looks like the same issue I'm having.
My job consist of the SCM fetching code from a Git repo, and then during the build step it executes a few lines of bash code, something like this:
value=${input} python3 dosomething.py --parameter value
Even though the build step finishes successfully, the job throws this error:
FATAL: hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed because there was a problem caching user John Doe; nested exception is java.util.concurrent.ExecutionException: javax.naming.NamingException: [LDAP: error code 1 - 000004DC: LdapErr: DSID-0C090A22, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v3839]; remaining name 'DC=company,DC=com' <snip> Caused: java.util.concurrent.ExecutionException
Environment:
- Jenkins version: 2.129
- Active Directory plugin 2.8
- Git client plugin: 2.7.2
- Git plugin: 3.9.1
- OS: Debian 9
- "Enable cache" it not checked
I'm getting this on v2.11 and v2.10 (tried downgrading). I'm using role-based security as well.
I am getting the same issue, what is the fix around this, is there a temporary work around? The error message I am getting is the following.
FATAL: hudson.plugins.active_directory.CacheAuthenticationException: Authentication failed because there was a problem caching user ; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: com4j.ComException: 8007203e The search filter cannot be recognized. : The search filter cannot be recognized. : .\invoke.cpp:517 com4j.ComException: 8007203e The search filter cannot be recognized. : The search filter cannot be recognized. : .\invoke.cpp:517 at com4j.Native.invoke(Native Method) at com4j.StandardComMethod.invoke(StandardComMethod.java:35) at com4j.Wrapper$InvocationThunk.call(Wrapper.java:356) at com4j.Task.invoke(Task.java:50) at com4j.ComThread.run0(ComThread.java:172) at com4j.ComThread.run(ComThread.java:153)
It looks like the issue is there are two locations where the UserCache is being obtained:
https://github.com/jenkinsci/active-directory-plugin/blob/876a05dd49789008f5de89f742a68bbcd83e681d/src/main/java/hudson/plugins/active_directory/ActiveDirectoryUnixAuthenticationProvider.java#L302
and
https://github.com/jenkinsci/active-directory-plugin/blob/876a05dd49789008f5de89f742a68bbcd83e681d/src/main/java/hudson/plugins/active_directory/ActiveDirectoryUnixAuthenticationProvider.java#L136