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

    • Type: Improvement
    • Status: Closed
    • Priority: Neutral
    • Resolution: Fixed
    • Affects Version/s: 5.3.1
    • Fix Version/s: 5.3.3, 5.4
    • Component/s: jBPM
    • Labels:
      None
    • Magnolia Release:
      5.2.6, 5.3

      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.

        Attachments

          Activity

            People

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

              Dates

              Created:
              Updated:
              Resolved: