-
Bug
-
Resolution: Fixed
-
Medium
-
2.3.0
-
None
from: https://answers.atlassian.com/questions/153004/stash-does-not-understand-crowd-s-nested-groups
While synchronising group memberships, the following error occurred:
2013-03-28 14:46:06,385 ERROR [scheduler_Worker-8] c.a.c.d.DbCachingDirectoryPoller Error occurred while refreshing the cache for directory [ 425985 ]. java.lang.IllegalArgumentException: can't parse argument number: 672ad2a4-ced0-43f8-aa51-d0560057675a at java.text.MessageFormat.makeFormat(Unknown Source) ~[na:1.7.0_17] at java.text.MessageFormat.applyPattern(Unknown Source) ~[na:1.7.0_17] at java.text.MessageFormat.<init>(Unknown Source) ~[na:1.7.0_17] at java.text.MessageFormat.format(Unknown Source) ~[na:1.7.0_17] at com.atlassian.crowd.util.TimedOperation.complete(TimedOperation.java:18) ~[crowd-api-2.6.2-m1.jar:na] at com.atlassian.crowd.directory.DirectoryCacheImplUsingChangeOperations.syncUserMembersForGroup(DirectoryCacheImplUsingChangeOperations.java:124) ~[crowd-core-2.6.2-m1.jar:na] at com.atlassian.crowd.directory.ldap.cache.AbstractCacheRefresher.synchroniseMemberships(AbstractCacheRefresher.java:145) ~[crowd-ldap-2.6.2-m1.jar:na] at com.atlassian.crowd.directory.ldap.cache.AbstractCacheRefresher.synchroniseAll(AbstractCacheRefresher.java:84) ~[crowd-ldap-2.6.2-m1.jar:na] at com.atlassian.crowd.directory.ldap.cache.EventTokenChangedCacheRefresher.synchroniseAll(EventTokenChangedCacheRefresher.java:59) ~[crowd-ldap-2.6.2-m1.jar:na] at com.atlassian.crowd.directory.DbCachingRemoteDirectory.synchroniseCache(DbCachingRemoteDirectory.java:622) ~[crowd-core-2.6.2-m1.jar:na] at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.synchronise(DirectorySynchroniserImpl.java:63) ~[crowd-core-2.6.2-m1.jar:na] at com.atlassian.crowd.directory.DbCachingDirectoryPoller.pollChanges(DbCachingDirectoryPoller.java:50) ~[crowd-core-2.6.2-m1.jar:na] at com.atlassian.crowd.manager.directory.monitor.poller.DirectoryPollerJobBean.executeInternal(DirectoryPollerJobBean.java:29) [crowd-core-2.6.2-m1.jar:na] at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:113) [spring-context-support-3.2.1.RELEASE.jar:3.2.1.RELEASE] at org.quartz.core.JobRunShell.run(JobRunShell.java:223) [quartz-1.8.6.jar:na] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549) [quartz-1.8.6.jar:na] Caused by: java.lang.NumberFormatException: For input string: "672ad2a4-ced0-43f8-aa51-d0560057675a" at java.lang.NumberFormatException.forInputString(Unknown Source) ~[na:1.7.0_17] at java.lang.Integer.parseInt(Unknown Source) ~[na:1.7.0_17] at java.lang.Integer.parseInt(Unknown Source) ~[na:1.7.0_17] ... 16 common frames omitted
The problem appears to be in the following line (DirectoryCacheImplUsingChangeOperations:124}:
logger.debug(operation.complete("synchronised [ " + remoteUsers.size() + " ] user members for group [ " + group.getName() + " ] in [ {0} ]"));
If the group name contains {}, a few levels down the call stack, MessageFormat tries to parse the argument number from it and blows up.
Tracked in the Crowd project as CWD-3241
- derived from
-
CWD-3241 Membership synchronisation fails for groups that contain { and }
- Closed