spring-projects / spring-webflow

Spring Web Flow
https://spring.io/projects/spring-webflow
Apache License 2.0
331 stars 233 forks source link

Various flow explosion issues in Hotel Booking Sample app [SWF-401] #1238

Closed spring-operator closed 16 years ago

spring-operator commented 17 years ago

Antranig Basman opened SWF-401 and commented

I am able to provoke the following exception in the sample app (as deployed at http://spring.ervacon.com/swf-booking-jsf ) - after the flow gets into this condition it becomes unusable, must discard and restart. I can't be 100% about the steps to reproduce this, but it seems to be related to letting the flow expire through timing out, although if so the timeout must be fairly short (on the order of a couple of minutes).

In general if the flow is simply left, the behaviour on flow transitions once expired is simply to refresh the current page with empty fields. However, it seems sometimes the behaviour degenerates into this following exception:

exception javax.servlet.ServletException: Servlet execution threw an exception org.springframework.faces.webflow.FlowSystemCleanupFilter.doFilterInternal(FlowSystemCleanupFilter.java:41) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)

root cause java.lang.NoClassDefFoundError: Could not initialize class com.sun.el.util.MessageFactory com.sun.el.parser.AstValue.getTarget(Unknown Source) com.sun.el.parser.AstValue.getType(Unknown Source) com.sun.el.ValueExpressionImpl.getType(Unknown Source) com.sun.facelets.el.TagValueExpression.getType(TagValueExpression.java:60) com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:81) javax.faces.component.UIInput.getConvertedValue(UIInput.java:934) javax.faces.component.UIInput.validate(UIInput.java:860) javax.faces.component.UIInput.executeValidate(UIInput.java:1065) javax.faces.component.UIInput.processValidators(UIInput.java:666) javax.faces.component.UIForm.processValidators(UIForm.java:229) javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1030) javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662) com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:100) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) javax.faces.webapp.FacesServlet.service(FacesServlet.java:244) org.springframework.faces.webflow.FlowSystemCleanupFilter.doFilterInternal(FlowSystemCleanupFilter.java:41) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs.

btw, I thought the sample was only compatible with Tomcat 6.x?


Affects: 2.0 M1

Issue Links:

spring-operator commented 17 years ago

Keith Donald commented

The problem is most likely related to the 2 minute session timeout configured on the server. We will have a better error message for this case in the upcoming m2.