Uploaded image for project: 'Syncope'
  1. Syncope
  2. SYNCOPE-598

Push Task fails on role with LDAP resource with rolemapping defined

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.2.0
    • Fix Version/s: 1.2.1, 2.0.0-M1
    • Component/s: core
    • Labels:
      None

      Description

      When an LDAP resource (1.3.7) is configured to map roles to LDAP groups (cn is AccountLink) the propagation of the role as group is fine (syncope console reports success, group is created) but LDAP resource Push Task fails:

      22:17:10.115 WARN org.apache.syncope.core.quartz.AbstractTaskJob - Failure pushing role 'SyncopeRole[104]' on 'ExternalResource[m7 LDAP]'
      java.lang.NullPointerException
      at org.apache.syncope.core.persistence.beans.AbstractAttributable.getAttr(AbstractAttributable.java:33) ~[AbstractAttributable.class:?]
      at org.apache.syncope.core.util.MappingUtil.getIntValues(MappingUtil.java:478) ~[MappingUtil.class:?]
      at org.apache.syncope.core.util.MappingUtil.getAccountIdValue(MappingUtil.java:653) ~[MappingUtil.class:?]
      at org.apache.syncope.core.sync.impl.AbstractSubjectPushResultHandler.doHandle(AbstractSubjectPushResultHandler.java:118) ~[AbstractSubjectPushResultHandler.class:?]
      at org.apache.syncope.core.sync.impl.AbstractSubjectPushResultHandler.handle(AbstractSubjectPushResultHandler.java:78) ~[AbstractSubjectPushResultHandler.class:?]
      at org.apache.syncope.core.sync.impl.AbstractSubjectPushResultHandler$$FastClassBySpringCGLIB$$d86e2298.invoke(<generated>) ~[spring-core-4.0.7.RELEASE.jar:?]
      at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.0.7.RELEASE.jar:4.0.7.RELEASE]
      at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708) ~[spring-aop-4.0.7.RELEASE.jar:4.0.7.RELEASE]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.0.7.RELEASE.jar:4.0.7.RELEASE]
      at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98) ~[spring-tx-4.0.7.RELEASE.jar:4.0.7.RELEASE]
      at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262) ~[spring-tx-4.0.7.RELEASE.jar:4.0.7.RELEASE]
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95) ~[spring-tx-4.0.7.RELEASE.jar:4.0.7.RELEASE]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.0.7.RELEASE.jar:4.0.7.RELEASE]
      at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644) ~[spring-aop-4.0.7.RELEASE.jar:4.0.7.RELEASE]
      at org.apache.syncope.core.sync.impl.RolePushResultHandler$$EnhancerBySpringCGLIB$$86ac2e87.handle(<generated>) ~[spring-core-4.0.7.RELEASE.jar:?]
      at org.apache.syncope.core.sync.impl.PushJob.executeWithSecurityContext(PushJob.java:137) ~[PushJob.class:?]
      at org.apache.syncope.core.sync.impl.PushJob.executeWithSecurityContext(PushJob.java:54) ~[PushJob.class:?]
      at org.apache.syncope.core.sync.impl.AbstractSyncJob.doExecute(AbstractSyncJob.java:338) ~[AbstractSyncJob.class:?]
      at org.apache.syncope.core.quartz.AbstractTaskJob.execute(AbstractTaskJob.java:125) ~[AbstractTaskJob.class:?]
      at org.quartz.core.JobRunShell.run(JobRunShell.java:202) ~[quartz-2.2.1.jar:?]
      at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) ~[quartz-2.2.1.jar:?]
      22:17:10.116 ERROR org.apache.syncope.core.quartz.AbstractTaskJob - While executing task 326
      org.quartz.JobExecutionException: While pushing roles on connector
      at org.apache.syncope.core.sync.impl.PushJob.executeWithSecurityContext(PushJob.java:140) ~[PushJob.class:?]
      at org.apache.syncope.core.sync.impl.PushJob.executeWithSecurityContext(PushJob.java:54) ~[PushJob.class:?]
      at org.apache.syncope.core.sync.impl.AbstractSyncJob.doExecute(AbstractSyncJob.java:338) ~[AbstractSyncJob.class:?]
      at org.apache.syncope.core.quartz.AbstractTaskJob.execute(AbstractTaskJob.java:125) ~[AbstractTaskJob.class:?]
      at org.quartz.core.JobRunShell.run(JobRunShell.java:202) ~[quartz-2.2.1.jar:?]
      at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) ~[quartz-2.2.1.jar:?]
      Caused by: java.lang.NullPointerException
      at org.apache.syncope.core.persistence.beans.AbstractAttributable.getAttr(AbstractAttributable.java:33) ~[AbstractAttributable.class:?]
      at org.apache.syncope.core.util.MappingUtil.getIntValues(MappingUtil.java:478) ~[MappingUtil.class:?]
      at org.apache.syncope.core.util.MappingUtil.getAccountIdValue(MappingUtil.java:653) ~[MappingUtil.class:?]
      at org.apache.syncope.core.sync.impl.AbstractSubjectPushResultHandler.doHandle(AbstractSubjectPushResultHandler.java:118) ~[AbstractSubjectPushResultHandler.class:?]
      at org.apache.syncope.core.sync.impl.AbstractSubjectPushResultHandler.handle(AbstractSubjectPushResultHandler.java:78) ~[AbstractSubjectPushResultHandler.class:?]
      at org.apache.syncope.core.sync.impl.AbstractSubjectPushResultHandler$$FastClassBySpringCGLIB$$d86e2298.invoke(<generated>) ~[spring-core-4.0.7.RELEASE.jar:?]
      at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.0.7.RELEASE.jar:4.0.7.RELEASE]
      at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708) ~[spring-aop-4.0.7.RELEASE.jar:4.0.7.RELEASE]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.0.7.RELEASE.jar:4.0.7.RELEASE]
      at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98) ~[spring-tx-4.0.7.RELEASE.jar:4.0.7.RELEASE]
      at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262) ~[spring-tx-4.0.7.RELEASE.jar:4.0.7.RELEASE]
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95) ~[spring-tx-4.0.7.RELEASE.jar:4.0.7.RELEASE]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.0.7.RELEASE.jar:4.0.7.RELEASE]
      at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644) ~[spring-aop-4.0.7.RELEASE.jar:4.0.7.RELEASE]
      at org.apache.syncope.core.sync.impl.RolePushResultHandler$$EnhancerBySpringCGLIB$$86ac2e87.handle(<generated>) ~[spring-core-4.0.7.RELEASE.jar:?]
      at org.apache.syncope.core.sync.impl.PushJob.executeWithSecurityContext(PushJob.java:137) ~[PushJob.class:?]
      ... 5 more

      A workaround is to filter only roles that don't have this resource.

        Attachments

          Activity

            People

            • Assignee:
              fmartelli fabio martelli
              Reporter:
              mrvanes Martin van Es
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: