Uploaded image for project: 'Crowd Data Center'
  1. Crowd Data Center
  2. CWD-3241

Membership synchronisation fails for groups that contain { and }

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Medium Medium
    • 2.6.2
    • 2.6.1, 2.6.2
    • None
    • 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.

              jwalton joe
              mheemskerk Michael Heemskerk (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: