Bug 1028597 - Run simulation not working for HR process
Summary: Run simulation not working for HR process
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss BPMS Platform 6
Classification: Retired
Component: jBPM Designer
Version: 6.0.0
Hardware: All
OS: All
high
high
Target Milestone: ER5
: 6.0.0
Assignee: Maciej Swiderski
QA Contact: Tomas Livora
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-11-08 20:21 UTC by Roger Martínez
Modified: 2014-08-06 20:08 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-08-06 20:08:59 UTC
Type: Bug


Attachments (Terms of Use)

Description Roger Martínez 2013-11-08 20:21:22 UTC
Description of problem:

Running simulation for HR process int the process designer widget does not work.

Honestly, IDK so much about how process simulation works, so could be possible that I'm doing some mistakes when trying to run the simulation. 
Anyway, I think the exception thrown should not appear.

Version-Release number of selected component (if applicable):

6.0.0-SNAPSHOT, not tested in 6.1.1 yet.

How reproducible:


Steps to Reproduce:
1.  Deploy kie-wb-webapp version 6.0.0 in a EAP installation.
2.  Go to project authoring perspective
3.  Select jbpm-playground repository
4.  Open the hiring process (HR) definition with process designer.
5.  Click on "run simulation" icon
6.  Set number of instances: 2
7.  Set interval: 1
8.  Click on "Run simulation" button
9.  An exception is thrown.

Actual results:

An exception is thrown:

21:17:01,555 ERROR [org.jbpm.designer.web.server.SimulationServlet] (http-localhost/127.0.0.1:8080-1) Error during simulation: org.jbpm.workflow.instance.WorkflowRuntimeException: [hiring:1 - HR Interview:2] -- Index: 0, Size: 0
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:161) [jbpm-flow-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:337) [jbpm-flow-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:352) [jbpm-flow-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.simulation.impl.SimulationStartNodeInstance.internalTrigger(SimulationStartNodeInstance.java:32) [jbpm-simulation-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:155) [jbpm-flow-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:35) [jbpm-flow-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:222) [jbpm-flow-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:358) [jbpm-flow-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.process.instance.ProcessRuntimeImpl.startProcessInstance(ProcessRuntimeImpl.java:189) [jbpm-flow-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:171) [jbpm-flow-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:163) [jbpm-flow-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.drools.core.common.AbstractWorkingMemory.startProcess(AbstractWorkingMemory.java:1573) [drools-core-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.drools.core.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:361) [drools-core-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.simulation.impl.SimulateProcessPathCommand.execute(SimulateProcessPathCommand.java:44) [jbpm-simulation-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.simulation.impl.SimulateProcessPathCommand.execute(SimulateProcessPathCommand.java:13) [jbpm-simulation-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.drools.simulation.impl.Simulator$DefaultCommandExecutionHandler.execute(Simulator.java:188) [drools-simulator-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.drools.simulation.impl.Simulator.executeNextStep(Simulator.java:150) [drools-simulator-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.drools.simulation.impl.Simulator.run(Simulator.java:111) [drools-simulator-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.drools.simulation.fluent.simulation.impl.DefaultSimulationFluent.runSimulation(DefaultSimulationFluent.java:184) [drools-simulator-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.drools.simulation.fluent.simulation.impl.DefaultSimulationFluent.runSimulation(DefaultSimulationFluent.java:179) [drools-simulator-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.simulation.SimulationRunner.runSimulation(SimulationRunner.java:105) [jbpm-simulation-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.simulation.SimulationRunner.runSimulation(SimulationRunner.java:50) [jbpm-simulation-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.designer.web.server.SimulationServlet.doPost(SimulationServlet.java:173) [jbpm-designer-backend-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.jboss.solder.servlet.exception.CatchExceptionFilter.doFilter(CatchExceptionFilter.java:65) [solder-impl-3.2.1.Final.jar:3.2.1.Final]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.jboss.solder.servlet.event.ServletEventBridgeFilter.doFilter(ServletEventBridgeFilter.java:74) [solder-impl-3.2.1.Final.jar:3.2.1.Final]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.jbpm.designer.web.filter.impl.PluggableFilter.doFilter(PluggableFilter.java:70) [jbpm-designer-backend-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:407) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
        at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
        at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:408) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_40]
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.rangeCheck(ArrayList.java:635) [rt.jar:1.7.0_40]
        at java.util.ArrayList.get(ArrayList.java:411) [rt.jar:1.7.0_40]
        at org.jbpm.simulation.impl.ht.AllocatedResources.allocate(AllocatedResources.java:34) [jbpm-simulation-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.simulation.impl.ht.Range.allocate(Range.java:38) [jbpm-simulation-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.simulation.impl.ht.RangeChain.allocateWork(RangeChain.java:22) [jbpm-simulation-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.simulation.impl.ht.StaffPoolImpl.allocate(StaffPoolImpl.java:115) [jbpm-simulation-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.simulation.impl.ht.StaffPoolImpl.allocate(StaffPoolImpl.java:121) [jbpm-simulation-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.simulation.impl.simulators.HumanTaskActivitySimulator.simulate(HumanTaskActivitySimulator.java:39) [jbpm-simulation-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.simulation.impl.SimulationNodeInstance.internalTrigger(SimulationNodeInstance.java:24) [jbpm-simulation-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:155) [jbpm-flow-6.0.0-SNAPSHOT.jar:6.0.0-SNAPSHOT]
        ... 50 more

Expected results:


Additional info:

Comment 2 Maciej Swiderski 2013-11-12 13:03:56 UTC
the main issue with this is that there is no values given for simulation properties and thus the exception is thrown. I fixed the simulation engine to do not fail on such case but simply produce appropriate results which in case of empty simulation properties is empty results.

droolsjbpm-integration
master:
https://github.com/droolsjbpm/droolsjbpm-integration/commit/d1bcdc59eaad4779558b1ad1ebe8530cc4915e8d

currently only on master and waiting for all acks to be back ported to 6.0.x.

If needed we can update process definition that comes from the jbpm-playground repo to have valid simulation properties out of the box to produce meaningful results.

Comment 4 Tomas Livora 2013-12-02 14:46:18 UTC
Verified on BPMS 6.0.0.ER5


Note You need to log in before you can comment on or make changes to this bug.