Performance Test - exception - SAMLRegisteredService

154 views
Skip to first unread message

Agus Santosa

unread,
Sep 27, 2024, 11:49:06 PM9/27/24
to CAS Community
Hi,

I am doing performance test for CAS 7.1.0 with Apache JMeter with the CAS_CAS.jmx template.
I disabled every step except for "GET - CAS Login Page" step, just to isolate the issue.
First case: I have 5 CASRegisteredService services, everything works fine, no error.
Second case: 5 CASRegisteredService service + 1 SAMLRegisteredService.

for the second case, I always get an exception after random amount of samples, average 0.3% error rate.
I tested with 7.0.5.1, and it did not happen. I could not replicate the issue under normal usage (limited to few users). 

I wonder if anyone has the same experience and can share some advices.

Thanks

Here is the exception:

2024-09-27 16:57:02,810 DEBUG [org.springframework.webflow.engine.impl.FlowExecutionImpl] - <Attempting to handle [org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing org.apereo.cas.web.flow.ServiceAuthorizationCheckAction@75acc1fe in state 'serviceAuthorizationCheck' of flow 'login' -- action execution attributes were 'map[[empty]]'] with root cause [java.lang.IllegalArgumentException: object is not an instance of declaring class]>
2024-09-27 16:57:02,810 DEBUG [org.springframework.webflow.engine.impl.FlowExecutionImpl] - <Rethrowing unhandled flow execution exception>
2024-09-27 16:57:02,814 DEBUG [org.springframework.webflow.engine.impl.FlowExecutionImpl] - <Attempting to handle [org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing org.apereo.cas.web.flow.ServiceAuthorizationCheckAction@75acc1fe in state 'serviceAuthorizationCheck' of flow 'login' -- action execution attributes were 'map[[empty]]'] with root cause [java.lang.IllegalArgumentException: object is not an instance of declaring class]>
2024-09-27 16:57:02,814 DEBUG [org.springframework.webflow.engine.impl.FlowExecutionImpl] - <Rethrowing unhandled flow execution exception>
2024-09-27 16:57:02,816 DEBUG [org.apereo.cas.web.FlowExecutionExceptionResolver] - <Ignoring the received exception [org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing org.apereo.cas.web.flow.ServiceAuthorizationCheckAction@75acc1fe in state 'serviceAuthorizationCheck' of flow 'login' -- action execution attributes were 'map[[empty]]'] due to a type mismatch with handler [[FlowHandlerMapping.DefaultFlowHandler@50182528]]>
2024-09-27 16:57:02,820 DEBUG [org.apereo.cas.web.FlowExecutionExceptionResolver] - <Ignoring the received exception [org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing org.apereo.cas.web.flow.ServiceAuthorizationCheckAction@75acc1fe in state 'serviceAuthorizationCheck' of flow 'login' -- action execution attributes were 'map[[empty]]'] due to a type mismatch with handler [[FlowHandlerMapping.DefaultFlowHandler@66c82b38]]>
2024-09-27 16:57:02,820 ERROR [org.apereo.cas.web.support.filters.AbstractSecurityFilter] - <Request processing failed: org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing org.apereo.cas.web.flow.ServiceAuthorizationCheckAction@75acc1fe in state 'serviceAuthorizationCheck' of flow 'login' -- action execution attributes were 'map[[empty]]'>
jakarta.servlet.ServletException: Request processing failed: org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing org.apereo.cas.web.flow.ServiceAuthorizationCheckAction@75acc1fe in state 'serviceAuthorizationCheck' of flow 'login' -- action execution attributes were 'map[[empty]]'
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1022) ~[spring-webmvc-6.1.12.jar!/:6.1.12]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.1.12.jar!/:6.1.12]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:633) ~[jakarta.servlet-api-6.1.0.jar!/:6.1.0]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.1.12.jar!/:6.1.12]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723) ~[jakarta.servlet-api-6.1.0.jar!/:6.1.0]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apereo.cas.web.support.filters.RequestParameterPolicyEnforcementFilter.doFilter(RequestParameterPolicyEnforcementFilter.java:393) ~[cas-server-core-web-api-7.1.0.jar!/:7.1.0]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apereo.cas.web.support.filters.ResponseHeadersEnforcementFilter.doFilter(ResponseHeadersEnforcementFilter.java:188) ~[cas-server-core-web-api-7.1.0.jar!/:7.1.0]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apereo.cas.web.support.filters.AddResponseHeadersFilter.doFilter(AddResponseHeadersFilter.java:62) ~[cas-server-core-web-api-7.1.0.jar!/:7.1.0]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:75) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:133) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) ~[spring-webmvc-6.1.12.jar!/:6.1.12]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) ~[spring-security-config-6.3.3.jar!/:6.3.3]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apereo.cas.logging.web.ThreadContextMDCServletFilter.doFilter(ThreadContextMDCServletFilter.java:105) ~[cas-server-core-logging-7.1.0.jar!/:7.1.0]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.12.jar!/:6.1.12]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.3.3.jar!/:6.3.3]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apereo.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:32) ~[cas-server-core-audit-api-7.1.0.jar!/:7.1.0]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apereo.cas.config.CasEmbeddedContainerTomcatFiltersConfiguration$1.doFilter(CasEmbeddedContainerTomcatFiltersConfiguration.java:85) ~[cas-server-webapp-init-tomcat-7.1.0.jar!/:7.1.0]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:663) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:731) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.28.jar!/:?]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:384) ~[tomcat-coyote-10.1.28.jar!/:10.1.28]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-coyote-10.1.28.jar!/:10.1.28]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:904) ~[tomcat-coyote-10.1.28.jar!/:10.1.28]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-coyote-10.1.28.jar!/:10.1.28]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-coyote-10.1.28.jar!/:10.1.28]
at java.base/java.lang.VirtualThread.run(VirtualThread.java:309) ~[?:?]
Caused by: org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing org.apereo.cas.web.flow.ServiceAuthorizationCheckAction@75acc1fe in state 'serviceAuthorizationCheck' of flow 'login' -- action execution attributes were 'map[[empty]]'
at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:62) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:77) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:101) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.State.enter(State.java:194) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Transition.execute(Transition.java:228) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.DecisionState.doEnter(DecisionState.java:51) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.State.enter(State.java:194) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Transition.execute(Transition.java:228) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.State.enter(State.java:194) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Transition.execute(Transition.java:228) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.State.enter(State.java:194) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Flow.start(Flow.java:527) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:368) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:223) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.executor.FlowExecutorImpl.launchExecution(FlowExecutorImpl.java:139) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.apereo.cas.web.flow.executor.WebflowExecutorFactory$CasFlowExecutorImpl.launchExecution(WebflowExecutorFactory.java:95) ~[cas-server-core-webflow-api-7.1.0.jar!/:7.1.0]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:102) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.apereo.cas.monitor.ExecutableObserver.executeJoinPoint(ExecutableObserver.java:84) ~[cas-server-core-api-monitor-7.1.0.jar!/:7.1.0]
at org.apereo.cas.monitor.ExecutableObserver.observe(ExecutableObserver.java:65) ~[cas-server-core-api-monitor-7.1.0.jar!/:7.1.0]
at org.apereo.cas.config.CasWebflowMonitoringConfiguration$CasWebflowMonitoringAspect.aroundWebflowOperations(CasWebflowMonitoringConfiguration.java:59) ~[cas-server-core-webflow-7.1.0.jar!/:7.1.0]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223) ~[spring-aop-6.1.12.jar!/:6.1.12]
at jdk.proxy2/jdk.proxy2.$Proxy177.launchExecution(Unknown Source) ~[?:?]
at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:264) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.apereo.cas.web.flow.CasFlowHandlerAdapter.handle(CasFlowHandlerAdapter.java:39) ~[cas-server-core-webflow-api-7.1.0.jar!/:7.1.0]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) ~[spring-webmvc-6.1.12.jar!/:6.1.12]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) ~[spring-webmvc-6.1.12.jar!/:6.1.12]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.1.12.jar!/:6.1.12]
... 101 more
Caused by: org.springframework.beans.InvalidPropertyException: Invalid property 'friendlyName' of bean class [org.apereo.cas.support.saml.services.SamlRegisteredService]: Illegal attempt to get property 'friendlyName' threw exception
at org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue(AbstractNestablePropertyAccessor.java:723) ~[spring-beans-6.1.12.jar!/:6.1.12]
at org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue(AbstractNestablePropertyAccessor.java:617) ~[spring-beans-6.1.12.jar!/:6.1.12]
at org.apereo.cas.services.query.RegisteredServiceQueryAttribute.getValue(RegisteredServiceQueryAttribute.java:66) ~[cas-server-core-services-registry-7.1.0.jar!/:7.1.0]
at org.apereo.cas.services.query.RegisteredServiceQueryAttribute.getValue(RegisteredServiceQueryAttribute.java:21) ~[cas-server-core-services-registry-7.1.0.jar!/:7.1.0]
at com.googlecode.cqengine.attribute.SimpleAttribute.getValues(SimpleAttribute.java:88) ~[cqengine-3.6.0.jar!/:?]
at com.googlecode.cqengine.index.support.AbstractMapBasedAttributeIndex.addAll(AbstractMapBasedAttributeIndex.java:74) ~[cqengine-3.6.0.jar!/:?]
at com.googlecode.cqengine.engine.CollectionQueryEngine$14.perform(CollectionQueryEngine.java:1376) ~[cqengine-3.6.0.jar!/:?]
at com.googlecode.cqengine.engine.CollectionQueryEngine.forEachIndexDo(CollectionQueryEngine.java:1457) ~[cqengine-3.6.0.jar!/:?]
at com.googlecode.cqengine.engine.CollectionQueryEngine.addAll(CollectionQueryEngine.java:1373) ~[cqengine-3.6.0.jar!/:?]
at com.googlecode.cqengine.ConcurrentIndexedCollection.add(ConcurrentIndexedCollection.java:372) ~[cqengine-3.6.0.jar!/:?]
at org.apereo.cas.services.mgmt.AbstractServicesManager.cacheRegisteredService(AbstractServicesManager.java:441) ~[cas-server-core-services-registry-7.1.0.jar!/:7.1.0]
at java.base/java.util.stream.ReferencePipeline$15$1.accept(ReferencePipeline.java:540) ~[?:?]
at java.base/java.util.stream.ReferencePipeline$15$1.accept(ReferencePipeline.java:541) ~[?:?]
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) ~[?:?]
at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395) ~[?:?]
at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:261) ~[?:?]
at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:261) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?]
at org.apereo.cas.services.mgmt.AbstractServicesManager.getAllServices(AbstractServicesManager.java:308) ~[cas-server-core-services-registry-7.1.0.jar!/:7.1.0]
at org.apereo.cas.services.mgmt.DefaultChainingServicesManager.lambda$getAllServices$14(DefaultChainingServicesManager.java:160) ~[cas-server-core-services-registry-7.1.0.jar!/:7.1.0]
at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) ~[?:?]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?]
at org.apereo.cas.services.mgmt.DefaultChainingServicesManager.getAllServices(DefaultChainingServicesManager.java:161) ~[cas-server-core-services-registry-7.1.0.jar!/:7.1.0]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:102) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.apereo.cas.monitor.ExecutableObserver.executeJoinPoint(ExecutableObserver.java:84) ~[cas-server-core-api-monitor-7.1.0.jar!/:7.1.0]
at org.apereo.cas.monitor.ExecutableObserver.observe(ExecutableObserver.java:65) ~[cas-server-core-api-monitor-7.1.0.jar!/:7.1.0]
at org.apereo.cas.monitor.ExecutableObserver.observe(ExecutableObserver.java:78) ~[cas-server-core-api-monitor-7.1.0.jar!/:7.1.0]
at org.apereo.cas.config.CasCoreServicesMonitoringConfiguration$ServicesManagerMonitoringAspect.aroundServiceManagementOperations(CasCoreServicesMonitoringConfiguration.java:48) ~[cas-server-core-services-7.1.0.jar!/:7.1.0]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223) ~[spring-aop-6.1.12.jar!/:6.1.12]
at jdk.proxy2/jdk.proxy2.$Proxy197.getAllServices(Unknown Source) ~[?:?]
at org.apereo.cas.web.flow.BaseServiceAuthorizationCheckAction.doExecuteInternal(BaseServiceAuthorizationCheckAction.java:38) ~[cas-server-support-actions-core-7.1.0.jar!/:7.1.0]
at org.apereo.cas.web.flow.actions.BaseCasWebflowAction.doExecute(BaseCasWebflowAction.java:57) ~[cas-server-core-webflow-api-7.1.0.jar!/:7.1.0]
at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:77) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:101) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.State.enter(State.java:194) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Transition.execute(Transition.java:228) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.DecisionState.doEnter(DecisionState.java:51) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.State.enter(State.java:194) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Transition.execute(Transition.java:228) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.State.enter(State.java:194) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Transition.execute(Transition.java:228) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.State.enter(State.java:194) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Flow.start(Flow.java:527) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:368) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:223) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.executor.FlowExecutorImpl.launchExecution(FlowExecutorImpl.java:139) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.apereo.cas.web.flow.executor.WebflowExecutorFactory$CasFlowExecutorImpl.launchExecution(WebflowExecutorFactory.java:95) ~[cas-server-core-webflow-api-7.1.0.jar!/:7.1.0]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:102) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.apereo.cas.monitor.ExecutableObserver.executeJoinPoint(ExecutableObserver.java:84) ~[cas-server-core-api-monitor-7.1.0.jar!/:7.1.0]
at org.apereo.cas.monitor.ExecutableObserver.observe(ExecutableObserver.java:65) ~[cas-server-core-api-monitor-7.1.0.jar!/:7.1.0]
at org.apereo.cas.config.CasWebflowMonitoringConfiguration$CasWebflowMonitoringAspect.aroundWebflowOperations(CasWebflowMonitoringConfiguration.java:59) ~[cas-server-core-webflow-7.1.0.jar!/:7.1.0]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223) ~[spring-aop-6.1.12.jar!/:6.1.12]
at jdk.proxy2/jdk.proxy2.$Proxy177.launchExecution(Unknown Source) ~[?:?]
at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:264) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.apereo.cas.web.flow.CasFlowHandlerAdapter.handle(CasFlowHandlerAdapter.java:39) ~[cas-server-core-webflow-api-7.1.0.jar!/:7.1.0]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) ~[spring-webmvc-6.1.12.jar!/:6.1.12]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) ~[spring-webmvc-6.1.12.jar!/:6.1.12]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.1.12.jar!/:6.1.12]
... 101 more
Caused by: java.lang.IllegalArgumentException: object is not an instance of declaring class
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.checkReceiver(DirectMethodHandleAccessor.java:197) ~[?:?]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:99) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at org.springframework.beans.BeanWrapperImpl$BeanPropertyHandler.getValue(BeanWrapperImpl.java:275) ~[spring-beans-6.1.12.jar!/:6.1.12]
at org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue(AbstractNestablePropertyAccessor.java:630) ~[spring-beans-6.1.12.jar!/:6.1.12]
at org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue(AbstractNestablePropertyAccessor.java:617) ~[spring-beans-6.1.12.jar!/:6.1.12]
at org.apereo.cas.services.query.RegisteredServiceQueryAttribute.getValue(RegisteredServiceQueryAttribute.java:66) ~[cas-server-core-services-registry-7.1.0.jar!/:7.1.0]
at org.apereo.cas.services.query.RegisteredServiceQueryAttribute.getValue(RegisteredServiceQueryAttribute.java:21) ~[cas-server-core-services-registry-7.1.0.jar!/:7.1.0]
at com.googlecode.cqengine.attribute.SimpleAttribute.getValues(SimpleAttribute.java:88) ~[cqengine-3.6.0.jar!/:?]
at com.googlecode.cqengine.index.support.AbstractMapBasedAttributeIndex.addAll(AbstractMapBasedAttributeIndex.java:74) ~[cqengine-3.6.0.jar!/:?]
at com.googlecode.cqengine.engine.CollectionQueryEngine$14.perform(CollectionQueryEngine.java:1376) ~[cqengine-3.6.0.jar!/:?]
at com.googlecode.cqengine.engine.CollectionQueryEngine.forEachIndexDo(CollectionQueryEngine.java:1457) ~[cqengine-3.6.0.jar!/:?]
at com.googlecode.cqengine.engine.CollectionQueryEngine.addAll(CollectionQueryEngine.java:1373) ~[cqengine-3.6.0.jar!/:?]
at com.googlecode.cqengine.ConcurrentIndexedCollection.add(ConcurrentIndexedCollection.java:372) ~[cqengine-3.6.0.jar!/:?]
at org.apereo.cas.services.mgmt.AbstractServicesManager.cacheRegisteredService(AbstractServicesManager.java:441) ~[cas-server-core-services-registry-7.1.0.jar!/:7.1.0]
at java.base/java.util.stream.ReferencePipeline$15$1.accept(ReferencePipeline.java:540) ~[?:?]
at java.base/java.util.stream.ReferencePipeline$15$1.accept(ReferencePipeline.java:541) ~[?:?]
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) ~[?:?]
at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395) ~[?:?]
at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:261) ~[?:?]
at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:261) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?]
at org.apereo.cas.services.mgmt.AbstractServicesManager.getAllServices(AbstractServicesManager.java:308) ~[cas-server-core-services-registry-7.1.0.jar!/:7.1.0]
at org.apereo.cas.services.mgmt.DefaultChainingServicesManager.lambda$getAllServices$14(DefaultChainingServicesManager.java:160) ~[cas-server-core-services-registry-7.1.0.jar!/:7.1.0]
at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) ~[?:?]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?]
at org.apereo.cas.services.mgmt.DefaultChainingServicesManager.getAllServices(DefaultChainingServicesManager.java:161) ~[cas-server-core-services-registry-7.1.0.jar!/:7.1.0]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:102) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.apereo.cas.monitor.ExecutableObserver.executeJoinPoint(ExecutableObserver.java:84) ~[cas-server-core-api-monitor-7.1.0.jar!/:7.1.0]
at org.apereo.cas.monitor.ExecutableObserver.observe(ExecutableObserver.java:65) ~[cas-server-core-api-monitor-7.1.0.jar!/:7.1.0]
at org.apereo.cas.monitor.ExecutableObserver.observe(ExecutableObserver.java:78) ~[cas-server-core-api-monitor-7.1.0.jar!/:7.1.0]
at org.apereo.cas.config.CasCoreServicesMonitoringConfiguration$ServicesManagerMonitoringAspect.aroundServiceManagementOperations(CasCoreServicesMonitoringConfiguration.java:48) ~[cas-server-core-services-7.1.0.jar!/:7.1.0]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223) ~[spring-aop-6.1.12.jar!/:6.1.12]
at jdk.proxy2/jdk.proxy2.$Proxy197.getAllServices(Unknown Source) ~[?:?]
at org.apereo.cas.web.flow.BaseServiceAuthorizationCheckAction.doExecuteInternal(BaseServiceAuthorizationCheckAction.java:38) ~[cas-server-support-actions-core-7.1.0.jar!/:7.1.0]
at org.apereo.cas.web.flow.actions.BaseCasWebflowAction.doExecute(BaseCasWebflowAction.java:57) ~[cas-server-core-webflow-api-7.1.0.jar!/:7.1.0]
at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:77) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:101) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.State.enter(State.java:194) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Transition.execute(Transition.java:228) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.DecisionState.doEnter(DecisionState.java:51) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.State.enter(State.java:194) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Transition.execute(Transition.java:228) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.State.enter(State.java:194) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Transition.execute(Transition.java:228) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.State.enter(State.java:194) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.Flow.start(Flow.java:527) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:368) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:223) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.springframework.webflow.executor.FlowExecutorImpl.launchExecution(FlowExecutorImpl.java:139) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.apereo.cas.web.flow.executor.WebflowExecutorFactory$CasFlowExecutorImpl.launchExecution(WebflowExecutorFactory.java:95) ~[cas-server-core-webflow-api-7.1.0.jar!/:7.1.0]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:102) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.apereo.cas.monitor.ExecutableObserver.executeJoinPoint(ExecutableObserver.java:84) ~[cas-server-core-api-monitor-7.1.0.jar!/:7.1.0]
at org.apereo.cas.monitor.ExecutableObserver.observe(ExecutableObserver.java:65) ~[cas-server-core-api-monitor-7.1.0.jar!/:7.1.0]
at org.apereo.cas.config.CasWebflowMonitoringConfiguration$CasWebflowMonitoringAspect.aroundWebflowOperations(CasWebflowMonitoringConfiguration.java:59) ~[cas-server-core-webflow-7.1.0.jar!/:7.1.0]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.1.12.jar!/:6.1.12]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223) ~[spring-aop-6.1.12.jar!/:6.1.12]
at jdk.proxy2/jdk.proxy2.$Proxy177.launchExecution(Unknown Source) ~[?:?]
at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:264) ~[spring-webflow-3.0.0.jar!/:3.0.0]
at org.apereo.cas.web.flow.CasFlowHandlerAdapter.handle(CasFlowHandlerAdapter.java:39) ~[cas-server-core-webflow-api-7.1.0.jar!/:7.1.0]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) ~[spring-webmvc-6.1.12.jar!/:6.1.12]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) ~[spring-webmvc-6.1.12.jar!/:6.1.12]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.1.12.jar!/:6.1.12]
... 101 more



Nathan Cailbourdin

unread,
Oct 11, 2024, 11:37:46 AM10/11/24
to CAS Community, Agus Santosa
Hi,

I am facing the exact same issue during my load testing since I upgraded CAS to version 7.1.0 with OIDC and SAML services.
While I haven't been able to find a solution yet, I can provide some additional information:

- Setting the property cas.service-registry.core.index-services to false makes the error disappear (but this is not a viable solution because with this setting OIDC services are no longer retrieved by the service registry).

- Protecting the problematic part of the code from concurrent access with a lock makes the error disappear:
    private void cacheRegisteredService(final RegisteredService service) {
        configurationContext.getServicesCache().put(service.getId(), service);
        if (configurationContext.getCasProperties().getServiceRegistry().getCore().isIndexServices()) {
            lock.tryLock(__ -> {
                indexedRegisteredServices.removeIf(registeredService -> registeredService.getId() == service.getId());
                indexedRegisteredServices.add(service);
            });
        }
    }
However, this is not a viable solution either, as it results in a significant performance loss (about 4 times slower).

- Changing the type of indexedRegisteredServices to ObjectLockingIndexedCollection or TransactionalIndexedCollection does not resolve the issue.

- If we remove the removeIf from the method, the error still appears but on the next line (the add).

I tried to go through the history of the AbstractServicesManager.java file, but I couldn't find any changes that might have caused this issue.
From what I understand, the problem seems to be caused by concurrent access to indexedRegisteredServices.

Nathan

John Wagenleitner

unread,
Oct 19, 2024, 12:46:56 AM10/19/24
to CAS Community, Nathan Cailbourdin, Agus Santosa
Just wanted to mention we see the same issue with v7.1.1 and consistently happens with a load of 3 or more concurrent requests/users.

tse thomas (thomasxd24)

unread,
Nov 6, 2025, 1:26:48 PMNov 6
to CAS Community, John Wagenleitner, Nathan Cailbourdin, Agus Santosa

I also use CAS and i also have these issues.

Since 7.3.0 i dont have these issues though
Reply all
Reply to author
Forward
0 new messages