A DESCRIPTION OF THE PROBLEM :
ConcurrentModificationException raised every time ReferralsCache drops referral. Method pruneExpired always raises exception is a referral TGT has expired.
Example trace:
Caused by: java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextNode(HashMap.java:1493) ~[?:?]
at java.util.HashMap$EntryIterator.next(HashMap.java:1526) ~[?:?]
at java.util.HashMap$EntryIterator.next(HashMap.java:1524) ~[?:?]
at sun.security.krb5.internal.ReferralsCache.pruneExpired(ReferralsCache.java:152) ~[java.security.jgss:?]
at sun.security.krb5.internal.ReferralsCache.get(ReferralsCache.java:133) ~[java.security.jgss:?]
at sun.security.krb5.internal.CredentialsUtil.serviceCredsReferrals(CredentialsUtil.java:365) ~[java.security.jgss:?]
at sun.security.krb5.internal.CredentialsUtil.serviceCreds(CredentialsUtil.java:333) ~[java.security.jgss:?]
at sun.security.krb5.internal.CredentialsUtil.serviceCreds(CredentialsUtil.java:314) ~[java.security.jgss:?]