Open DuncanDoyle opened 8 years ago
After configuring the simulation parameters, we're still unable to run simulation on this process due to the following error:
The process may have unstructured loops where one instance of a loop is not finished before another is started. Simulation currently does not support such processes.
See https://issues.jboss.org/browse/RHBPMS-4006
So, we either need to change the process to allow for simulation, or we need to explain why simulation is not possible. Will still update the improved process definition in Git, so we at least have the simulation params fully pre-configured and process validation completest without errors.
Additional problems with simulation:
When I'm trying to run a simulation it shows me an error 11:09:37,364 ERROR [org.jbpm.designer.web.server.SimulationServlet] (default task-37) Error during simulation: java.lang.RuntimeException: Unable to calculate paths of the process - max size (100) of paths exceeded
This is the test that I'm running:
Full stack trace:
14:56:58,914 ERROR [org.jbpm.designer.web.server.SimulationServlet] (default task-100) Error during simulation: java.lang.RuntimeException: Unable to calculate paths of the process - max size (100) of paths exceeded at org.jbpm.simulation.PathContextManager.checkSize(PathContextManager.java:231) at org.jbpm.simulation.PathContextManager.getContextFromStack(PathContextManager.java:52) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:41) at org.jbpm.simulation.handler.GatewayElementHandler.handleExclusiveGateway(GatewayElementHandler.java:68) at org.jbpm.simulation.handler.GatewayElementHandler.handle(GatewayElementHandler.java:41) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:54) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:59) at org.jbpm.simulation.handler.GatewayElementHandler.handleExclusiveGateway(GatewayElementHandler.java:68) at org.jbpm.simulation.handler.GatewayElementHandler.handle(GatewayElementHandler.java:41) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:54) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.ActivityElementHandler.handle(ActivityElementHandler.java:61) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:63) at org.jbpm.simulation.handler.GatewayElementHandler.handleExclusiveGateway(GatewayElementHandler.java:68) at org.jbpm.simulation.handler.GatewayElementHandler.handle(GatewayElementHandler.java:41) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:54) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.ActivityElementHandler.handle(ActivityElementHandler.java:61) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:63) at org.jbpm.simulation.handler.GatewayElementHandler.handleExclusiveGateway(GatewayElementHandler.java:68) at org.jbpm.simulation.handler.GatewayElementHandler.handle(GatewayElementHandler.java:41) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:54) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.ActivityElementHandler.handle(ActivityElementHandler.java:61) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:63) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.ActivityElementHandler.handle(ActivityElementHandler.java:61) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:63) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:59) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.ActivityElementHandler.handle(ActivityElementHandler.java:56) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:63) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:59) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.ActivityElementHandler.handle(ActivityElementHandler.java:61) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:63) at org.jbpm.simulation.handler.ActivityElementHandler.handleSeparatePaths(ActivityElementHandler.java:81) at org.jbpm.simulation.handler.ActivityElementHandler.handle(ActivityElementHandler.java:50) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:63) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:59) at org.jbpm.simulation.handler.GatewayElementHandler.handleExclusiveGateway(GatewayElementHandler.java:68) at org.jbpm.simulation.handler.GatewayElementHandler.handle(GatewayElementHandler.java:41) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:54) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.ActivityElementHandler.handle(ActivityElementHandler.java:61) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:63) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:59) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.ActivityElementHandler.handle(ActivityElementHandler.java:61) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:63) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.ActivityElementHandler.handle(ActivityElementHandler.java:61) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:63) at org.jbpm.simulation.handler.GatewayElementHandler.handleExclusiveGateway(GatewayElementHandler.java:68) at org.jbpm.simulation.handler.GatewayElementHandler.handle(GatewayElementHandler.java:41) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:54) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.ActivityElementHandler.handle(ActivityElementHandler.java:61) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:63) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:59) at org.jbpm.simulation.handler.DefaultElementHandler.handle(DefaultElementHandler.java:34) at org.jbpm.simulation.handler.MainElementHandler.handle(MainElementHandler.java:67) at org.jbpm.simulation.impl.BPMN2PathFinderImpl.findPaths(BPMN2PathFinderImpl.java:121) at org.jbpm.simulation.impl.BPMN2PathFinderImpl.findPaths(BPMN2PathFinderImpl.java:147) at org.jbpm.simulation.SimulationRunner.runSimulation(SimulationRunner.java:83) at org.jbpm.simulation.SimulationRunner.runSimulation(SimulationRunner.java:73) at org.jbpm.designer.web.server.SimulationServlet.doPost(SimulationServlet.java:253) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) at org.uberfire.ext.security.server.SecureHeadersFilter.doFilter(SecureHeadersFilter.java:69) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.uberfire.ext.security.server.SecurityIntegrationFilter.doFilter(SecurityIntegrationFilter.java:57) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) at io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50) at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:285) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:264) at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81) at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:175) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:792) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
After discussing with Maciej, the problem is that the process has unstructured loops (a loop that starts another loop without ending the current one). So we either: a) Need to change the process. b) Live with the fact that simulation doesn't work for this specific process.
Need to investigate how much effort it would be to adapt the process.
The simulation parameters in the process have not been configured properly, hence simulation does not give proper results.