Initialization operations completed with errors.
Please resolve the problem(s) before the application server can accept requests.
Unable to start service WorkflowService. java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
07/28/2019 10:35:42.463 ERROR (ServerService Thread Pool – 140) [com.aveksa.server.core.Container]
Unable to start service WorkflowService.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.get(ArrayList.java:433)
at com.aveksa.server.workflow.scripts.action.ChangeRequestActions.cancelPendingWorkItems(ChangeRequestActions.java:1341)
at com.aveksa.server.workflow.scripts.action.ChangeRequestActions.cancelPendingCRWithDependencies(ChangeRequestActions.java:1500)
at com.aveksa.server.workflow.PendingSubmissionsTask.deletePendingSubmissions(PendingSubmissionsTask.java:57)
at com.aveksa.server.workflow.PendingSubmissionsTask.process(PendingSubmissionsTask.java:44)
at com.aveksa.server.workflow.WorkflowServiceProvider.createPendingSubmissionsTask(WorkflowServiceProvider.java:469)
at com.aveksa.server.workflow.WorkflowServiceProvider.start(WorkflowServiceProvider.java:527)
at com.aveksa.server.core.Container.startService(Container.java:144)
at com.aveksa.server.core.Container.initialize(Container.java:105)
at com.aveksa.server.runtime.AveksaSystem.doStartupOperations(AveksaSystem.java:373)
at com.aveksa.server.runtime.AveksaSystem.initialize(AveksaSystem.java:346)
at com.aveksa.init.Startup.init(Startup.java:52)
at com.aveksa.gui.core.ACMFramework.init(ACMFramework.java:94)
at com.aveksa.gui.core.ACMFramework.initInstance(ACMFramework.java:83)
at com.aveksa.init.InitServlet.init(InitServlet.java:42)
at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:117)
at org.wildfly.extension.undertow.security.RunAsLifecycleInterceptor.handle(RunAsLifecycleInterceptor.java:65)
at org.wildfly.extension.undertow.security.RunAsLifecycleInterceptor.init(RunAsLifecycleInterceptor.java:76)
at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:103)
at io.undertow.servlet.core.ManagedServlet$DefaultInstanceStrategy.start(ManagedServlet.java:250)
at io.undertow.servlet.core.ManagedServlet.createServlet(ManagedServlet.java:133)
at io.undertow.servlet.core.DeploymentManagerImpl$2.call(DeploymentManagerImpl.java:546)
at io.undertow.servlet.core.DeploymentManagerImpl$2.call(DeploymentManagerImpl.java:517)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
at io.undertow.servlet.core.DeploymentManagerImpl.start(DeploymentManagerImpl.java:559)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:101)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:82)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
at org.jboss.threads.JBossThread.run(JBossThread.java:320)
This is a known issue reported in ACM-99916.
This problem was caused by a code defect that corrupted a workflow work item such that it was missing some transition data. On startup we try to cleanup pending submissions which are submissions that get stuck and never create a proper change request. The purpose of the cleanup is to restart these stuck submissions. We do this by rejecting all the underlying workflow items that were already created. In this case, because one of the work items being rejected did not have a proper transition, the rejection itself was failing and generated the error which prevented RSA Identity Governance & Lifecycle from starting up.