4 Replies Latest reply on Apr 23, 2009 12:37 AM by Surya Sunkara

    Endless exception loop caused by invalid EL expression in a decision node of a page flow

    Ashok Kumar Newbie
      Seam version: 2.1.1.GA

      Set up a seam page flow with a decision node. Place an invalid expression in the decision node. Execute the page flow. An endless loop of exceptions
      occur as shown below in the log snippets. The server needs to be stopped.

      2009-04-07 08:51:26,745 ERROR [org.jboss.seam.bpm.SeamExpressionEvaluator] (http-localhost%2F127.0.0.1-8080-2) Exceptions occurred when parsing ${type1Flow.flowReturnValue(}
      2009-04-07 08:51:26,745 ERROR [org.jboss.seam.bpm.SeamExpressionEvaluator] (http-localhost%2F127.0.0.1-8080-2) Possible cause
      javax.el.ELException: Error Parsing: ${type1Flow.flowReturnValue(}
           at org.jboss.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:130)
           at org.jboss.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:151)
           at org.jboss.el.lang.ExpressionBuilder.createMethodExpression(ExpressionBuilder.java:213)
           at org.jboss.el.ExpressionFactoryImpl.createMethodExpression(ExpressionFactoryImpl.java:57)
           at org.jboss.seam.bpm.SeamExpressionEvaluator$1.initMethodExpression(SeamExpressionEvaluator.java:69)
           at org.jboss.seam.bpm.SeamExpressionEvaluator$1.evaluate(SeamExpressionEvaluator.java:87)
           at org.jboss.seam.bpm.SeamExpressionEvaluator.evaluate(SeamExpressionEvaluator.java:45)
           at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:39)
           at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:30)
           at org.jbpm.graph.node.Decision.execute(Decision.java:95)
           at org.jbpm.graph.def.Node.enter(Node.java:319)

      .......

      2009-04-07 08:51:26,745 ERROR [org.jboss.seam.bpm.SeamExpressionEvaluator] (http-localhost%2F127.0.0.1-8080-2) Possible cause
      javax.el.ELException: Error Parsing: ${type1Flow.flowReturnValue(}
           at org.jboss.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:130)
           at org.jboss.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:151)
           at org.jboss.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:206)
           at org.jboss.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68)
           at org.jboss.seam.bpm.SeamExpressionEvaluator$1.initValueExpression(SeamExpressionEvaluator.java:77)
           at org.jboss.seam.bpm.SeamExpressionEvaluator$1.evaluate(SeamExpressionEvaluator.java:107)
           at org.jboss.seam.bpm.SeamExpressionEvaluator.evaluate(SeamExpressionEvaluator.java:45)
           at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:39)
           at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:30)
           at org.jbpm.graph.node.Decision.execute(Decision.java:95)


      2009-04-07 08:51:26,745 WARN  [javax.enterprise.resource.webcontainer.jsf.lifecycle] (http-localhost%2F127.0.0.1-8080-2) couldn't evaluate expression '#{type1Flow.flowReturnValue(}'
      org.jbpm.JbpmException: couldn't evaluate expression '#{type1Flow.flowReturnValue(}'
           at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:43)
           at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:30)
           at org.jbpm.graph.node.Decision.execute(Decision.java:95)
           at org.jbpm.graph.def.Node.enter(Node.java:319)
           at org.jbpm.graph.def.Transition.take(Transition.java:151)
           at org.jbpm.graph.def.Node.leave(Node.java:394)
           at org.jbpm.graph.node.ProcessState.leave(ProcessState.java:242)
           at org.jbpm.graph.exe.Token.signal(Token.java:195)
           at org.jbpm.graph.exe.Token.signal(Token.java:171)
           at org.jbpm.graph.exe.ProcessInstance.end(ProcessInstance.java:323)
           at org.jbpm.graph.exe.Token.notifyParentOfTokenEnd(Token.java:332)
           at org.jbpm.graph.exe.Token.end(Token.java:304)
           at org.jbpm.graph.exe.Token.end(Token.java:254)
           at org.jbpm.graph.node.EndState.execute(EndState.java:59)
           at org.jbpm.graph.def.Node.enter(Node.java:319)
           at org.jbpm.graph.def.Transition.take(Transition.java:151)
           at org.jbpm.graph.def.Node.leave(Node.java:394)
           at org.jbpm.graph.exe.Token.signal(Token.java:195)
           at org.jbpm.graph.exe.Token.signal(Token.java:158)
           at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:283)
           at org.jboss.seam.pageflow.Pageflow.signal(Pageflow.java:485)
           at org.jboss.seam.pageflow.Pageflow.navigate(Pageflow.java:341)
           at org.jboss.seam.jsf.SeamNavigationHandler.handleNavigation(SeamNavigationHandler.java:40)
           
      Caused by: org.jbpm.jpdl.el.ELException: Error parsing ${type1Flow.flowReturnValue(}; not a valid EL expression
           at org.jboss.seam.bpm.SeamExpressionEvaluator$1.evaluate(SeamExpressionEvaluator.java:140)
           at org.jboss.seam.bpm.SeamExpressionEvaluator.evaluate(SeamExpressionEvaluator.java:45)
           at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:39)
           ... 74 more
      2009-04-07 08:51:26,745 ERROR [javax.enterprise.resource.webcontainer.jsf.lifecycle] (http-localhost%2F127.0.0.1-8080-2) JSF1054: (Phase ID: INVOKE_APPLICATION 5, View ID: /type_1.xhtml) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@1f759c0]
      2009-04-07 08:51:26,745 WARN  [org.jboss.seam.web.ExceptionFilter] (http-localhost%2F127.0.0.1-8080-2) handling uncaught exception
      javax.servlet.ServletException: couldn't evaluate expression '#{type1Flow.flowReturnValue(}'
           at javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73)
           at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
           
      Caused by: org.jbpm.jpdl.el.ELException: Error parsing ${type1Flow.flowReturnValue(}; not a valid EL expression
           at org.jboss.seam.bpm.SeamExpressionEvaluator$1.evaluate(SeamExpressionEvaluator.java:140)
           at org.jboss.seam.bpm.SeamExpressionEvaluator.evaluate(SeamExpressionEvaluator.java:45)
           at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:39)
           ... 74 more
      2009-04-07 08:51:26,745 WARN  [org.jboss.seam.web.ExceptionFilter] (http-localhost%2F127.0.0.1-8080-2) exception root cause
      org.jbpm.JbpmException: couldn't evaluate expression '#{type1Flow.flowReturnValue(}'
           at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:43)
           at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:30)
           at org.jbpm.graph.node.Decision.execute(Decision.java:95)
           at org.jbpm.graph.def.Node.enter(Node.java:319)
           
      2009-04-07 08:51:26,761 WARN  [org.jboss.seam.web.ExceptionFilter] (http-localhost%2F127.0.0.1-8080-2) running exception handlers
      2009-04-07 08:51:26,808 WARN  [org.jboss.seam.jsf.SeamPhaseListener] (http-localhost%2F127.0.0.1-8080-2) uncaught exception, passing to exception handler
      java.lang.IllegalStateException: pageflow is not currently at a <page> or <start-page> node (note that pageflows that begin during the RENDER_RESPONSE phase should use <start-page> instead of <start-state>)
           at org.jboss.seam.pageflow.Pageflow.getPage(Pageflow.java:232)
           at org.jboss.seam.faces.FacesManager.prepareBackswitch(FacesManager.java:263)
           at org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:505)
           at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:247)
           at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:194)
           at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175)
           at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114)
           at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
           
      2009-04-07 08:51:26,870 WARN  [org.jboss.seam.jsf.SeamPhaseListener] (http-localhost%2F127.0.0.1-8080-2) uncaught exception, passing to exception handler
      java.lang.IllegalStateException: pageflow is not currently at a <page> or <start-page> node (note that pageflows that begin during the RENDER_RESPONSE phase should use <start-page> instead of <start-state>)
           at org.jboss.seam.pageflow.Pageflow.getPage(Pageflow.java:232)
           at org.jboss.seam.faces.FacesManager.prepareBackswitch(FacesManager.java:263)
           at org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:505)
           at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:247)
           at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:194)
           at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175)
           at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114)
           at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
           at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
           
      2009-04-07 08:51:26,886 WARN  [org.jboss.seam.jsf.SeamPhaseListener] (http-localhost%2F127.0.0.1-8080-2) uncaught exception, passing to exception handler
      java.lang.IllegalStateException: pageflow is not currently at a <page> or <start-page> node (note that pageflows that begin during the RENDER_RESPONSE phase should use <start-page> instead of <start-state>)
           at org.jboss.seam.pageflow.Pageflow.getPage(Pageflow.java:232)
           at org.jboss.seam.faces.FacesManager.prepareBackswitch(FacesManager.java:263)
           at org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:505)
           at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:247)