org.bonitasoft.engine.core.process.instance.api.exceptions.SFlowNodeNotFoundException

JIRA | florian.baillagou | 2 weeks ago
  1. 0

    Aborting parallel multi-instantiation human task does not wait for "child tasks" to abort before aborting itself leading to SFlowNodeNotFoundException. Looking into the database, the 'multi' task has the following states : initializing -> executing -> aborting activity with boundary -> aborting -> aborted. The 'user' task has the following states : initializing -> ready -> aborting activity with boundary -> failed The error is quite random, sometimes it happens with 20 parallel tasks but it does not with 100 tasks. Here is the stack trace (It's the same stacktrace for each failed humantask). {code:java} org.bonitasoft.engine.core.process.instance.api.exceptions.SFlowNodeNotFoundException: at org.bonitasoft.engine.core.process.instance.impl.FlowNodeInstancesServiceImpl.getFlowNodeInstance(FlowNodeInstancesServiceImpl.java:258) at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.childFinished(FlowNodeExecutorImpl.java:262) at org.bonitasoft.engine.execution.ContainerRegistry.nodeReachedState(ContainerRegistry.java:67) at org.bonitasoft.engine.execution.work.NotifyChildFinishedWork.work(NotifyChildFinishedWork.java:63) at org.bonitasoft.engine.execution.work.TxBonitaWork$1.call(TxBonitaWork.java:48) at org.bonitasoft.engine.execution.work.TxBonitaWork$1.call(TxBonitaWork.java:44) at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:307) at org.bonitasoft.engine.execution.work.TxBonitaWork.work(TxBonitaWork.java:53) at org.bonitasoft.engine.execution.work.LockProcessInstanceWork.work(LockProcessInstanceWork.java:79) at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42) at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42) at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42) at org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork.work(FailureHandlingBonitaWork.java:66) at org.bonitasoft.engine.work.BonitaWork.run(BonitaWork.java:56) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) {code} I don't expect a fix for the 6.5.4 version. Maybe you can check on the latest version to see if the issue is still there.

    JIRA | 2 weeks ago | florian.baillagou
    org.bonitasoft.engine.core.process.instance.api.exceptions.SFlowNodeNotFoundException
  2. 0

    if output list variable of multi-instantiation task is not preliminarly initialized at particular size (at least the same as input one) it causes an exception: {code} [#|2015-11-21T10:39:39.114+0100|SEVERE|glassfish3.1.2|org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork|_ThreadID=9234;_ThreadName=Thread-2;|THREAD_ID=9234 | HOSTNAME=EFLOW2 | TENANT_ID=1 | java.lang.IndexOutOfBoundsException : "Index: 0, Size: 0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:653) at java.util.ArrayList.set(ArrayList.java:444) at org.bonitasoft.engine.execution.StateBehaviors.mapDataOutputOfMultiInstance(StateBehaviors.java:272) at org.bonitasoft.engine.execution.StateBehaviors.mapDataOutputOfMultiInstance(StateBehaviors.java:233) at org.bonitasoft.engine.execution.state.ExecutingAutomaticActivityStateImpl.afterOnFinish(ExecutingAutomaticActivityStateImpl.java:38) at org.bonitasoft.engine.execution.state.FlowNodeStateWithConnectors.execute(FlowNodeStateWithConnectors.java:81) at org.bonitasoft.engine.execution.state.FlowNodeStateWithConnectors.execute(FlowNodeStateWithConnectors.java:35) at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.executeState(FlowNodeExecutorImpl.java:128) at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.updateState(FlowNodeExecutorImpl.java:182) at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.stepForward(FlowNodeExecutorImpl.java:164) at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.executeFlowNode(FlowNodeExecutorImpl.java:317) at org.bonitasoft.engine.execution.work.ExecuteFlowNodeWork.work(ExecuteFlowNodeWork.java:72) at org.bonitasoft.engine.execution.work.TxBonitaWork$1.call(TxBonitaWork.java:48) at org.bonitasoft.engine.execution.work.TxBonitaWork$1.call(TxBonitaWork.java:44) at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:312) at org.bonitasoft.engine.execution.work.TxBonitaWork.work(TxBonitaWork.java:53) at org.bonitasoft.engine.execution.work.LockProcessInstanceWork.work(LockProcessInstanceWork.java:79) at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42) at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42) at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42) at org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork.work(FailureHandlingBonitaWork.java:66) at org.bonitasoft.engine.work.BonitaWork.run(BonitaWork.java:56) at org.bonitasoft.engine.work.SequenceRunnableExecutor.innerRun(SequenceRunnableExecutor.java:47) at org.bonitasoft.engine.work.BonitaRunnable.run(BonitaRunnable.java:35) 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) |#] {code} I think it would be better to extend such list as if it is too small or even add a checkbox option to enable such behaviour.

    JIRA | 1 year ago | Sławomir Kisiel
    java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
  3. 0

    if output list variable of multi-instantiation task is not preliminarly initialized at particular size (at least the same as input one) it causes an exception: {code} [#|2015-11-21T10:39:39.114+0100|SEVERE|glassfish3.1.2|org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork|_ThreadID=9234;_ThreadName=Thread-2;|THREAD_ID=9234 | HOSTNAME=EFLOW2 | TENANT_ID=1 | java.lang.IndexOutOfBoundsException : "Index: 0, Size: 0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:653) at java.util.ArrayList.set(ArrayList.java:444) at org.bonitasoft.engine.execution.StateBehaviors.mapDataOutputOfMultiInstance(StateBehaviors.java:272) at org.bonitasoft.engine.execution.StateBehaviors.mapDataOutputOfMultiInstance(StateBehaviors.java:233) at org.bonitasoft.engine.execution.state.ExecutingAutomaticActivityStateImpl.afterOnFinish(ExecutingAutomaticActivityStateImpl.java:38) at org.bonitasoft.engine.execution.state.FlowNodeStateWithConnectors.execute(FlowNodeStateWithConnectors.java:81) at org.bonitasoft.engine.execution.state.FlowNodeStateWithConnectors.execute(FlowNodeStateWithConnectors.java:35) at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.executeState(FlowNodeExecutorImpl.java:128) at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.updateState(FlowNodeExecutorImpl.java:182) at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.stepForward(FlowNodeExecutorImpl.java:164) at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.executeFlowNode(FlowNodeExecutorImpl.java:317) at org.bonitasoft.engine.execution.work.ExecuteFlowNodeWork.work(ExecuteFlowNodeWork.java:72) at org.bonitasoft.engine.execution.work.TxBonitaWork$1.call(TxBonitaWork.java:48) at org.bonitasoft.engine.execution.work.TxBonitaWork$1.call(TxBonitaWork.java:44) at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:312) at org.bonitasoft.engine.execution.work.TxBonitaWork.work(TxBonitaWork.java:53) at org.bonitasoft.engine.execution.work.LockProcessInstanceWork.work(LockProcessInstanceWork.java:79) at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42) at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42) at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42) at org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork.work(FailureHandlingBonitaWork.java:66) at org.bonitasoft.engine.work.BonitaWork.run(BonitaWork.java:56) at org.bonitasoft.engine.work.SequenceRunnableExecutor.innerRun(SequenceRunnableExecutor.java:47) at org.bonitasoft.engine.work.BonitaRunnable.run(BonitaRunnable.java:35) 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) |#] {code} I think it would be better to extend such list as if it is too small or even add a checkbox option to enable such behaviour.

    JIRA | 1 year ago | Sławomir Kisiel
    java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Hi, I have a process with two BDM objects, lets' name it: 1. elements - which is a list of objects of type Element) 2. aggregate - which is an object of type Aggregate containing a list of elements - the same list as in object above. The object elements is redundant to aggregate's attribute, because I want to iterate through it in multi-instantiation task, and you cannot set input list with aggregate's "elements" attribute. So, the task is a set of parallel Call activities iterated with elements (we can assume it is single element list). For each Call activity there are two mappings: for the particular element object and for the whole aggregate object. *Occasionally* I get following error: {{SEVERE: THREAD_ID=87 | HOSTNAME=XXX | TENANT_ID=1 | The work [ExecuteFlowNodeWork: processInstanceId:73042, flowNodeInstanceId: 1791752] failed. The failure will be handled. 2017-01-02 16:12:12 org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork SEVERE: THREAD_ID=87 | HOSTNAME=XXX | TENANT_ID=1 | java.lang.NullPointerException : "No message" java.lang.NullPointerException at org.bonitasoft.engine.business.data.RefBusinessDataRetriever.getRefBusinessDataInstance(RefBusinessDataRetriever.java:59) at org.bonitasoft.engine.expression.BusinessDataExpressionExecutorStrategy.evaluate(BusinessDataExpressionExecutorStrategy.java:66) at org.bonitasoft.engine.expression.BusinessDataExpressionExecutorStrategy.evaluate(BusinessDataExpressionExecutorStrategy.java:84) at org.bonitasoft.engine.expression.impl.ExpressionServiceImpl.evaluate(ExpressionServiceImpl.java:141) at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateExpressionsOfKind(ExpressionResolverServiceImpl.java:225) at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateAllExpressionsWithNoDependencies(ExpressionResolverServiceImpl.java:182) at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateExpressionsFlatten(ExpressionResolverServiceImpl.java:115) at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluate(ExpressionResolverServiceImpl.java:83) at org.bonitasoft.engine.core.operation.impl.OperationServiceImpl.evaluateRightOperandExpression(OperationServiceImpl.java:194) at org.bonitasoft.engine.core.operation.impl.OperationServiceImpl.calculateRightOperandValue(OperationServiceImpl.java:120) at org.bonitasoft.engine.core.operation.impl.OperationServiceImpl.executeOperators(OperationServiceImpl.java:105) at org.bonitasoft.engine.core.operation.impl.OperationServiceImpl.execute(OperationServiceImpl.java:94) at org.bonitasoft.engine.execution.ProcessExecutorImpl.executeOperations(ProcessExecutorImpl.java:358) at org.bonitasoft.engine.execution.ProcessExecutorImpl.initialize(ProcessExecutorImpl.java:384) at org.bonitasoft.engine.execution.ProcessExecutorImpl.start(ProcessExecutorImpl.java:782) at org.bonitasoft.engine.execution.ProcessExecutorImpl.start(ProcessExecutorImpl.java:753) at org.bonitasoft.engine.execution.StateBehaviors.instantiateProcess(StateBehaviors.java:568) at org.bonitasoft.engine.execution.StateBehaviors.handleCallActivity(StateBehaviors.java:536) at org.bonitasoft.engine.execution.state.InitializingActivityWithBoundaryEventsStateImpl.onEnterToOnFinish(InitializingActivityWithBoundaryEventsStateImpl.java:98) at org.bonitasoft.engine.execution.state.FlowNodeStateWithConnectors.execute(FlowNodeStateWithConnectors.java:75) at org.bonitasoft.engine.execution.state.FlowNodeStateWithConnectors.execute(FlowNodeStateWithConnectors.java:36) at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.executeState(FlowNodeExecutorImpl.java:128) at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.updateState(FlowNodeExecutorImpl.java:180) at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.stepForward(FlowNodeExecutorImpl.java:164) at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.executeFlowNode(FlowNodeExecutorImpl.java:315) at org.bonitasoft.engine.execution.work.ExecuteFlowNodeWork.work(ExecuteFlowNodeWork.java:72) at org.bonitasoft.engine.execution.work.TxBonitaWork$1.call(TxBonitaWork.java:48) at org.bonitasoft.engine.execution.work.TxBonitaWork$1.call(TxBonitaWork.java:44) at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:312) at org.bonitasoft.engine.execution.work.TxBonitaWork.work(TxBonitaWork.java:53) at org.bonitasoft.engine.execution.work.LockProcessInstanceWork.work(LockProcessInstanceWork.java:79) at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42) at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42) at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42) at org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork.work(FailureHandlingBonitaWork.java:66) at org.bonitasoft.engine.work.BonitaWork.run(BonitaWork.java:56) at org.bonitasoft.engine.work.SequenceRunnableExecutor.innerRun(SequenceRunnableExecutor.java:47) at org.bonitasoft.engine.work.BonitaRunnable.run(BonitaRunnable.java:35) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) }} I looked at the Bonita source and learned that, the real reason of this error is consumed by the catch section. It seems that the object reference cannot be retrieved. Because the stacktrace is consumed, I don't know which object's reference cannot be retrieved - a global aggregate or multiInstanceIterator with Element object. Although I've checked the database and the references *are present*. This problem is hard to reproduce. It started showing after platform migration from 7.1.0 to 7.2.4, but I am not sure if this is the case. Maybe you have faced with similar issue already?

    JIRA | 2 weeks ago | Maciej Michalak
    java.lang.NullPointerException
  6. 0

    The error end event in the event sub process fails (see error log below). It worked fine in Bonita 5.x. Aug 19, 2013 3:07:54 PM org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl log SEVERE: Flownode with id SFlowNodeInstanceImpl [stateId=2, stateName=completed, previousStateId=26, reachedStateDate=1376917674973, lastUpdateDate=1376917674973, displayName=Throw secondError, displayDescription=null, tokenCount=0, loopCounter=-1, executedBy=0, deleted=false, stateExecuting=false, flownodeDefinitionId=-8175588763713154482] named 'null' on process instance with id 0 has failed: Flow node instance with id 20020 not found Aug 19, 2013 3:07:54 PM org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl log SEVERE: Error while executing work org.bonitasoft.engine.core.process.instance.api.exceptions.SFlowNodeExecutionException: Error while finishing element at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.notifyParentStateIsFinished(FlowNodeExecutorImpl.java:310) at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.stepForward(FlowNodeExecutorImpl.java:280) at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.gotoNextStableState(FlowNodeExecutorImpl.java:360) at org.bonitasoft.engine.execution.ProcessExecutorImpl.executeFlowNode(ProcessExecutorImpl.java:266) at org.bonitasoft.engine.execution.work.ExecuteFlowNodeWork.work(ExecuteFlowNodeWork.java:50) at org.bonitasoft.engine.work.BonitaWork.run(BonitaWork.java:48) at org.bonitasoft.engine.work.SequenceRunnableExecutor.innerRun(SequenceRunnableExecutor.java:37) at org.bonitasoft.engine.work.NotifyingRunnable.run(NotifyingRunnable.java:36) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) Caused by: org.bonitasoft.engine.core.process.instance.api.exceptions.SFlowNodeNotFoundException: Flow node instance with id 20020 not found at org.bonitasoft.engine.core.process.instance.impl.FlowNodeInstanceServiceImpl.getFlowNodeInstance(FlowNodeInstanceServiceImpl.java:244) at org.bonitasoft.engine.execution.ProcessExecutorImpl.executePostThrowEventHandlers(ProcessExecutorImpl.java:885) at org.bonitasoft.engine.execution.ProcessExecutorImpl.childReachedState(ProcessExecutorImpl.java:821) at org.bonitasoft.engine.execution.ContainerRegistry.nodeReachedState(ContainerRegistry.java:58) at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.notifyParentStateIsFinished(FlowNodeExecutorImpl.java:306) ... 13 more

    JIRA | 3 years ago | Thomas Allweyer
    org.bonitasoft.engine.core.process.instance.api.exceptions.SFlowNodeExecutionException: Error while finishing element

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. org.bonitasoft.engine.core.process.instance.api.exceptions.SFlowNodeNotFoundException

      No message provided

      at org.bonitasoft.engine.core.process.instance.impl.FlowNodeInstancesServiceImpl.getFlowNodeInstance()
    2. org.bonitasoft.engine
      BonitaWork.run
      1. org.bonitasoft.engine.core.process.instance.impl.FlowNodeInstancesServiceImpl.getFlowNodeInstance(FlowNodeInstancesServiceImpl.java:258)
      2. org.bonitasoft.engine.execution.FlowNodeExecutorImpl.childFinished(FlowNodeExecutorImpl.java:262)
      3. org.bonitasoft.engine.execution.ContainerRegistry.nodeReachedState(ContainerRegistry.java:67)
      4. org.bonitasoft.engine.execution.work.NotifyChildFinishedWork.work(NotifyChildFinishedWork.java:63)
      5. org.bonitasoft.engine.execution.work.TxBonitaWork$1.call(TxBonitaWork.java:48)
      6. org.bonitasoft.engine.execution.work.TxBonitaWork$1.call(TxBonitaWork.java:44)
      7. org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:307)
      8. org.bonitasoft.engine.execution.work.TxBonitaWork.work(TxBonitaWork.java:53)
      9. org.bonitasoft.engine.execution.work.LockProcessInstanceWork.work(LockProcessInstanceWork.java:79)
      10. org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
      11. org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
      12. org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
      13. org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork.work(FailureHandlingBonitaWork.java:66)
      14. org.bonitasoft.engine.work.BonitaWork.run(BonitaWork.java:56)
      14 frames
    3. Java RT
      Thread.run
      1. java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      2. java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      3. java.lang.Thread.run(Unknown Source)
      3 frames