Details
-
Bug
-
Resolution: Obsolete
-
Low
-
None
-
2.6
-
None
-
Severity 3 - Minor
-
Description
Symptoms
An org.springframework.ldap.UncategorizedLdapException exception is thrown when testing searching users/groups while setting up a new ActiveDirectory connector. The exception is uncaught, therefore the user is shown a blank screen, and an stacktrace appears in the logs.
Steps to reproduce
- Click on 'Add directory'
- Select 'Connector'
- Enter a name
- Switch to the 2nd tab ('Connector')
- Pick 'Microsoft Active Directory'
- Enter a correct URL (e.g. ldap://crowd-ad1:389/), a correct base DN and correct credentials
- Optionally, click on 'Test connection'. The test should pass.
- Change to the 3rd tab ('Configuration').
- Click on 'Test search'.
Expected result: an error message is displayed on the screen to inform the user.
Actual result: blank screen, and stacktrace in the logs.
Stacktrace
2013-01-29 17:10:31,412 http-8095-6 FATAL [springframework.ldap.control.AbstractRequestControlDirContextProcessor] No matching response control found for paged results - looking for 'class javax.naming.ldap.PagedResultsResponseControl 2013-01-29 17:10:31,412 http-8095-6 ERROR [console.action.directory.CreateDirectory] org.springframework.ldap.UncategorizedLdapException: Uncategorized exception occured during LDAP processing; nested exception is javax.naming.NamingException: [LDAP: error code 1 - 00000000: LdapErr: DSID-0C090627, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, vece]; remaining name 'dc=sydney,dc=atlassian,dc=com' com.atlassian.crowd.exception.OperationFailedException: org.springframework.ldap.UncategorizedLdapException: Uncategorized exception occured during LDAP processing; nested exception is javax.naming.NamingException: [LDAP: error code 1 - 00000000: LdapErr: DSID-0C090627, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, vece]; remaining name 'dc=sydney,dc=atlassian,dc=com' at com.atlassian.crowd.directory.SpringLDAPConnector.pageSearchResults(SpringLDAPConnector.java:385) at com.atlassian.crowd.directory.SpringLDAPConnector.searchEntitiesWithRequestControls(SpringLDAPConnector.java:418) at com.atlassian.crowd.directory.SpringLDAPConnector.searchEntities(SpringLDAPConnector.java:403) at com.atlassian.crowd.directory.SpringLDAPConnector.searchUserObjects(SpringLDAPConnector.java:592) at com.atlassian.crowd.directory.SpringLDAPConnector.searchUsers(SpringLDAPConnector.java:958) at com.atlassian.crowd.console.action.directory.LDAPConfigurationTester$Strategy$1.search(LDAPConfigurationTester.java:29) at com.atlassian.crowd.console.action.directory.LDAPConfigurationTesterImpl.canFindLdapObjects(LDAPConfigurationTesterImpl.java:27) at com.atlassian.crowd.console.action.directory.CreateConnector.doTestSearch(CreateConnector.java:238) at com.atlassian.crowd.console.action.directory.CreateConnector.doTestPrincipalSearch(CreateConnector.java:220) ... Caused by: org.springframework.ldap.UncategorizedLdapException: Uncategorized exception occured during LDAP processing; nested exception is javax.naming.NamingException: [LDAP: error code 1 - 00000000: LdapErr: DSID-0C090627, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, vece]; remaining name 'dc=sydney,dc=atlassian,dc=com' at org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:217) at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:319) at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:237) at com.atlassian.crowd.directory.ldap.LdapTemplateWithClassLoaderWrapper$4.call(LdapTemplateWithClassLoaderWrapper.java:92) at com.atlassian.crowd.directory.ldap.LdapTemplateWithClassLoaderWrapper$4.call(LdapTemplateWithClassLoaderWrapper.java:89) at com.atlassian.crowd.directory.ldap.LdapTemplateWithClassLoaderWrapper.invokeWithContextClassLoader(LdapTemplateWithClassLoaderWrapper.java:47) at com.atlassian.crowd.directory.ldap.LdapTemplateWithClassLoaderWrapper.search(LdapTemplateWithClassLoaderWrapper.java:89) at com.atlassian.crowd.directory.SpringLDAPConnector.pageSearchResults(SpringLDAPConnector.java:352) ... 134 more Caused by: javax.naming.NamingException: [LDAP: error code 1 - 00000000: LdapErr: DSID-0C090627, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, vece]; remaining name 'dc=sydney,dc=atlassian,dc=com' at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3127) at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3033) at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2840) at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1849) at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1772) at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:386) at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:356) at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:276) at sun.reflect.GeneratedMethodAccessor342.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.springframework.ldap.transaction.compensating.manager.TransactionAwareDirContextInvocationHandler.invoke(TransactionAwareDirContextInvocationHandler.java:92) at $Proxy146.search(Unknown Source) at org.springframework.ldap.core.LdapTemplate$3.executeSearch(LdapTemplate.java:231) at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:293)