Uploaded image for project: 'Atlassian Cloud'
  1. Atlassian Cloud
  2. CLOUD-3547

GApps user synchronisation can fail leaving some users unable to log in

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Medium
    • None
    • None

    Description

      The user synchronisation can fail with the following stack trace:

      09:16:39: ERROR: Synchronization aborted due to an unexpected exception: java.lang.RuntimeException: java.lang.NullPointerException
      	at com.atlassian.studio.common.util.Functions.attempt(Functions.java:50)
      	at com.atlassian.studio.jira.license.StudioLicenseUserUtilImpl.getAllUsers(StudioLicenseUserUtilImpl.java:489)
      	at sun.reflect.GeneratedMethodAccessor1914.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
      	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)
      	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at $Proxy705.getAllUsers(Unknown Source)
      	at com.atlassian.agmp.openid.users.mgmt.jira.UserServiceImpl.getAllUsernames(UserServiceImpl.java:106)
      	at com.atlassian.agmp.integration.jira.poller.impl.UserSynchronizerImpl.process(UserSynchronizerImpl.java:57)
      	at com.atlassian.agmp.integration.jira.poller.impl.UserSynchronizerImpl.process(UserSynchronizerImpl.java:47)
      	at com.atlassian.agmp.integration.jira.poller.impl.SyncJobImpl.process(SyncJobImpl.java:177)
      	at com.atlassian.agmp.integration.jira.poller.impl.SyncJobImpl.run(SyncJobImpl.java:117)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      	at java.lang.Thread.run(Thread.java:619)
      Caused by: java.lang.NullPointerException
      	at com.opensymphony.user.User.<init>(User.java:52)
      	at com.opensymphony.user.UserManager$Type$1.create(UserManager.java:47)
      	at com.opensymphony.user.UserManager$Type$1.create(UserManager.java:45)
      	at com.opensymphony.user.UserManager.buildEntity(UserManager.java:295)
      	at com.opensymphony.user.UserManager.getEntities(UserManager.java:248)
      	at com.opensymphony.user.UserManager.getUsers(UserManager.java:165)
      	at com.atlassian.jira.user.util.DefaultUserManager.getAllUsers(DefaultUserManager.java:68)
      	at sun.reflect.GeneratedMethodAccessor1432.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at com.atlassian.jira.ProxyAdapter$ProxiedComponentInvocationHandler.invoke(ProxyAdapter.java:167)
      	at $Proxy91.getAllUsers(Unknown Source)
      	at sun.reflect.GeneratedMethodAccessor1432.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129)
      	at $Proxy366.getAllUsers(Unknown Source)
      	at sun.reflect.GeneratedMethodAccessor1432.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:150)
      	at $Proxy366.getAllUsers(Unknown Source)
      	at com.atlassian.jira.user.util.UserUtilImpl.getAllUsers(UserUtilImpl.java:522)
      	at com.atlassian.studio.jira.license.StudioLicenseUserUtilImpl.doGetAllUsers(StudioLicenseUserUtilImpl.java:483)
      	at com.atlassian.studio.jira.license.StudioLicenseUserUtilImpl.access$000(StudioLicenseUserUtilImpl.java:56)
      	at com.atlassian.studio.jira.license.StudioLicenseUserUtilImpl$1.get(StudioLicenseUserUtilImpl.java:493)
      	at com.atlassian.studio.jira.license.StudioLicenseUserUtilImpl$1.get(StudioLicenseUserUtilImpl.java:490)
      	at com.atlassian.studio.common.util.Functions.attempt(Functions.java:39)
      	... 34 more
      

      When this happens, many legitimate users on the system are unable to log in.

      Attachments

        1. CachingUserManager.class
          8 kB
        2. CachingUserManager$1.class
          0.3 kB
        3. CachingUserManager$Server.class
          5 kB

        Issue Links

          Activity

            People

              awei Alex Wei (DE)
              mknight@atlassian.com Michael Knight
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: