10-17-2022 07:12 AM
Hello !
I have a critical error for one of our managed platforms with some LDAP users synchronized to Alfresco.
Here is the callstack :
13:02:07,027 INFO [org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer] [DefaultScheduler_Worker-2] Synchronization,Category=directory,id1=ldap1,id2=6 User Creation and Association: Completed batch of 3535 entries
13:02:07,027 ERROR [org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer] [DefaultScheduler_Worker-2] Synchronization,Category=directory,id1=ldap1,id2=6 User Creation and Association: 5 error(s) detected. Last error from entry "uid=xxx,ou=People,dc=yyy,dc=fr" java.lang.IllegalArgumentException: Last encoded character (before the paddings if any) is a valid base 64 alphabet but not a possible value at org.apache.commons.codec.binary.Base64.validateCharacter(Base64.java:798) at org.apache.commons.codec.binary.Base64.decode(Base64.java:472) at org.apache.commons.codec.binary.BaseNCodec.decode(BaseNCodec.java:412) at org.apache.commons.codec.binary.BaseNCodec.decode(BaseNCodec.java:395) at org.apache.commons.codec.binary.Base64.decodeBase64(Base64.java:694) at org.alfresco.repo.virtual.ref.Reference.fromNodeRef(Reference.java:133) at org.alfresco.repo.virtual.bundle.VirtualNodeServiceExtension.materializeAssocQName(VirtualNodeServiceExtension.java:386) at org.alfresco.repo.virtual.bundle.VirtualNodeServiceExtension.createNode(VirtualNodeServiceExtension.java:362) at jdk.internal.reflect.GeneratedMethodAccessor572.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.alfresco.traitextender.SingletonExtensionFactory$TraiSingletontHandler.invoke(SingletonExtensionFactory.java:74) at com.sun.proxy.$Proxy222.createNode(Unknown Source) at jdk.internal.reflect.GeneratedMethodAccessor578.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.alfresco.traitextender.AJExtender.extendAroundAdvice(AJExtender.java:654) at org.alfresco.traitextender.RouteExtensions.ajc$inlineAccessMethod$org_alfresco_traitextender_RouteExtensions$org_alfresco_traitextender_AJExtender$extendAroundAdvice(RouteExtensions.java:1) at org.alfresco.traitextender.RouteExtensions.intercept(RouteExtensions.java:85) at org.alfresco.repo.node.db.DbNodeServiceImpl.createNode(DbNodeServiceImpl.java:342) at jdk.internal.reflect.GeneratedMethodAccessor572.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.alfresco.repo.lock.mem.LockableAspectInterceptor.invoke(LockableAspectInterceptor.java:244) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) at com.sun.proxy.$Proxy39.createNode(Unknown Source) at jdk.internal.reflect.GeneratedMethodAccessor572.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.alfresco.repo.tenant.MultiTNodeServiceInterceptor.invoke(MultiTNodeServiceInterceptor.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) at com.sun.proxy.$Proxy39.createNode(Unknown Source) at jdk.internal.reflect.GeneratedMethodAccessor572.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.alfresco.repo.service.StoreRedirectorProxyFactory$RedirectorInvocationHandler.invoke(StoreRedirectorProxyFactory.java:231) at com.sun.proxy.$Proxy60.createNode(Unknown Source) at org.alfresco.repo.node.MLPropertyInterceptor.invoke(MLPropertyInterceptor.java:284) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.alfresco.repo.node.NodeRefPropertyMethodInterceptor.invoke(NodeRefPropertyMethodInterceptor.java:190) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) at com.sun.proxy.$Proxy39.createNode(Unknown Source) at jdk.internal.reflect.GeneratedMethodAccessor572.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:205) at com.sun.proxy.$Proxy39.createNode(Unknown Source) at org.alfresco.repo.security.person.PersonServiceImpl.createPerson(PersonServiceImpl.java:1009) at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer$1PersonWorker.process(ChainingUserRegistrySynchronizer.java:1850) at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer$1PersonWorker.process(ChainingUserRegistrySynchronizer.java:1) at org.alfresco.repo.batch.BatchProcessor$TxnCallback.execute(BatchProcessor.java:723) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:450) at org.alfresco.repo.batch.BatchProcessor$TxnCallback.run(BatchProcessor.java:767) at org.alfresco.repo.batch.BatchProcessor.process(BatchProcessor.java:408) at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer.syncWithPlugin(ChainingUserRegistrySynchronizer.java:1923) at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer.synchronizeInternal(ChainingUserRegistrySynchronizer.java:739) at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer.synchronize(ChainingUserRegistrySynchronizer.java:471) at org.alfresco.repo.security.sync.UserRegistrySynchronizerJob$1.doWork(UserRegistrySynchronizerJob.java:53) at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:602) at org.alfresco.repo.security.sync.UserRegistrySynchronizerJob.execute(UserRegistrySynchronizerJob.java:49) at org.quartz.core.JobRunShell.run(JobRunShell.java:202) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
I found nothing about this issue except this topic : https://hub.alfresco.com/t5/alfresco-content-services-forum/it-s-impossible-to-show-users-list/td-p/... but it don't seems to be related.
What we tried is :
Do you know anything about this issue ? This is blocking the LDAP synchronization of a French university for a few days now..
We are currently running in Alfresco 6.2 and we know it will be deprecated the next month, update is planned but can't be done as fast as we want in production environments, we are more looking for a fast fix here
Thank you a lot for your help !
10-17-2022 10:39 AM
Hi:
Try to put DEBUG mode for ldap for getting more info about the problems of the sync (with the help of Alfresco Support Tools) or custom-log4j.properties
log4j.logger.org.alfresco.repo.security.sync=debug
But probably, you will need to change / fix an ldap user in OpenLDAP/AD (which is not an Alfresco part).
Regards.
--C.
Explore our Alfresco products with the links below. Use labels to filter content by product module.