com.cenqua.fisheye.user.AuthenticationException: Problem communicating with Crowd

Atlassian JIRA | Alex Wei [Atlassian] | 5 years ago
  1. 0

    When {{DefaultUserManager}} is being instantiated by Spring, the constructor calls {{upgradeData()}}, which calls {{removeDeletedAdminGroups()}}. {{removeDeletedAdminGroups()}} calls {{getExternalGroupNames()}}, which calls {{listGroupNames()}} to retrieve all the groups defined in Crowd if it's configured to use Crowd. This method calls the {{listGroupNames}} method on {{CrowdAuth}}. If Crowd is not up at that time, the {{CrowdClient}} throws an {{InvalidCrowdServiceException}}, which is rethrown as an {{AuthenticationException}}. {{listGroupNames}} method on {{DefaultUserManager}} swallows any exception thrown by {{CrowdAuth}} (though it logs it as an error) and return an empty list. Unfortunately, {{removeDeletedAdminGroups()}} method then assumes that there is no groups defined in Crowd and removes admin privileges for all groups that are not defined internally by FishEye. The following is the stack trace of the swallowed exception: {code}2012-01-05 16:18:05,780 ERROR [main ] fisheye.app DefaultUserManager-listGroupNames - Could not list groups for crowd com.cenqua.fisheye.user.AuthenticationException: Problem communicating with Crowd at com.cenqua.fisheye.user.crowd.CrowdAuth.listGroupNames(CrowdAuth.java:405) at com.cenqua.fisheye.user.DefaultUserManager.listGroupNames(DefaultUserManager.java:1110) at com.cenqua.fisheye.user.DefaultUserManager.getExternalGroupNames(DefaultUserManager.java:1102) at com.cenqua.fisheye.user.DefaultUserManager$3.read(DefaultUserManager.java:209) at com.cenqua.fisheye.user.DefaultUserManager$3.read(DefaultUserManager.java:205) at com.cenqua.fisheye.config.DB0Handle$1.read(DB0Handle.java:114) at com.cenqua.fisheye.config.DB0Handle.read(DB0Handle.java:81) at com.cenqua.fisheye.config.DB0Handle.read(DB0Handle.java:112) at com.cenqua.fisheye.user.DefaultUserManager.removeDeletedAdminGroups(DefaultUserManager.java:205) at com.cenqua.fisheye.user.DefaultUserManager.upgradeData(DefaultUserManager.java:157) at com.cenqua.fisheye.user.DefaultUserManager.<init>(DefaultUserManager.java:144) at com.cenqua.fisheye.user.DefaultUserManager.<init>(DefaultUserManager.java:124) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:126) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:108) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:280) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1003) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:907) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:844) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:786) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:703) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:795) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:723) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:196) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1003) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:907) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549) at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499) at com.cenqua.fisheye.web.jetty.FishEyeWebApplicationContext.doStart(FishEyeWebApplicationContext.java:27) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:224) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at com.cenqua.fisheye.web.WebServer.start(WebServer.java:276) at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:228) at com.cenqua.fisheye.ctl.Run.main(Run.java:77) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:98) at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:41) Caused by: com.atlassian.crowd.exception.InvalidCrowdServiceException: The following URL does not specify a valid Crowd User Management REST service: http://awei.jira-dev.com/crowd/rest/usermanagement/1/search?entity-type=group&start-index=0&max-results=-1 at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.executeCrowdServiceMethod(RestExecutor.java:443) at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.andReceive(RestExecutor.java:295) at com.atlassian.crowd.integration.rest.service.RestCrowdClient.searchGroupNames(RestCrowdClient.java:513) at com.cenqua.fisheye.user.crowd.CrowdAuth$5.call(CrowdAuth.java:400) at com.cenqua.fisheye.user.crowd.CrowdAuth$5.call(CrowdAuth.java:398) at com.cenqua.fisheye.user.crowd.CrowdAuth.withTimer(CrowdAuth.java:98) at com.cenqua.fisheye.user.crowd.CrowdAuth.listGroupNames(CrowdAuth.java:398) ... 70 more {code}

    Atlassian JIRA | 5 years ago | Alex Wei [Atlassian]
    com.cenqua.fisheye.user.AuthenticationException: Problem communicating with Crowd
  2. 0

    When {{DefaultUserManager}} is being instantiated by Spring, the constructor calls {{upgradeData()}}, which calls {{removeDeletedAdminGroups()}}. {{removeDeletedAdminGroups()}} calls {{getExternalGroupNames()}}, which calls {{listGroupNames()}} to retrieve all the groups defined in Crowd if it's configured to use Crowd. This method calls the {{listGroupNames}} method on {{CrowdAuth}}. If Crowd is not up at that time, the {{CrowdClient}} throws an {{InvalidCrowdServiceException}}, which is rethrown as an {{AuthenticationException}}. {{listGroupNames}} method on {{DefaultUserManager}} swallows any exception thrown by {{CrowdAuth}} (though it logs it as an error) and return an empty list. Unfortunately, {{removeDeletedAdminGroups()}} method then assumes that there is no groups defined in Crowd and removes admin privileges for all groups that are not defined internally by FishEye. The following is the stack trace of the swallowed exception: {code}2012-01-05 16:18:05,780 ERROR [main ] fisheye.app DefaultUserManager-listGroupNames - Could not list groups for crowd com.cenqua.fisheye.user.AuthenticationException: Problem communicating with Crowd at com.cenqua.fisheye.user.crowd.CrowdAuth.listGroupNames(CrowdAuth.java:405) at com.cenqua.fisheye.user.DefaultUserManager.listGroupNames(DefaultUserManager.java:1110) at com.cenqua.fisheye.user.DefaultUserManager.getExternalGroupNames(DefaultUserManager.java:1102) at com.cenqua.fisheye.user.DefaultUserManager$3.read(DefaultUserManager.java:209) at com.cenqua.fisheye.user.DefaultUserManager$3.read(DefaultUserManager.java:205) at com.cenqua.fisheye.config.DB0Handle$1.read(DB0Handle.java:114) at com.cenqua.fisheye.config.DB0Handle.read(DB0Handle.java:81) at com.cenqua.fisheye.config.DB0Handle.read(DB0Handle.java:112) at com.cenqua.fisheye.user.DefaultUserManager.removeDeletedAdminGroups(DefaultUserManager.java:205) at com.cenqua.fisheye.user.DefaultUserManager.upgradeData(DefaultUserManager.java:157) at com.cenqua.fisheye.user.DefaultUserManager.<init>(DefaultUserManager.java:144) at com.cenqua.fisheye.user.DefaultUserManager.<init>(DefaultUserManager.java:124) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:126) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:108) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:280) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1003) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:907) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:844) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:786) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:703) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:795) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:723) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:196) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1003) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:907) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549) at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499) at com.cenqua.fisheye.web.jetty.FishEyeWebApplicationContext.doStart(FishEyeWebApplicationContext.java:27) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:224) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at com.cenqua.fisheye.web.WebServer.start(WebServer.java:276) at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:228) at com.cenqua.fisheye.ctl.Run.main(Run.java:77) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:98) at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:41) Caused by: com.atlassian.crowd.exception.InvalidCrowdServiceException: The following URL does not specify a valid Crowd User Management REST service: http://awei.jira-dev.com/crowd/rest/usermanagement/1/search?entity-type=group&start-index=0&max-results=-1 at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.executeCrowdServiceMethod(RestExecutor.java:443) at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.andReceive(RestExecutor.java:295) at com.atlassian.crowd.integration.rest.service.RestCrowdClient.searchGroupNames(RestCrowdClient.java:513) at com.cenqua.fisheye.user.crowd.CrowdAuth$5.call(CrowdAuth.java:400) at com.cenqua.fisheye.user.crowd.CrowdAuth$5.call(CrowdAuth.java:398) at com.cenqua.fisheye.user.crowd.CrowdAuth.withTimer(CrowdAuth.java:98) at com.cenqua.fisheye.user.crowd.CrowdAuth.listGroupNames(CrowdAuth.java:398) ... 70 more {code}

    Atlassian JIRA | 5 years ago | Alex Wei [Atlassian]
    com.cenqua.fisheye.user.AuthenticationException: Problem communicating with Crowd
  3. 0

    h3.Steps to reproduce: # Configure Stash to use Crowd SSO # Make a script to start both Stash and Crowd at the same time # Stash will get the following error in the log: {noformat} 2013-05-27 22:02:13,690 INFO [http-bio-7990-exec-1] 1322x2x2 88.194.145.17,88.194.145.17 "GET /rest/capabilities HTTP/1.1" c.a.c.s.client.ClientPropertiesImpl Loading property: 'session.validationinterval' : '3' 2013-05-27 22:02:13,690 INFO [http-bio-7990-exec-1] 1322x2x2 88.194.145.17,88.194.145.17 "GET /rest/capabilities HTTP/1.1" c.a.c.s.client.ClientPropertiesImpl Failed to find value for property: cookie.domain 2013-05-27 22:02:33,844 DEBUG [http-bio-7990-exec-1] 1322x2x2 88.194.145.17,88.194.145.17 "GET /rest/capabilities HTTP/1.1" c.a.s.p.a.c.i.DefaultCrowdSsoService Could not retrieve SSO cookie configuration com.atlassian.crowd.exception.InvalidCrowdServiceException: The following URL does not specify a valid Crowd User Management REST service: http://localhost:8095/rest/usermanagement/1/config/cookie at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.executeCrowdServiceMethod(RestExecutor.java:455) ~[crowd-integration-client-rest-2.6.2-m4.jar:na] at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.andReceive(RestExecutor.java:341) ~[crowd-integration-client-rest-2.6.2-m4.jar:na] at com.atlassian.crowd.integration.rest.service.RestCrowdClient.getCookieConfiguration(RestCrowdClient.java:1017) ~[crowd-integration-client-rest-2.6.2-m4.jar:na] at com.atlassian.stash.plugin.auth.crowd.internal.DefaultCrowdSsoService.fetchCookieConfiguration(DefaultCrowdSsoService.java:155) [stash-auth-crowd-sso-2.4.2_1369112172000.jar:na] at com.atlassian.stash.plugin.auth.crowd.internal.DefaultCrowdSsoService.getConfiguration(DefaultCrowdSsoService.java:193) [stash-auth-crowd-sso-2.4.2_1369112172000.jar:na] {noformat} # Can't login to Stash with Crowd user anymore # From the log, Crowd has been successfully started but still can't login: {noformat} 2013-05-27 22:02:49,471 INFO [scheduler_Worker-4] c.a.c.d.DbCachingRemoteDirectory FULL synchronisation complete for directory [ 819201 ] in [ 39971ms ] ... 2013-05-27 22:02:52,613 DEBUG [http-bio-7990-exec-3] 1322x6x3 88.194.145.17,88.194.145.17 "GET /mvc/error404 HTTP/1.1" c.a.s.i.s.s.PluginAuthenticationProvider attempting authentication with authenticator com.atlassian.stash.stash-auth-crowd-sso:crowdSsoAuthHandler {noformat} # Login with internal user # Re-add the Crowd directory # Can login with Crowd user now This problem does not happen if Crowd is not started. Since this problem is intermittent, it might be Crowd is partly started that cause the problem.

    Atlassian JIRA | 4 years ago | Kah Loun Foong [Atlassian]
    com.atlassian.crowd.exception.InvalidCrowdServiceException: The following URL does not specify a valid Crowd User Management REST service: http://localhost:8095/rest/usermanagement/1/config/cookie
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    h3.Steps to reproduce: # Configure Stash to use Crowd SSO # Make a script to start both Stash and Crowd at the same time # Stash will get the following error in the log: {noformat} 2013-05-27 22:02:13,690 INFO [http-bio-7990-exec-1] 1322x2x2 88.194.145.17,88.194.145.17 "GET /rest/capabilities HTTP/1.1" c.a.c.s.client.ClientPropertiesImpl Loading property: 'session.validationinterval' : '3' 2013-05-27 22:02:13,690 INFO [http-bio-7990-exec-1] 1322x2x2 88.194.145.17,88.194.145.17 "GET /rest/capabilities HTTP/1.1" c.a.c.s.client.ClientPropertiesImpl Failed to find value for property: cookie.domain 2013-05-27 22:02:33,844 DEBUG [http-bio-7990-exec-1] 1322x2x2 88.194.145.17,88.194.145.17 "GET /rest/capabilities HTTP/1.1" c.a.s.p.a.c.i.DefaultCrowdSsoService Could not retrieve SSO cookie configuration com.atlassian.crowd.exception.InvalidCrowdServiceException: The following URL does not specify a valid Crowd User Management REST service: http://localhost:8095/rest/usermanagement/1/config/cookie at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.executeCrowdServiceMethod(RestExecutor.java:455) ~[crowd-integration-client-rest-2.6.2-m4.jar:na] at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.andReceive(RestExecutor.java:341) ~[crowd-integration-client-rest-2.6.2-m4.jar:na] at com.atlassian.crowd.integration.rest.service.RestCrowdClient.getCookieConfiguration(RestCrowdClient.java:1017) ~[crowd-integration-client-rest-2.6.2-m4.jar:na] at com.atlassian.stash.plugin.auth.crowd.internal.DefaultCrowdSsoService.fetchCookieConfiguration(DefaultCrowdSsoService.java:155) [stash-auth-crowd-sso-2.4.2_1369112172000.jar:na] at com.atlassian.stash.plugin.auth.crowd.internal.DefaultCrowdSsoService.getConfiguration(DefaultCrowdSsoService.java:193) [stash-auth-crowd-sso-2.4.2_1369112172000.jar:na] {noformat} # Can't login to Stash with Crowd user anymore # From the log, Crowd has been successfully started but still can't login: {noformat} 2013-05-27 22:02:49,471 INFO [scheduler_Worker-4] c.a.c.d.DbCachingRemoteDirectory FULL synchronisation complete for directory [ 819201 ] in [ 39971ms ] ... 2013-05-27 22:02:52,613 DEBUG [http-bio-7990-exec-3] 1322x6x3 88.194.145.17,88.194.145.17 "GET /mvc/error404 HTTP/1.1" c.a.s.i.s.s.PluginAuthenticationProvider attempting authentication with authenticator com.atlassian.stash.stash-auth-crowd-sso:crowdSsoAuthHandler {noformat} # Login with internal user # Re-add the Crowd directory # Can login with Crowd user now This problem does not happen if Crowd is not started. Since this problem is intermittent, it might be Crowd is partly started that cause the problem.

    Atlassian JIRA | 4 years ago | Kah Loun Foong [Atlassian]
    com.atlassian.crowd.exception.InvalidCrowdServiceException: The following URL does not specify a valid Crowd User Management REST service: http://localhost:8095/rest/usermanagement/1/config/cookie

    Root Cause Analysis

    1. com.atlassian.crowd.exception.InvalidCrowdServiceException

      The following URL does not specify a valid Crowd User Management REST service: http://awei.jira-dev.com/crowd/rest/usermanagement/1/search?entity-type=group&start-index=0&max-results=-1

      at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.executeCrowdServiceMethod()
    2. com.atlassian.crowd
      RestCrowdClient.searchGroupNames
      1. com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.executeCrowdServiceMethod(RestExecutor.java:443)
      2. com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.andReceive(RestExecutor.java:295)
      3. com.atlassian.crowd.integration.rest.service.RestCrowdClient.searchGroupNames(RestCrowdClient.java:513)
      3 frames
    3. com.cenqua.fisheye
      DefaultUserManager.<init>
      1. com.cenqua.fisheye.user.crowd.CrowdAuth$5.call(CrowdAuth.java:400)
      2. com.cenqua.fisheye.user.crowd.CrowdAuth$5.call(CrowdAuth.java:398)
      3. com.cenqua.fisheye.user.crowd.CrowdAuth.withTimer(CrowdAuth.java:98)
      4. com.cenqua.fisheye.user.crowd.CrowdAuth.listGroupNames(CrowdAuth.java:398)
      5. com.cenqua.fisheye.user.DefaultUserManager.listGroupNames(DefaultUserManager.java:1110)
      6. com.cenqua.fisheye.user.DefaultUserManager.getExternalGroupNames(DefaultUserManager.java:1102)
      7. com.cenqua.fisheye.user.DefaultUserManager$3.read(DefaultUserManager.java:209)
      8. com.cenqua.fisheye.user.DefaultUserManager$3.read(DefaultUserManager.java:205)
      9. com.cenqua.fisheye.config.DB0Handle$1.read(DB0Handle.java:114)
      10. com.cenqua.fisheye.config.DB0Handle.read(DB0Handle.java:81)
      11. com.cenqua.fisheye.config.DB0Handle.read(DB0Handle.java:112)
      12. com.cenqua.fisheye.user.DefaultUserManager.removeDeletedAdminGroups(DefaultUserManager.java:205)
      13. com.cenqua.fisheye.user.DefaultUserManager.upgradeData(DefaultUserManager.java:157)
      14. com.cenqua.fisheye.user.DefaultUserManager.<init>(DefaultUserManager.java:144)
      15. com.cenqua.fisheye.user.DefaultUserManager.<init>(DefaultUserManager.java:124)
      15 frames
    4. Java RT
      Constructor.newInstance
      1. sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      2. sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
      3. sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
      4. java.lang.reflect.Constructor.newInstance(Constructor.java:513)
      4 frames
    5. Spring Beans
      DefaultListableBeanFactory.preInstantiateSingletons
      1. org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:126)
      2. org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:108)
      3. org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:280)
      4. org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1003)
      5. org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:907)
      6. org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
      7. org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
      8. org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
      9. org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
      10. org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
      11. org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
      12. org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:844)
      13. org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:786)
      14. org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:703)
      15. org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:795)
      16. org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:723)
      17. org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:196)
      18. org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1003)
      19. org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:907)
      20. org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
      21. org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
      22. org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
      23. org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
      24. org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
      25. org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
      26. org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
      26 frames
    6. Spring Context
      AbstractApplicationContext.refresh
      1. org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
      2. org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
      2 frames
    7. Spring
      ContextLoaderListener.contextInitialized
      1. org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
      2. org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
      3. org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
      3 frames
    8. Jetty Server
      WebAppContext.doStart
      1. org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549)
      2. org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
      3. org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
      4. org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
      5. org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
      5 frames
    9. com.cenqua.fisheye
      FishEyeWebApplicationContext.doStart
      1. com.cenqua.fisheye.web.jetty.FishEyeWebApplicationContext.doStart(FishEyeWebApplicationContext.java:27)
      1 frame
    10. Jetty Util
      AbstractLifeCycle.start
      1. org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
      1 frame
    11. Jetty Server
      ContextHandlerCollection.doStart
      1. org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
      2. org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
      2 frames
    12. Jetty Util
      AbstractLifeCycle.start
      1. org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
      1 frame
    13. Jetty Server
      HandlerCollection.doStart
      1. org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
      1 frame
    14. Jetty Util
      AbstractLifeCycle.start
      1. org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
      1 frame
    15. Jetty Server
      Server.doStart
      1. org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
      2. org.mortbay.jetty.Server.doStart(Server.java:224)
      2 frames
    16. Jetty Util
      AbstractLifeCycle.start
      1. org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
      1 frame
    17. com.cenqua.fisheye
      Run.main
      1. com.cenqua.fisheye.web.WebServer.start(WebServer.java:276)
      2. com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:228)
      3. com.cenqua.fisheye.ctl.Run.main(Run.java:77)
      3 frames
    18. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      4. java.lang.reflect.Method.invoke(Method.java:597)
      4 frames
    19. com.cenqua.fisheye
      FishEyeCtl.main
      1. com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:98)
      2. com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:41)
      2 frames