Hi all -
We're in the process of migrating from CAS 6.6.x to CAS 7.0.x. We have several hundred services in our production environment working fine, however when starting CAS 7.0.3 in our test environment it seems to bail out hard loading some specific services and the application shuts down.
Here is the error we are receiving:
2024-04-11 15:44:06,843 ERROR [org.apereo.cas.util.concurrent.CasReentrantLock] - <Cannot invoke "Object.hashCode()" because "key" is null
ConcurrentHashMap.java:get:936
AbstractMapBasedAttributeIndex.java:addAll:81
CollectionQueryEngine.java:perform:1376
>
2024-04-11 15:44:06,882 ERROR [org.springframework.boot.SpringApplication] - <Application run failed>
The commonality seems to be having a HashMap (also indicated by the error) in the service.
accessStrategy : {
@class : org.apereo.cas.services.DefaultRegisteredServiceAccessStrategy
enabled : true
ssoEnabled : true
caseInsensitive: true
requireAllAttributes: false
unauthorizedRedirectUrl :
https://support.XXX.XXX requiredAttributes : {
@class : java.util.HashMap
memberOf : [ "java.util.HashSet", [ "CN=Bomgar_Admins,OU=Role Groups,OU=Groups,DC=XXX,DC=XXX,DC=XXX"]]
}
}
I am also attaching the full service definition below:
{
@class : org.apereo.cas.support.saml.services.SamlRegisteredService
serviceId :
https://bomgar.XXX.XXX/appliance name : bomgar.XXX.XXX
id : 50092
evaluationOrder : 100
metadataLocation : /etc/cas/saml/metadata/BomgarAppliance-metadata.xml
accessStrategy : {
@class : org.apereo.cas.services.DefaultRegisteredServiceAccessStrategy
enabled : true
ssoEnabled : true
caseInsensitive: true
requireAllAttributes: false
unauthorizedRedirectUrl :
https://support.XXX.XXX requiredAttributes : {
@class : java.util.HashMap
memberOf : [ "java.util.HashSet", [ "CN=Bomgar_Admins,OU=Role Groups,OU=Groups,DC=XXX,DC=XXX,DC=XXX"]]
}
}
attributeReleasePolicy : {
@class : org.apereo.cas.services.ReturnAllowedAttributeReleasePolicy
allowedAttributes : [
java.util.ArrayList
[
displayName
mail
memberOf
]
]
}
requiredNameIdFormat: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
usernameAttributeProvider : {
@class : org.apereo.cas.services.PrincipalAttributeRegisteredServiceUsernameProvider
usernameAttribute : sAMAccountName
}
}
Any assistance would be greatly appreciated.