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

Unclear error message if the workflow configuration is incorrect

    XMLWordPrintable

Details

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

    Description

      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.

      Checklists

        Acceptance criteria

        Attachments

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Checklists

                  Task DoD