Uploaded image for project: 'Crowd Data Center'
  1. Crowd Data Center
  2. CWD-503

Cannot modify user profile when using Crowd authentication, fails with NullPointer on RemotePrincipal.getEmail()

    XMLWordPrintable

Details

    Description

      When integrated with Bamboo, the following exception is thrown in Bamboo, when a user attempts to update their profile.

      Stack Trace:

      com.atlassian.core.exception.InfrastructureException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Fault: java.lang.NullPointerException;
       nested exception is:
      org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Fault: java.lang.NullPointerException
      at bucket.user.DefaultUserAccessor.saveUser(DefaultUserAccessor.java:228)
      at com.atlassian.bamboo.user.BambooUserManagerImpl.saveUser(BambooUserManagerImpl.java:126)
      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:585)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
      at $Proxy6.saveUser(Unknown Source)
      at com.atlassian.bamboo.ww2.actions.admin.user.ConfigureProfile.execute(ConfigureProfile.java:109)
      at com.atlassian.bamboo.ww2.actions.admin.user.ConfigureProfile.doUpdate(ConfigureProfile.java:47)
      

      In Crowd the exception is the following:

      08:34:20,365 ERROR org.codehaus.xfire.handler.DefaultFaultHandler: Fault occurred!
      java.lang.NullPointerException
              at com.atlassian.crowd.integration.model.RemotePrincipal.getEmail(RemotePrincipal.java:81)
              at com.atlassian.crowd.integration.directory.connector.SpringLDAPConnector.updatePrincipal(SpringLDAPConnector.java:688)
              at com.atlassian.crowd.manager.directory.DirectoryManagerGeneric.updatePrincipalAttribute(DirectoryManagerGeneric.java:1738)
              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:585)
              at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
              at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:88)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
              at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
              at $Proxy9.updatePrincipalAttribute(Unknown Source)
              at com.atlassian.crowd.service.soap.SecurityServerGeneric.updatePrincipalAttribute(SecurityServerGeneric.java:310)
      

      The underlying issue is an unsafe call to the Principals attributes, via the getEmail() call.

      Attachments

        Activity

          People

            justen.stepka@atlassian.com Justen Stepka [Atlassian]
            justin@atlassian.com Justin Koke
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: