Method not found error after 8.4 upgrade

We just upgraded to 8.4 and upon testing the JML i’m getting the below errors.

An unexpected error occurred: ‘void sailpoint.object.IdentityRequest.assimilateResultState(sailpoint.object.ProvisioningResult, sailpoint.object.IdentityRequestItem)’
An unexpected error occurred: ‘int sailpoint.object.IdentityRequest.applyResultMessages(sailpoint.object.ProvisioningResult)’
An unexpected error occurred: ‘int sailpoint.object.IdentityRequest.applyResultMessages(sailpoint.object.ProvisioningResult)’

The event is working but is causing the task to fail.

Looks look like i’m getting this for requests as well.

Could you explain a bit more about this?

Edit: It clearly has something to do with the IdentityRequestLibrary, both requests are stuck in a waiting state, I can’t cancel the request (it’s completed fine) and it won’t complete.

When I put in request into LCM provisioning, I get this error. The request works, but it stalls out in executing with those 3 errors on the task.

I’m currently using the old JML framework from Sailpoint (SP LCE Joiner/Mover/Leaver). When one of those events completes it gives me those 3 errors and fails the task/keeps the request open. Both are completing the actual action but the task/request are broken.

2025-09-09 09:28:21 ERROR ScriptletEvaluator:143 - appd_node_id= appd_bt_id= appd_request_guid= - Step call threw an exception:
2025-09-09 09:28:21 ERROR ScriptletEvaluator:144 - appd_node_id= appd_bt_id= appd_request_guid= - java.lang.NoSuchMethodError: 'int sailpoint.object.IdentityRequest.applyResultMessages(sailpoint.object.ProvisioningResult)'
	at sailpoint.workflow.IdentityRequestLibrary$RequestResultAnnotator.applyPlanResult(IdentityRequestLibrary.java:2984)
	at sailpoint.workflow.IdentityRequestLibrary$RequestResultAnnotator.annotateItems(IdentityRequestLibrary.java:2927)
	at sailpoint.workflow.IdentityRequestLibrary.completeIdentityRequest(IdentityRequestLibrary.java:780)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at sailpoint.server.ScriptletEvaluator.doCall(ScriptletEvaluator.java:134)
	at sailpoint.server.ScriptletEvaluator.evalSource(ScriptletEvaluator.java:63)
	at sailpoint.api.Workflower.evalSource(Workflower.java:5937)
	at sailpoint.api.Workflower.advanceStep(Workflower.java:5176)
	at sailpoint.api.Workflower.advance(Workflower.java:4563)
	at sailpoint.api.Workflower.advanceSubcase(Workflower.java:5503)
	at sailpoint.api.Workflower.advanceStep(Workflower.java:5096)
	at sailpoint.api.Workflower.raiseCondition(Workflower.java:4761)
	at sailpoint.api.Workflower.completeCase(Workflower.java:4690)
	at sailpoint.api.Workflower.advance(Workflower.java:4584)
	at sailpoint.api.Workflower.advanceSubcase(Workflower.java:5503)
	at sailpoint.api.Workflower.advanceStep(Workflower.java:5096)
	at sailpoint.api.Workflower.advance(Workflower.java:4563)
	at sailpoint.api.Workflower.assimilate(Workflower.java:4213)
	at sailpoint.api.Workflower.handleWorkItem(Workflower.java:7651)
	at sailpoint.api.Workflower.process(Workflower.java:1858)
	at sailpoint.api.Workflower.process(Workflower.java:1882)
	at sailpoint.api.WorkflowSession.advance(WorkflowSession.java:468)
	at sailpoint.service.WorkflowSessionService.advance(WorkflowSessionService.java:105)
	at sailpoint.service.ApprovalWorkItemService.complete(ApprovalWorkItemService.java:243)
	at sailpoint.rest.ui.ApprovalWorkItemResource.complete(ApprovalWorkItemResource.java:121)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)
	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:475)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:397)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81)
	at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:255)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:234)
	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:684)
	at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394)
	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:366)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:319)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at sailpoint.web.SailPointResponseFilter.doFilter(SailPointResponseFilter.java:76)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at sailpoint.rest.jaxrs.MethodOverrideFilter.doFilter(MethodOverrideFilter.java:90)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at sailpoint.rest.RestCsrfValidationFilter.doFilter(RestCsrfValidationFilter.java:71)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at sailpoint.rest.AuthenticationFilter.doFilter(AuthenticationFilter.java:109)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at sailpoint.web.SailPointContextRequestFilter.doFilter(SailPointContextRequestFilter.java:68)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at sailpoint.web.SailPointPollingRequestFilter.doFilter(SailPointPollingRequestFilter.java:151)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at sailpoint.web.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:63)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:656)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:935)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1826)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
	at java.base/java.lang.Thread.run(Thread.java:829)

2025-09-09 09:28:21 ERROR Workflower:4605 - appd_node_id= appd_bt_id= appd_request_guid= - An unexpected error occurred: 'int sailpoint.object.IdentityRequest.applyResultMessages(sailpoint.object.ProvisioningResult)'
sailpoint.tools.GeneralException: 'int sailpoint.object.IdentityRequest.applyResultMessages(sailpoint.object.ProvisioningResult)'
	at sailpoint.server.ScriptletEvaluator.doCall(ScriptletEvaluator.java:149) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.server.ScriptletEvaluator.evalSource(ScriptletEvaluator.java:63) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.api.Workflower.evalSource(Workflower.java:5937) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.api.Workflower.advanceStep(Workflower.java:5176) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.api.Workflower.advance(Workflower.java:4563) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.api.Workflower.advanceSubcase(Workflower.java:5503) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.api.Workflower.advanceStep(Workflower.java:5096) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.api.Workflower.raiseCondition(Workflower.java:4761) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.api.Workflower.completeCase(Workflower.java:4690) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.api.Workflower.advance(Workflower.java:4584) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.api.Workflower.advanceSubcase(Workflower.java:5503) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.api.Workflower.advanceStep(Workflower.java:5096) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.api.Workflower.advance(Workflower.java:4563) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.api.Workflower.assimilate(Workflower.java:4213) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.api.Workflower.handleWorkItem(Workflower.java:7651) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.api.Workflower.process(Workflower.java:1858) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.api.Workflower.process(Workflower.java:1882) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.api.WorkflowSession.advance(WorkflowSession.java:468) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.service.WorkflowSessionService.advance(WorkflowSessionService.java:105) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.service.ApprovalWorkItemService.complete(ApprovalWorkItemService.java:243) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.rest.ui.ApprovalWorkItemResource.complete(ApprovalWorkItemResource.java:121) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52) ~[jersey-server-2.35.jar:?]
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124) [jersey-server-2.35.jar:?]
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167) [jersey-server-2.35.jar:?]
	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219) [jersey-server-2.35.jar:?]
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79) [jersey-server-2.35.jar:?]
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:475) [jersey-server-2.35.jar:?]
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:397) [jersey-server-2.35.jar:?]
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81) [jersey-server-2.35.jar:?]
	at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:255) [jersey-server-2.35.jar:?]
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) [jersey-common-2.35.jar:?]
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) [jersey-common-2.35.jar:?]
	at org.glassfish.jersey.internal.Errors.process(Errors.java:292) [jersey-common-2.35.jar:?]
	at org.glassfish.jersey.internal.Errors.process(Errors.java:274) [jersey-common-2.35.jar:?]
	at org.glassfish.jersey.internal.Errors.process(Errors.java:244) [jersey-common-2.35.jar:?]
	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265) [jersey-common-2.35.jar:?]
	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:234) [jersey-server-2.35.jar:?]
	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:684) [jersey-server-2.35.jar:?]
	at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394) [jersey-container-servlet-core-2.35.jar:?]
	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346) [jersey-container-servlet-core-2.35.jar:?]
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:366) [jersey-container-servlet-core-2.35.jar:?]
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:319) [jersey-container-servlet-core-2.35.jar:?]
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205) [jersey-container-servlet-core-2.35.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199) [catalina.jar:9.0.107]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) [catalina.jar:9.0.107]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) [tomcat-websocket.jar:9.0.107]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) [catalina.jar:9.0.107]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) [catalina.jar:9.0.107]
	at sailpoint.web.SailPointResponseFilter.doFilter(SailPointResponseFilter.java:76) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) [catalina.jar:9.0.107]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) [catalina.jar:9.0.107]
	at sailpoint.rest.jaxrs.MethodOverrideFilter.doFilter(MethodOverrideFilter.java:90) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) [catalina.jar:9.0.107]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) [catalina.jar:9.0.107]
	at sailpoint.rest.RestCsrfValidationFilter.doFilter(RestCsrfValidationFilter.java:71) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) [catalina.jar:9.0.107]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) [catalina.jar:9.0.107]
	at sailpoint.rest.AuthenticationFilter.doFilter(AuthenticationFilter.java:109) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) [catalina.jar:9.0.107]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) [catalina.jar:9.0.107]
	at sailpoint.web.SailPointContextRequestFilter.doFilter(SailPointContextRequestFilter.java:68) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) [catalina.jar:9.0.107]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) [catalina.jar:9.0.107]
	at sailpoint.web.SailPointPollingRequestFilter.doFilter(SailPointPollingRequestFilter.java:151) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) [catalina.jar:9.0.107]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) [catalina.jar:9.0.107]
	at sailpoint.web.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:63) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) [catalina.jar:9.0.107]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) [catalina.jar:9.0.107]
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-5.2.24.RELEASE.jar:5.2.24.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.2.24.RELEASE.jar:5.2.24.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) [catalina.jar:9.0.107]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) [catalina.jar:9.0.107]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) [catalina.jar:9.0.107]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) [catalina.jar:9.0.107]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) [catalina.jar:9.0.107]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) [catalina.jar:9.0.107]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) [catalina.jar:9.0.107]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:656) [catalina.jar:9.0.107]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [catalina.jar:9.0.107]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346) [catalina.jar:9.0.107]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) [tomcat-coyote.jar:9.0.107]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) [tomcat-coyote.jar:9.0.107]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:935) [tomcat-coyote.jar:9.0.107]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1826) [tomcat-coyote.jar:9.0.107]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) [tomcat-coyote.jar:9.0.107]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189) [tomcat-util.jar:9.0.107]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658) [tomcat-util.jar:9.0.107]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) [tomcat-util.jar:9.0.107]
	at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.lang.NoSuchMethodError: 'int sailpoint.object.IdentityRequest.applyResultMessages(sailpoint.object.ProvisioningResult)'
	at sailpoint.workflow.IdentityRequestLibrary$RequestResultAnnotator.applyPlanResult(IdentityRequestLibrary.java:2984) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.workflow.IdentityRequestLibrary$RequestResultAnnotator.annotateItems(IdentityRequestLibrary.java:2927) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at sailpoint.workflow.IdentityRequestLibrary.completeIdentityRequest(IdentityRequestLibrary.java:780) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at sailpoint.server.ScriptletEvaluator.doCall(ScriptletEvaluator.java:134) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
	... 93 more

When you upgraded to 8.4, did you replace the identityiq.jar file in WEB-INF/lib?

That is a new method used by the IdentityRequest class in 8.4. If you are still referencing the 8.3 (or older) identityiq.jar, that method will not be found.

The new libraries need to be added to all identityiq servers, then restart tomcat on each.

Thats what I thought but this is the jar file from the zip file of 8.4

Another possibility (and I’ve had this happen with clients where I came into an existing implementation) is that a duplicate IdentityRequest class instance is compiled in a separate jar as well. This could be someone’s custom compiled jar, or an obsolete file somewhere else in the tomcat build path.

Are there any other old jar files from the previous version? A lot of files get updated version numbers, so if you don’t delete the old jar, it can create conflicts. It’s possible IdentityRequest is compiled in one of those.

I would start with checking any custom jar files you have to see if the sailpoint.object.IdentityRequest is compiled in any of those, then look to see if there are any old jar files that aren’t part of the 8.4 package specifically. A quick test would be to delete the lib and lib-connectors folders (back them up first), and just copy in the jars from the 8.4 download. If that resolves that error, then you know IdentityRequest is compiled somewhere else, too.

Just tried this and still nothing, the only customization we have is Logiplex, which doesn’t have it.

How do you deploy your IIQ?

You should do a clean deploy.

  1. Meaning delete identityiq (or whatever you call it) folder from your webapps in tomcat and do full deployment.
  2. For the purpose of testing only have one IIQ server running (the one with clean install)

This is pretty interesting because both classes IdentityRequestLibrary and IdentityRequest are part of the same jar. But somehow classloader managed to get a hold of implementation that does not have desired method (most likely from previous version). That is why I’m asking about your deployment method.

Manual deployment. I zipped up the old identityiq folder and then moved it out of tomcat. I then downloaded the 8.4 from community, unzipped it, copied it to the webapps folder and updated the iiq properties/log4j2/key + date file. I then copied over the logiplex into the proper spot and booted up. About as clean as I can get outside making a new database for it. I just tried to patch to 8.4p1 and still same error. I’ve also rebooted the server as well.

Hmmm.

Do you have configured your iiq to be able to connect to debug port from you IDE (Intellij or Eclipse) ?

We could look at the stacktrace and some other things?

Are you talking about Remote Debugging from IIQDA?

I’m talking about: -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n

I do not have this set up. We’ve never had the need for it.

look at how I can see where my IdentityRequest class is from:

This is using Intellij and the debug setting above.

And it’s very simple to configure, just add that to java setting in your tomcat.

Correction, this will show the class depending on intellij Library setting. As this is very strange a deeper investigation may be needed. I’ve come across this article. You could write that code and in debug mode before the call to IdentityRequest.applyResultMessages() invoke it to see the classpath of the current classLoader.

This should give you the information about where is this coming from.

Does this sound doable?