You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Senthil Sadasivam <ca...@gmail.com> on 2008/01/08 21:27:23 UTC

Redirecting using PageRedirectException throws EmptyStackException on upgrading to Tapestry 4.1.3

Hi,

I am trying to Redirect from PageA to PageB after resetting certain
elements in PageB.
I am doing so using PageRedirectException(page)
But doing so I am getting a EmptyStackException. Can someone help me
with this.
Looks like its trying to remove PageA from memory and failed to find it
in the stack.

The same code works fine in Tapestry 4.0.3 but not in Tapestry 4.1.3

Following is the code script inside PageA from where I am calling PageB.

  @Override
  public void finishLoad(IRequestCycle pCycle, IPageLoader pLoader,
IComponentSpecification pSpecification)
  {
    PageB page = (PageB)pCycle.getPage("pageB");
    page.setClaim(null);
    page.setInitialized(false);
    throw new PageRedirectException(page);
  }

and the stack trace shows

2008-01-03 16:47:33,871 DEBUG (http-0.0.0.0-8080-5)
[tapestry.page.PageLoader] Establishing inherited bindings
2008-01-03 16:47:33,871 DEBUG (http-0.0.0.0-8080-5)
[tapestry.page.PageLoader] Loaded page $PageB_68 <at> 3c1[pageB] with 145
components (maximum depth 5)
2008-01-03 16:47:33,871 DEBUG (http-0.0.0.0-8080-5)
[tapestry.persist.PageClientPropertyPersistenceStrategy] Constructing
core service implementation for service
tapestry.persist.PageClientPropertyPersistenceStrategy
2008-01-03 16:47:33,871 DEBUG (http-0.0.0.0-8080-5)
[tapestry.persist.PageClientPropertyPersistenceStrategy] Set property
request to <SingletonProxy for
tapestry.globals.WebRequest(org.apache.tapestry.web.WebRequest)>
2008-01-03 16:47:33,871 DEBUG (http-0.0.0.0-8080-5)
[tapestry.persist.PageClientPropertyPersistenceStrategy] Set property
scope to <SingletonProxy for
tapestry.persist.PageClientPropertyPersistenceScope(org.apache.tapestry.
record.ClientPropertyPersistenceScope)>
2008-01-03 16:47:33,871 DEBUG (http-0.0.0.0-8080-5)
[tapestry.persist.PageClientPropertyPersistenceStrategy] Set property
encoder to <SingletonProxy for
tapestry.persist.PersistentPropertyDataEncoder(org.apache.tapestry.recor
d.PersistentPropertyDataEncoder)>
2008-01-03 16:47:33,871 DEBUG (http-0.0.0.0-8080-5)
[tapestry.persist.AppClientPropertyPersistenceStrategy] Constructing
core service implementation for service
tapestry.persist.AppClientPropertyPersistenceStrategy
2008-01-03 16:47:33,871 DEBUG (http-0.0.0.0-8080-5)
[tapestry.persist.AppClientPropertyPersistenceStrategy] Set property
request to <SingletonProxy for
tapestry.globals.WebRequest(org.apache.tapestry.web.WebRequest)>
2008-01-03 16:47:33,871 DEBUG (http-0.0.0.0-8080-5)
[tapestry.persist.AppClientPropertyPersistenceStrategy] Set property
scope to <SingletonProxy for
tapestry.persist.AppClientPropertyPersistenceScope(org.apache.tapestry.r
ecord.ClientPropertyPersistenceScope)>
2008-01-03 16:47:33,871 DEBUG (http-0.0.0.0-8080-5)
[tapestry.persist.AppClientPropertyPersistenceStrategy] Autowired
service property encoder to <SingletonProxy for
tapestry.persist.PersistentPropertyDataEncoder(org.apache.tapestry.recor
d.PersistentPropertyDataEncoder)>
2008-01-03 16:47:33,887 DEBUG (http-0.0.0.0-8080-5)
[org.apache.tapestry.engine.AbstractEngine] Uncaught exception
java.util.EmptyStackException
 at java.util.Stack.peek(Stack.java:79)
 at java.util.Stack.pop(Stack.java:61)
 at
org.apache.tapestry.pageload.PageLoader.endConstructComponent(PageLoader
.java:469)
 at
org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.ja
va:424)
 at
org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:639)
 at $IPageLoader_1174202977e.loadPage($IPageLoader_1174202977e.java)
 at $IPageLoader_1174202977f.loadPage($IPageLoader_1174202977f.java)
 at
org.apache.tapestry.pageload.PageSource.makeObject(PageSource.java:153)
 at
org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(Generic
KeyedObjectPool.java:797)
 at org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:177)
 at $IPageSource_117420296de.getPage($IPageSource_117420296de.java)
 at
org.apache.tapestry.engine.RequestCycle.loadPage(RequestCycle.java:239)
 at
org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:226)
 at
org.apache.tapestry.engine.RequestCycle.activate(RequestCycle.java:559)
 at org.apache.tapestry.engine.PageService.service(PageService.java:66)
 at
$IEngineService_11742029767.service($IEngineService_11742029767.java)
 at
org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(Engine
ServiceOuterProxy.java:72)
 at
org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:24
1)
 at
org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeE
ngineTerminator.java:54)
 at
$WebRequestServicer_11742029744.service($WebRequestServicer_11742029744.
java)
 at
org.apache.tapestry.services.impl.DisableCachingFilter.service(DisableCa
chingFilter.java:54)
 at
$WebRequestServicerFilter_11742029746.service($WebRequestServicerFilter_
11742029746.java)
 at
$WebRequestServicer_11742029748.service($WebRequestServicer_11742029748.
java)
 at
$WebRequestServicer_11742029740.service($WebRequestServicer_11742029740.
java)
 at
org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.servi
ce(WebRequestServicerPipelineBridge.java:61)
 at
$ServletRequestServicer_11742029726.service($ServletRequestServicer_1174
2029726.java)
 at
org.apache.tapestry.request.DecodedRequestInjector.service(DecodedReques
tInjector.java:55)
 at
$ServletRequestServicerFilter_11742029722.service($ServletRequestService
rFilter_11742029722.java)
 at
$ServletRequestServicer_11742029728.service($ServletRequestServicer_1174
2029728.java)
 at
org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDe
coderFilter.java:52)
 at
$ServletRequestServicerFilter_11742029720.service($ServletRequestService
rFilter_11742029720.java)
 at
$ServletRequestServicer_11742029728.service($ServletRequestServicer_1174
2029728.java)
 at
org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequ
estEncoding.java:53)
 at
$ServletRequestServicerFilter_11742029724.service($ServletRequestService
rFilter_11742029724.java)
 at
$ServletRequestServicer_11742029728.service($ServletRequestServicer_1174
2029728.java)
 at
$ServletRequestServicer_1174202971a.service($ServletRequestServicer_1174
202971a.java)
 at
org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java
:126)
 at
org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:103
)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
 at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:252)
 at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)
 at com.custom.util.CredentialFilter.doFilter(CredentialFilter.java:38)
 at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:202)
 at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)
 at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte
r.java:81)
 at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:202)
 at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)
 at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:213)
 at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:178)
 at
org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipa
lValve.java:39)
 at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAs
sociationValve.java:159)
 at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:482)
 at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.j
ava:59)
 at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:126)
 at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:105)
 at org.josso.tc55.agent.SSOAgentValve.invoke(SSOAgentValve.java:730)
 at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:107)
 at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1
48)
 at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:85
6)
 at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:744)
 at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
.java:527)
 at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorker
Thread.java:112)
 at java.lang.Thread.run(Thread.java:595)
2008-01-03 16:47:33,887 DEBUG (http-0.0.0.0-8080-5)
[tapestry.error.ExceptionPresenter] Constructing core service
implementation for service tapestry.error.ExceptionPresenter
2008-01-03 16:47:33,918 DEBUG (http-0.0.0.0-8080-5)
[tapestry.error.ExceptionPresenter] Set property exceptionPageName to
Exception
2008-01-03 16:47:33,918 DEBUG (http-0.0.0.0-8080-5)
[tapestry.error.ExceptionPresenter] Set property
requestExceptionReporter to <SingletonProxy for
tapestry.error.RequestExceptionReporter(org.apache.tapestry.error.Reques
tExceptionReporter)>
2008-01-03 16:47:33,918 DEBUG (http-0.0.0.0-8080-5)
[tapestry.error.ExceptionPresenter] Set property responseRenderer to
<SingletonProxy for
tapestry.request.ResponseRenderer(org.apache.tapestry.services.ResponseR
enderer)>
...
2008-01-03 16:47:33,981 DEBUG (http-0.0.0.0-8080-5)
[tapestry.error.RequestExceptionReporter] Constructing core service
implementation for service tapestry.error.RequestExceptionReporter
2008-01-03 16:47:33,996 DEBUG (http-0.0.0.0-8080-5)
[tapestry.error.RequestExceptionReporter] Autowired property log to
org.apache.commons.logging.impl.Log4JLogger <at> 1965ff3
2008-01-03 16:47:33,996 DEBUG (http-0.0.0.0-8080-5)
[tapestry.error.RequestExceptionReporter] Set property request to
<SingletonProxy for
tapestry.globals.WebRequest(org.apache.tapestry.web.WebRequest)>
2008-01-03 16:47:33,996 WARN  (http-0.0.0.0-8080-5)
[tapestry.error.RequestExceptionReporter] Unable to process client
request: java.util.EmptyStackException
java.util.EmptyStackException