-
Improvement
-
Resolution: Fixed
-
Neutral
-
5.3.1
-
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