LDAP sync error : Last encoded character..

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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 :
- Search for related issues
- Delete / recreate the LDAP entry manually (to check that there is no blank space in the fields or sth)
- Set Alfresco in full sync mode and restart
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 !
- Labels:
-
Alfresco Content Services
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
