Null pointer exception when deploying a workflow created by Activiti explorer integrated workflow editor

Description

When deploying or exporting the attached workflow, the following messages are appearing :

in the when page processes / Model workspace

Create of BPMN XML failed
null

and in the tomcat log :

83207 211 http://localhost:8080 Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36 http://localhost:8080/activiti-explorer/service/editor?id=2236
java.lang.NullPointerException
at org.activiti.editor.language.json.converter.BpmnJsonConverter.filterAllEdges(BpmnJsonConverter.java:556)
at org.activiti.editor.language.json.converter.BpmnJsonConverter.convertToBpmnModel(BpmnJsonConverter.java:270)
at org.activiti.editor.ui.EditorProcessDefinitionDetailPanel.deployModelerModel(EditorProcessDefinitionDetailPanel.java:344)
at org.activiti.editor.ui.EditorProcessDefinitionDetailPanel.deployModel(EditorProcessDefinitionDetailPanel.java:278)
at org.activiti.editor.ui.EditorProcessDefinitionDetailPanel$1.valueChange(EditorProcessDefinitionDetailPanel.java:162)
at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:164)
at com.vaadin.ui.AbstractComponent.fireEvent(AbstractComponent.java:1219)
at com.vaadin.ui.AbstractField.fireValueChange(AbstractField.java:897)
at com.vaadin.ui.AbstractField.setValue(AbstractField.java:529)
at com.vaadin.ui.AbstractSelect.setValue(AbstractSelect.java:676)
at com.vaadin.ui.Select.changeVariables(Select.java:664)
at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.changeVariables(AbstractCommunicationManager.java:1460)
at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariableBurst(AbstractCommunicationManager.java:1404)
at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariables(AbstractCommunicationManager.java:1329)
at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.doHandleUidlRequest(AbstractCommunicationManager.java:761)
at com.vaadin.terminal.gwt.server.CommunicationManager.handleUidlRequest(CommunicationManager.java:325)
at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:501)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.activiti.explorer.filter.ExplorerFilter.doFilter(ExplorerFilter.java:44)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1822)
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:724)

  • The designer should check invalid workflow and warn user before saving.

  • The engine should give a better problem cause than java.lang.NullPointerException

  • The web explorer should give a better explanation then null

I finally found the error in the workflow. It's possible to draw an arrow
from a activity to another activity with 0 mm to the activity shape but without connecting to the activity.

This is misleading and error prone.

Environment

None

Assignee

Tijs Rademakers

Reporter

Pierre Colot

Labels

None

Components

Fix versions

Affects versions

Priority

Minor
Configure