diff --git a/jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/impl/WorkflowProcessInstanceImpl.java b/jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/impl/WorkflowProcessInstanceImpl.java index 7e972ac5267..d5b9c5e3483 100755 --- a/jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/impl/WorkflowProcessInstanceImpl.java +++ b/jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/impl/WorkflowProcessInstanceImpl.java @@ -1163,7 +1163,8 @@ public void setErrorState(NodeInstance nodeInstanceInError, Exception e) { this.nodeIdInError = nodeInstanceInError.getNodeDefinitionId(); this.nodeInstanceIdInError = nodeInstanceInError.getId(); this.errorCause = Optional.of(e); - this.errorMessage = getRootException(e).getMessage(); + Throwable rootException = getRootException(e); + this.errorMessage = rootException.getMessage() == null ? rootException.getClass().getCanonicalName() : rootException.getMessage(); setState(STATE_ERROR); logger.error("Unexpected error while executing node {} in process instance {}", nodeInstanceInError.getNode().getName(), this.getStringId(), e); ((InternalProcessRuntime) getKnowledgeRuntime().getProcessRuntime()).getProcessEventSupport().fireOnError(this, nodeInstanceInError, getKnowledgeRuntime(), e);