Uploaded image for project: 'Magnolia Workflow Module'
  1. Magnolia Workflow Module
  2. MGNLWORKFLOW-247

Unclear error message if the workflow configuration is incorrect

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Neutral Neutral
    • 5.3.3, 5.4
    • 5.3.1
    • jBPM
    • None

      With an invalid workflow configuraiton, the following error message is shown on startup:

      2014-05-28 13:31:32,022 ERROR info.magnolia.module.workflow.WorkflowBaseModule  : Workflow manager failed to start
      java.lang.IllegalArgumentException: stream cannot be null
      	at org.drools.core.io.impl.InputStreamResource.<init>(InputStreamResource.java:44)
      	at org.drools.core.io.impl.InputStreamResource.<init>(InputStreamResource.java:38)
      	at org.drools.core.io.impl.ResourceFactoryServiceImpl.newInputStreamResource(ResourceFactoryServiceImpl.java:107)
      	at org.kie.internal.io.ResourceFactory.newInputStreamResource(ResourceFactory.java:87)
      	at info.magnolia.module.workflow.jbpm.runtime.manager.MgnlRuntimeEnvironment.loadFlows(MgnlRuntimeEnvironment.java:101)
      	at info.magnolia.module.workflow.jbpm.runtime.manager.MgnlRuntimeEnvironment.init(MgnlRuntimeEnvironment.java:76)
      	at info.magnolia.module.workflow.jbpm.runtime.manager.MgnlRuntimeManager.init(MgnlRuntimeManager.java:65)
      	at info.magnolia.module.workflow.jbpm.JbpmWorkflowManager.startEngine(JbpmWorkflowManager.java:130)
      	at info.magnolia.module.workflow.WorkflowBaseModule.start(WorkflowBaseModule.java:63)
      	at info.magnolia.module.ModuleManagerImpl.startModule(ModuleManagerImpl.java:399)
      	at info.magnolia.module.ModuleManagerImpl.startModules(ModuleManagerImpl.java:344)
      	at info.magnolia.module.ui.ModuleManagerWebUI.onStartup(ModuleManagerWebUI.java:79)
      	at info.magnolia.cms.beans.config.ConfigLoader.load(ConfigLoader.java:149)
      	at info.magnolia.init.MagnoliaServletContextListener$1.doExec(MagnoliaServletContextListener.java:248)
      	at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:414)
      	at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:411)
      	at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:385)
      	at info.magnolia.init.MagnoliaServletContextListener.startServer(MagnoliaServletContextListener.java:245)
      	at info.magnolia.init.MagnoliaServletContextListener.contextInitialized(MagnoliaServletContextListener.java:171)
      	at info.magnolia.init.MagnoliaServletContextListener.contextInitialized(MagnoliaServletContextListener.java:125)
      	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
      	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
      	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
      	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
      	at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1558)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
      	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:835)
      	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:771)
      	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:620)
      	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:567)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
      	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:835)
      	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:771)
      	at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1455)
      	at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:75)
      	at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1296)
      	at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1388)
      	at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:819)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
      	at sun.rmi.transport.Transport$1.run(Transport.java:159)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
      	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
      	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
      	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
      	at java.lang.Thread.run(Thread.java:695)
      

      The error message is not clear, and the identification of the problem not possible without debugging.

      How to reproduce:
      1. Create an invalid workflow definition, for instance, modifying the property resourcePath to an non existing file.
      2. Restart magnolia

      In this case, the error message must explain that the workflow definition is not correctly configured because of the invlaid resourcePath.

        Acceptance criteria

              ejervidalo Espen Jervidalo
              nbarbe Magnolia International
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Task DoD