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

Push Task fails on role with LDAP resource with rolemapping defined

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.2.0
    • 1.2.1, 2.0.0-M1
    • core
    • 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

            fmartelli Fabio Martelli
            mrvanes Martin van Es
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: