Hi All, Still havn't resolved the issue below, but have discovered something interesting about it.
The button (which sits in a tile) navigates to another page which displays a set of search results. When you click on this button again, and it attempts to navigate again, it falls into the loop below. However if the button returns no navigation instruction, the loop doesn't occur. Can anyone shed any light on this? Is it possibly a tiles + jsf problem, or just a JSF navigation problem? Thanks, Daniel -----Original Message----- From: Daniel Murley [mailto:[EMAIL PROTECTED] Sent: Saturday, 8 July 2006 9:06 PM To: 'MyFaces Discussion' Subject: Strange Action Behaviour (Infinite Loop?) Hi All, I have a form with a dynamically created panelGrid on it. This panelGrid also contains many other panel grids along with a command button. The nested panelGrids are rotated in and out as requested by the user. However I'm experiencing a problem that when the user hits the commandButton the first time - everything is fine. The second time, the action is fired over and over until MyFaces proceeds to throw a stackoverflow exception. Exception: 2006-07-08 20:49:47,939 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/APP].[Face s Servlet]] Servlet.service() for servlet Faces Servlet threw exception java.lang.StackOverflowError at org.apache.catalina.connector.Request.getSession(Request.java:2017) at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:82 2) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWr apper.java:215) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRe quest.java:544) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWr apper.java:215) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRe quest.java:544) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWr apper.java:215) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRe quest.java:544) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWr apper.java:215) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRe quest.java:544) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWr apper.java:215) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRe quest.java:544) Which repeats until: at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWr apper.java:215) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRe quest.java:544) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWr apper.java:215) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRe quest.java:544) at org.apache.myfaces.context.servlet.SessionMap.getSession(SessionMap.java:72) at org.apache.myfaces.context.servlet.SessionMap.getAttribute(SessionMap.java:4 3) at org.apache.myfaces.context.servlet.AbstractAttributeMap.get(AbstractAttribut eMap.java:87) at org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverI mpl.java:278) at org.springframework.web.jsf.DelegatingVariableResolver.resolveVariable(Deleg atingVariableResolver.java:108) at org.springframework.web.jsf.DelegatingVariableResolver.resolveVariable(Deleg atingVariableResolver.java:108) at org.apache.myfaces.config.LastVariableResolverInChain.resolveVariable(LastVa riableResolverInChain.java:42) at org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(Va lueBindingImpl.java:574) at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124) at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:140) at org.apache.commons.el.BinaryOperatorExpression.evaluate(BinaryOperatorExpres sion.java:154) at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:383) at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:1076) at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:59 8) at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:60 2) at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:60 2) at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:60 2) at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:135) at org.apache.myfaces.lifecycle.LifecycleImpl.applyRequestValues(LifecycleImpl. java:219) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:71) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDis patcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch er.java:398) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher .java:301) at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(Servl etExternalContextImpl.java:416) at org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.dispatch(JspTiles ViewHandlerImpl.java:233) at org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.renderView(JspTil esViewHandlerImpl.java:219) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDis patcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch er.java:398) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher .java:301) at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(Servl etExternalContextImpl.java:416) at org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.dispatch(JspTiles ViewHandlerImpl.java:233) at org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.renderView(JspTil esViewHandlerImpl.java:219) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138) The stuff in the exception between the two javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)'s repeats over and over. It then proceeds to throw: 2006-07-08 20:49:48,360 ERROR [org.apache.myfaces.lifecycle.PhaseListenerManager] Exception in PhaseListener RENDER_RESPONSE(6) afterPhase java.lang.NullPointerException at org.apache.myfaces.renderkit.html.util.DummyFormUtils.writeDummyForm(DummyFo rmUtils.java:134) After that its stack overflow after stack overflow. I'd really appreciate some help on this, because I have absolutely no idea what to do. I thought it may have something to do with the way I have my panels set up (Backing bean is a generic fascade for a set of other beans that manage their own panelGrids), but when viewing the component tree, there doesn't seem to be any apparent looping references or alike. I'm running JBOSS 4.02, MyFaces 1.1.3, Tiles and the Spring Variable Delegator. Thanks, Daniel