Invalid password problem.
Asked by John Reeher:

Clean install of crowd, ran through wizard, set the admin account as username=admin, password=d4@l8G)ccXRJ

When I try to log in using these credentials, it fails, the error log shows the following stack trace:

```
2012-12-20 16:22:48,452 http-8095-3 ERROR crowd.integration.springsecurity.CrowdSSOAuthenticationProcessingFilter Unable to unset Crowd SSO tokenorg.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: ParseError at row,col : 1,50Message: White spaces are required between publicId and systemId.org.codehaus.xfire.fault.XFireFault: ParseError at row,col : 1,50Message: White spaces are required between publicId and systemId.at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)at org.codehaus.xfire.client.Client.onReceive(Client.java:410)at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:139)at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)at org.codehaus.xfire.client.Client.invoke(Client.java:336)at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)at $Proxy142.authenticateApplication(Unknown Source)at com.atlassian.crowd.service.soap.client.SecurityServerClientImpl.authenticate(SecurityServerClientImpl.java:229)at com.atlassian.crowd.service.soap.client.SecurityServerClientImpl.getSoapApplicationToken(SecurityServerClientImpl.java:214)at com.atlassian.crowd.service.soap.client.SecurityServerClientImpl.getCookieInfo(SecurityServerClientImpl.java:1523)at com.atlassian.crowd.integration.http.HttpAuthenticatorImpl.invalidateClient(HttpAuthenticatorImpl.java:86)at com.atlassian.crowd.integration.http.HttpAuthenticatorImpl.logoff(HttpAuthenticatorImpl.java:297)at com.atlassian.crowd.integration.springsecurity.CrowdSSOAuthenticationProcessingFilter.unsuccessfulAuthentication(CrowdSSOAuthenticationProcessingFilter.java:246)at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:203)at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)at com.atlassian.crowd.console.filter.CrowdDelegatingFilterProxy.doFilter(CrowdDelegatingFilterProxy.java:38)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at com.atlassian.crowd.console.filter.LicenceFilter.doFilterInternal(LicenceFilter.java:56)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)at com.atlassian.crowd.console.filter.CrowdDelegatingFilterProxy.doFilter(CrowdDelegatingFilterProxy.java:38)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:67)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)at com.atlassian.crowd.console.filter.CrowdOpenSessionInViewFilter.doFilterInternal(CrowdOpenSessionInViewFilter.java:26)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at com.atlassian.gzipfilter.GzipFilter.doFilterInternal(GzipFilter.java:74)at com.atlassian.gzipfilter.GzipFilter.doFilter(GzipFilter.java:51)at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)at com.atlassian.crowd.console.filter.CrowdDelegatingFilterProxy.doFilter(CrowdDelegatingFilterProxy.java:38)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at com.atlassian.core.filters.encoding.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:41)at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)at java.lang.Thread.run(Thread.java:722)Caused by: javax.xml.stream.XMLStreamException: ParseError at row,col : 1,50Message: White spaces are required between publicId and systemId.at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:598)at org.codehaus.xfire.soap.handler.ReadHeadersHandler.invoke(ReadHeadersHandler.java:44)at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)at org.codehaus.xfire.client.Client.onReceive(Client.java:406)... 74 more2012-12-20 16:22:48,702 http-8095-4 ERROR crowd.console.action.Login Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: ParseError at row,col : 1,50Message: White spaces are required between publicId and systemId.org.springframework.security.authentication.AuthenticationServiceException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: ParseError at row,col : 1,50Message: White spaces are required between publicId and systemId.at com.atlassian.crowd.integration.springsecurity.CrowdAuthenticationProvider.translateException(CrowdAuthenticationProvider.java:301)at com.atlassian.crowd.integration.springsecurity.CrowdAuthenticationProvider.authenticateUsernamePassword(CrowdAuthenticationProvider.java:164)at com.atlassian.crowd.integration.springsecurity.CrowdAuthenticationProvider.authenticate(CrowdAuthenticationProvider.java:102)at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:156)at com.atlassian.crowd.integration.springsecurity.DynamicProviderManagerImpl.authenticate(DynamicProviderManagerImpl.java:40)at org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter.attemptAuthentication(UsernamePasswordAuthenticationFilter.java:94)at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:194)at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)at com.atlassian.crowd.console.filter.CrowdDelegatingFilterProxy.doFilter(CrowdDelegatingFilterProxy.java:38)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at com.atlassian.crowd.console.filter.LicenceFilter.doFilterInternal(LicenceFilter.java:56)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)at com.atlassian.crowd.console.filter.CrowdDelegatingFilterProxy.doFilter(CrowdDelegatingFilterProxy.java:38)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:67)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)at com.atlassian.crowd.console.filter.CrowdOpenSessionInViewFilter.doFilterInternal(CrowdOpenSessionInViewFilter.java:26)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at com.atlassian.gzipfilter.GzipFilter.doFilterInternal(GzipFilter.java:74)at com.atlassian.gzipfilter.GzipFilter.doFilter(GzipFilter.java:51)at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)at com.atlassian.crowd.console.filter.CrowdDelegatingFilterProxy.doFilter(CrowdDelegatingFilterProxy.java:38)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at com.atlassian.core.filters.encoding.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:41)at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)at java.lang.Thread.run(Thread.java:722)Caused by: org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: ParseError at row,col : 1,50Message: White spaces are required between publicId and systemId.at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:92)at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)at $Proxy142.authenticateApplication(Unknown Source)at com.atlassian.crowd.service.soap.client.SecurityServerClientImpl.authenticate(SecurityServerClientImpl.java:229)at com.atlassian.crowd.service.soap.client.SecurityServerClientImpl.getSoapApplicationToken(SecurityServerClientImpl.java:214)at com.atlassian.crowd.service.soap.client.SecurityServerClientImpl.authenticatePrincipal(SecurityServerClientImpl.java:254)at com.atlassian.crowd.service.cache.CacheAwareAuthenticationManager.authenticate(CacheAwareAuthenticationManager.java:48)at com.atlassian.crowd.integration.http.HttpAuthenticatorImpl.verifyAuthentication(HttpAuthenticatorImpl.java:247)at com.atlassian.crowd.integration.springsecurity.RemoteCrowdAuthenticationProvider.authenticate(RemoteCrowdAuthenticationProvider.java:50)at com.atlassian.crowd.integration.springsecurity.CrowdAuthenticationProvider.authenticateUsernamePassword(CrowdAuthenticationProvider.java:150)... 62 moreCaused by: org.codehaus.xfire.fault.XFireFault: ParseError at row,col : 1,50Message: White spaces are required between publicId and systemId.at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)at org.codehaus.xfire.client.Client.onReceive(Client.java:410)at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:139)at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)at org.codehaus.xfire.client.Client.invoke(Client.java:336)at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)... 71 moreCaused by: javax.xml.stream.XMLStreamException: ParseError at row,col : 1,50Message: White spaces are required between publicId and systemId.at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:598)at org.codehaus.xfire.soap.handler.ReadHeadersHandler.invoke(ReadHeadersHandler.java:44)at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)at org.codehaus.xfire.client.Client.onReceive(Client.java:406)... 79 more
```


Answers:
author: mtaylor
body: Hi John,

Looks like you were able to resolve your issue. Just posting your findings here for reference:
> In the Crowd Home Directory crowd.properties, the URL was using http instead of https, which causes a redirect to https on the apache Proxy server. Not really sure why this was causing this problem, but after it was changed, the problem went away.


author: Shravanthi Sudarshana
body: 1. Crowd does not like the crowd.properties file in both its home directory and the WEB-INF/classes directory

By this statement, do you mean that we need to remove crowd.properties file from crowd home directory? or should we remove crowd.properties file from jira/confluence's WEB-INF/classes directory?

I have an issue where am able to login to crowd using only admin credentials and not any jira/confluence administrator username/pwds (ldap integrated). Although the authentication works fine after integration in both jira and confluence.

comments: author: William Crighton [CCC]
body: @Shravanthi Sudarshana - I never received a notification of your post - and It's been so long that you stopped waiting for a response, but here goes anyway...Crowd only 'likes' for the crowd.properties file to be in its 'home' directory - to answer your question you should not have a crowd.properties file in your WEB-INF/classes directory.I'm not entirely sure of the event sequence which leads to more than 1 crowd.properties file located only in the crowd.home directory - I suspect in my case it was caused by 'someone' manually copying the file to more than one place.I don't completely understand your problem description - specifically how the part 'and not any jira/confluence administrator username/pwds (ldap integrated). At a guess I think you are saying you can login to crowd using your crowd administrator user but you cannot login to crowd using any other administrator username, even though they (other admin usernames) allow you to login to jira/confluence.If I correctly guessed your problem then I believe that what you were/are experiencing is a 'feature' - or a 'working as designed' event. Due to the nature of how Crowd works ANY user who can login to the crowd application is able to modify what applications users can authenticate to, the applications which users are single signed onto and depending on your setup might even be able to modify values in your integrated user directories (such as openldap, active-directory, etc).To just update their passwords users do not need to login to crowd.maybe that'll help someone


author: William Crighton [CCC]
body: For any others who run into this problem and also

* manage to bother to scroll to the end of this post (think: code blocks for stack traces)
* are already using https to access crowd

**These are the things that we did to resolve the same error (amongst other errors):**

In the case of the authentication problems in May 2014 w/ crowd 2.7.1, there were two things we found in Crowd that were affecting the other Atlassian applications

1. Crowd does not like the crowd.properties file in both its home directory and the WEB-INF/classes directory
2. The crowd-init.properties file does not like a symlink pointing to its home directory.

**NOTE:** Changing #1 above allowed us to log into Crowd, but left us unable to administer the application (every link we clicked would spin forever then return a 503 from the server). Changing #2 above allowed us to both login and administer the application.

A note on the other applications:

1. If the JIRA seraph-config.xml file is set to have the application use the Crowd SSO connector, but cannot read the file (owned by different user other than the user than runs the app), the application will not start correctly.
2. if you have moved crowd to a new machine/ip address, or if you've moved any of the applications talking/connecting to crowd to new machines/ip's, make sure you update the list of ip addresses which can authenticate to crowd for the applications 'Remote Addresses'

**Other errors we were getting:**

1. tomcat: XFIRE error - same error that brought you to this page
2. tomcat: ALL Kinds of REST errors such as - The following URL does not specify a valid Crowd User Management REST service: https://\<crowdurl\>/crowd/rest/usermanagement/1/authentication?username=\<username\>
3. apache: \[proxy_ajp:error\] \[pid 30794:tid 140450483308288\] (70007)The timeout specified has expired: AH01030: ajp_ilink_receive() can't receive header
4. apache: \[proxy_ajp:error\] \[pid 29772:tid 140450253956864\] (104)Connection reset by peer: AH01030: ajp_ilink_receive() can't receive header

comments: author: William Crighton [CCC]
body: Giving proper credit where it is due my colleague Dana Scoggins was the point man on working through these issues as well as providing the initial content that went into this answer posting. It was a nice piece of work.

-wc


author: William Crighton [CCC]
body: Ran into this problem again where my Confluence instance wouldn't respond to requests. Main error I saw was:(70007)The timeout specified has expired: AH01030: ajp_ilink_receive() can't receive header In this case the problem was in my browser - I could authenticate to every other Atlassian application linked into crowd (jira, crucible, bamboo, stash) but Confluence would just spin and spin. I deleted all cookies for my atlassian applications and rebooted....and mysteriously the problem 'fixed itself'.