Well now that sure is quite an impressive stack. Looks like a recursion problem.
Do some pages have members referencing to other pages, or themselves? The stacktrace indicates that the deserialisation process, which tries to receive the previous rendered page from the DiskPageStore is looping over and over. The page that is meant to be serialized might have a long tail of references to other pages, which it has to deserialize too. Also the beginning of the stacktrace might be interesting, to identify the method call that started that recursion . They might be found in some logs. >note The full stack trace of the root cause is available in the Apache >Tomcat/5.5.29 logs. >Apache Tomcat/5.5.29 mf 2010/6/2 Srikanth.NT <[email protected]> > > I am using wicket 1.3.5 on tomcat clustering. I am getting the stacktrace > as > below > > HTTP Status 500 - > > type Exception report > > message > > description The server encountered an internal error () that prevented it > from fulfilling this request. > > exception > > javax.servlet.ServletException: Filter execution threw an exception > com.tui.alpine.presentation.filters.GZIPFilter.doFilter(GZIPFilter.java:75) > > com.tui.alpine.presentation.filters.TrackingFilter.doFilter(TrackingFilter.java:114) > > root cause > > > java.lang.StackOverflowError > [...] > > org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363) > > note The full stack trace of the root cause is available in the Apache > Tomcat/5.5.29 logs. > Apache Tomcat/5.5.29 > > > Some background: > When there is an exception in payment gateway we throw a exception to the > wicket app, which is handled in > > return new WebRequestCycle(this, (WebRequest) request, (WebResponse) > response) { > @Override > public Page onRuntimeException(final Page page, final > RuntimeException exception) { > return exceptionHandler.handleException(exception, page); > } > } > > So we get the payment page reference in the onRuntimeException method. > Stacktrace happens on this following page where we reference to the > previous > payment page. > > public PaymentErrorPage(final Page page, final String errorCode) { > final Link linkToPaymentPage = new Link("linkToPaymentPage") { > @Override > public void onClick() { > page.add(getPage().get("summaryPanel")); > setResponsePage(page); > } > }; > linkToPaymentPage.setVisible(page != null); > add(linkToPaymentPage); > } > > Am I doing anything wrong here with respect to the referencing ? > > This is happening only in clustering environment. > > > > Thanks, > Srikanth > > -- > View this message in context: > http://apache-wicket.1842946.n4.nabble.com/Stack-Overflow-exception-tp1880607p2239756.html > Sent from the Wicket - User mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
