You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Daniel Murley <dm...@xbiosystems.com> on 2006/07/09 12:44:17 UTC

RE: Strange Action Behaviour (Infinite Loop?) - Potentially Navigation Problem, Still need help!

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:dmurley@xbiosystems.com] 
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