cancel
Showing results for 
Search instead for 
Did you mean: 

Processes doesn't correctly end: Workflow path does not exis

checco
Champ in-the-making
Champ in-the-making
Hi,
Does anyone can explain me following error?

15:22:03,289 ERROR [org.alfresco.web.ui.common.Utils] A system error happened during the operation: 05130004 Workflow path activiti$8205 does not exist.org.alfresco.service.cmr.workflow.WorkflowException: 05130004 Workflow path activiti$8205 does not exist.   at org.alfresco.repo.workflow.activiti.ActivitiWorkflowEngine.getTasksForWorkflowPath(ActivitiWorkflowEngine.java:724)   at org.alfresco.repo.workflow.WorkflowServiceImpl.getTasksForWorkflowPath(WorkflowServiceImpl.java:674)   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)   at java.lang.reflect.Method.invoke(Unknown Source)   at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)   at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)   at org.alfresco.repo.security.permissions.impl.AlwaysProceedMethodInterceptor.invoke(AlwaysProceedMethodInterceptor.java:34)   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)   at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:46)   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)   at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:152)   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)   at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)   at $Proxy71.getTasksForWorkflowPath(Unknown Source)   at org.alfresco.web.bean.workflow.StartWorkflowWizard.finishImpl(StartWorkflowWizard.java:225)   at org.alfresco.web.bean.dialog.BaseDialogBean$1.execute(BaseDialogBean.java:123)   at org.alfresco.web.bean.dialog.BaseDialogBean$1.execute(BaseDialogBean.java:119)   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:388)   at org.alfresco.web.bean.dialog.BaseDialogBean.finish(BaseDialogBean.java:129)   at org.alfresco.web.bean.wizard.WizardManager.finish(WizardManager.java:593)   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)   at java.lang.reflect.Method.invoke(Unknown Source)   at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132)   at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:61)   at javax.faces.component.UICommand.broadcast(UICommand.java:151)   at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:115)   at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:191)   at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)   at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:105)   at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:80)   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:143)   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)   at org.alfresco.repo.web.filter.beans.SessionSynchronizedFilter.doFilter(SessionSynchronizedFilter.java:67)   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)   at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:104)   at sun.reflect.GeneratedMethodAccessor471.invoke(Unknown Source)   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)   at java.lang.reflect.Method.invoke(Unknown Source)   at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:116)   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)   at $Proxy245.doFilter(Unknown Source)   at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)   at org.alfresco.repo.web.filter.beans.NullFilter.doFilter(NullFilter.java:68)   at sun.reflect.GeneratedMethodAccessor471.invoke(Unknown Source)   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)   at java.lang.reflect.Method.invoke(Unknown Source)   at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:116)   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)   at $Proxy245.doFilter(Unknown Source)   at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)   at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)   at java.lang.Thread.run(Unknown Source)‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

This error occurs every time that my custom processes reaches the end event. For example i have made a hello world process composed of one start event, one service task and one end event:
<process id="helloWorld" name="Hello World">    <startEvent id="startevent1" name="Start"></startEvent>    <serviceTask id="servicetask1" name="Service Task" activiti:class="com.sample.workflow.executor.HelloWorldExecutor"></serviceTask>    <endEvent id="endevent1" name="End"></endEvent>    <sequenceFlow id="flow1" name="" sourceRef="startevent1" targetRef="servicetask1">      <extensionElements>        <activiti:executionListener event="take" class="org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener">          <activiti:field name="script">            <activiti:string>logger.info('Before service task');</activiti:string>          </activiti:field>        </activiti:executionListener>      </extensionElements>    </sequenceFlow>    <sequenceFlow id="flow2" name="" sourceRef="servicetask1" targetRef="endevent1">      <extensionElements>        <activiti:executionListener event="take" class="org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener">          <activiti:field name="script">            <activiti:string>logger.info('After service task');</activiti:string>          </activiti:field>        </activiti:executionListener>      </extensionElements>    </sequenceFlow>  </process>‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍
in which the HelloWorldExecutor class is:
public class HelloWorldExecutor implements JavaDelegate {   private Logger log;   public HelloWorldExecutor() {      log = Logger.getLogger(getClass());   }   @Override   public void execute(DelegateExecution arg0) throws Exception {      log.debug("Hello, World!");   }}‍‍‍‍‍‍‍‍‍‍‍‍‍
When i try to execute that process, by click "start advanced workflow" on a document in alfresco explorer, I see this output:
15:22:03,201 INFO  [org.alfresco.repo.jscript.ScriptLogger] Before service task15:22:03,206 DEBUG [com.sample.workflow.executor.HelloWorldExecutor] Hello, World!15:22:03,215 INFO  [org.alfresco.repo.jscript.ScriptLogger] After service task15:22:03,289 ERROR [org.alfresco.web.ui.common.Utils] A system error happened during the operation: 05130004 Workflow path activiti$8205 does not exist.org.alfresco.service.cmr.workflow.WorkflowException: 05130004 Workflow path activiti$8205 does not exist.   …‍‍‍‍‍‍‍‍

What am I doing wrong? and what happened inside the process engine?

It seems that when a process reaches the end event, the process engine tries to continue the execution on a non-existent path.

Regards,
Francesco
6 REPLIES 6

checco
Champ in-the-making
Champ in-the-making
Ok,
I think that is a bug, because if i substitute the serviceTask with a userTask everything works fine.

Maybe the same thread that start the process cannot end the process?

Before I report the problem on https://issues.alfresco.com I wonder if this problem also occurs to some of you.

If you want to reproduce the problem with little effort follow this step:
1- copy and paste following code in $TOMCAT_HOME/webapps/alfresco/WEB-INF/classes/alfresco/extension/workflows/helloWorld.bpmn20.xml
<?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">  <process id="helloWorld" name="Hello World">    <serviceTask id="servicetask1" name="Service Task" activiti:class="com.sample.workflow.executor.HelloWorldExecutor"></serviceTask>    <startEvent id="startevent1" name="Start"></startEvent>    <sequenceFlow id="flow4" name="" sourceRef="startevent1" targetRef="servicetask1">      <extensionElements>        <activiti:executionListener event="take" class="org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener">          <activiti:field name="script">            <activiti:string>logger.info('Sequence flow before service task taken');</activiti:string>          </activiti:field>        </activiti:executionListener>      </extensionElements>    </sequenceFlow>    <endEvent id="endevent1" name="End"></endEvent>    <sequenceFlow id="flow5" name="" sourceRef="servicetask1" targetRef="endevent1">      <extensionElements>        <activiti:executionListener event="take" class="org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener">          <activiti:field name="script">            <activiti:string>logger.info('Sequence flow after service task taken');</activiti:string>          </activiti:field>        </activiti:executionListener>      </extensionElements>    </sequenceFlow>  </process>  <bpmndi:BPMNDiagram id="BPMNDiagram_helloWorld">    <bpmndi:BPMNPlane bpmnElement="helloWorld" id="BPMNPlane_helloWorld">      <bpmndi:BPMNShape bpmnElement="servicetask1" id="BPMNShape_servicetask1">        <omgdc:Bounds height="55" width="105" x="220" y="280"></omgdc:Bounds>      </bpmndi:BPMNShape>      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">        <omgdc:Bounds height="35" width="35" x="130" y="290"></omgdc:Bounds>      </bpmndi:BPMNShape>      <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">        <omgdc:Bounds height="35" width="35" x="380" y="290"></omgdc:Bounds>      </bpmndi:BPMNShape>      <bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">        <omgdi:waypoint x="165" y="307"></omgdi:waypoint>        <omgdi:waypoint x="220" y="307"></omgdi:waypoint>      </bpmndi:BPMNEdge>      <bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">        <omgdi:waypoint x="325" y="307"></omgdi:waypoint>        <omgdi:waypoint x="380" y="307"></omgdi:waypoint>      </bpmndi:BPMNEdge>    </bpmndi:BPMNPlane>  </bpmndi:BPMNDiagram></definitions>‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍
2- copy and paste following code in $TOMCAT_HOME/webapps/alfresco/WEB-INF/classes/alfresco/extension/workflow-context.xml
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'><beans>   <bean id="librofirma.workflowBootstrap" parent="workflowDeployer">      <property name="workflowDefinitions">         <list>            <props>               <prop key="engineId">activiti</prop>               <prop key="location">alfresco/extension/workflows/helloWorld.bpmn20.xml</prop>               <prop key="mimetype">text/xml</prop>               <prop key="redeploy">true</prop>            </props>         </list>      </property>   </bean></beans>‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍
3- download the helloWorld-wf.jar from http://dl.dropbox.com/u/16989192/helloWorld-wf.jar and copy it in $TOMCAT_HOME/webapps/alfresco/WEB-INF/lib/
4- start alfresco
5- navigate to any document and click the "start advanced workflow"
6- select the Hello World process and then click next/finish buttons until you've got the error described in previous post

Waiting for a response,
Francesco

checco
Champ in-the-making
Champ in-the-making
By the way,
I use a workaround for this problem: on every path of the workflows that can directly reachs any endEvent from the startEvent without suspend the execution i have put a timerCatchEvent with a period of 5 seconds!

In this way the thread that execute the process change and no exception is thrown!

bone
Champ on-the-rise
Champ on-the-rise
Hi there,

I can reproduce this behaviour and I think it's a bug, so did anyone raise a JIRA-issue already?

Kind regards,

tonyrivet
Champ in-the-making
Champ in-the-making
I know this is a very old issue but I think the problem still exists : an error is thrown when the workflow reaches the end event from the start event without going through any user task.

Is it a known issue ? Was a JIRA raised (couldn't found any) ?
Thanks.

voula_11
Champ in-the-making
Champ in-the-making
I had a similar issue in 5.0.d.
I fixed it by ending the workflow with a "TerminateEndEvent". It isn't documented in the Activiti User Guide but it works!

atifsiddiqui
Champ in-the-making
Champ in-the-making
Is this issue fixed?
I am facing the same issue and tried the workarounds of terminatedendevent but it didn't seems to work, Also my workflow has 5 user tasks before it terminates.
The moment I click on the Start Workflow I am getting the exception "Workflow path activiti$1642 does not exist."