Thanks Kalle, were using 5.4-beta24 On Wed, Mar 25, 2015 at 1:09 PM, Kalle Korhonen <kalle.o.korho...@gmail.com> wrote:
> Sorry, I forgot to reply to your earlier post. Fundamentally, the issue is > caused by tapestry-security operating as part of the httpservletrequest > pipeline, before the active page is already set up. The library is > internally setting up request globals etc. where needed but you may be > pushing around some shard edge there. It's also possible that some change > in the core tapestry has caused the issue to surface. It may be that the > issue happens exactly when the security library is trying to deal with the > expired session. In your stack trace, you'll see that the exception happens > way before the active page is being set. Just a note that you cannot simply > return a full page response to an ajax request (as you try to do in your > example). What's your exact version of T5 you are using? I'll see if we > have a test for this case and try to reproduce. > > Kalle > > On Wed, Mar 25, 2015 at 6:07 AM, George Christman <gchrist...@cardaddy.com > > > wrote: > > > So I've been able to finally reproduce this bug. I have an ajax form and > > I'm using tapestry-security. When my session times out and an form action > > is clicked, I get the "The active page name has not been specified" > > exception. I found the code throwing the exception, I'm just not sure why > > this is happening to begin with. > > > > > https://github.com/apache/tapestry-5/blob/5.4-beta-26/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AjaxPartialResponseRendererImpl.java > > line 86. > > > > Shouldn't the page automatically be redirected to the login page when the > > user session has timed out and an action has been performed. > > > > I even tried this without any success. > > > > Object onActivate() throws Exception { > > if (request.isRequestedSessionIdValid()) { > > //some code > > } > > return Login.class; > > } > > > > Any thoughts on how to repair this issue? > > > > On Thu, Mar 19, 2015 at 12:54 PM, George Christman < > > gchrist...@cardaddy.com> > > wrote: > > > > > Could someone help me to understand this exception? I'm using Tap 5.4 > and > > > I've been seeing this quite often, but can't seem to reproduce it. > > > > > > The active page name has not been > > > specified.org.apache.tapestry5.ioc.internal.OperationException: The > > active > > > page name has not been specified. at > > > > > > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:184) > > > at > > > > > > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.perform(OperationTrackerImpl.java:118) > > > at > > > > > > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.perform(PerThreadOperationTracker.java:84) > > > at > > > > > > org.apache.tapestry5.ioc.internal.RegistryImpl.perform(RegistryImpl.java:1264) > > > at > > > > > > org.apache.tapestry5.internal.services.DeferredResponseRenderer.invokeQueuedRenderer(DeferredResponseRenderer.java:73) > > > at > > > > > > org.apache.tapestry5.internal.services.DeferredResponseRenderer.handleComponentEvent(DeferredResponseRenderer.java:47) > > > at $ComponentRequestHandler_18c715615aaee.handleComponentEvent(Unknown > > > Source) at > > > > > > org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39) > > > at $ComponentRequestHandler_18c715615aaee.handleComponentEvent(Unknown > > > Source) at > > > > > > org.apache.tapestry5.internal.services.ProductionModeUnknownComponentFilter.handleComponentEvent(ProductionModeUnknownComponentFilter.java:50) > > > at $ComponentRequestHandler_18c715615aaee.handleComponentEvent(Unknown > > > Source) at > > > > > > org.apache.tapestry5.internal.services.RequestOperationTracker$1.perform(RequestOperationTracker.java:55) > > > at > > > > > > org.apache.tapestry5.internal.services.RequestOperationTracker$1.perform(RequestOperationTracker.java:52) > > > at > > > > > > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.perform(OperationTrackerImpl.java:110) > > > at > > > > > > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.perform(PerThreadOperationTracker.java:84) > > > at > > > > > > org.apache.tapestry5.ioc.internal.RegistryImpl.perform(RegistryImpl.java:1264) > > > at > > > > > > org.apache.tapestry5.internal.services.RequestOperationTracker.handleComponentEvent(RequestOperationTracker.java:47) > > > at $ComponentRequestHandler_18c715615aaee.handleComponentEvent(Unknown > > > Source) at > > > > > > org.tynamo.security.SecurityComponentRequestFilter.handleComponentEvent(SecurityComponentRequestFilter.java:41) > > > at $ComponentRequestFilter_18c715615aaeb.handleComponentEvent(Unknown > > > Source) at > > > $ComponentRequestHandler_18c715615aaee.handleComponentEvent(Unknown > > Source) > > > at $ComponentRequestHandler_18c715615aac8.handleComponentEvent(Unknown > > > Source) at > > > > > > org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:48) > > > at $Dispatcher_18c715615aac9.dispatch(Unknown Source) at > > > $Dispatcher_18c715615aac2.dispatch(Unknown Source) at > > > > > > org.apache.tapestry5.modules.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:305) > > > at > > org.healthresearch.etss.services.AppModule$1.service(AppModule.java:302) > > > at $RequestFilter_18c715615aac1.service(Unknown Source) at > > > $RequestHandler_18c715615aac3.service(Unknown Source) at > > > > > > org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26) > > > at $RequestHandler_18c715615aac3.service(Unknown Source) at > > > > > > org.apache.tapestry5.modules.TapestryModule$3.service(TapestryModule.java:844) > > > at $RequestHandler_18c715615aac3.service(Unknown Source) at > > > > > > org.apache.tapestry5.modules.TapestryModule$2.service(TapestryModule.java:834) > > > at $RequestHandler_18c715615aac3.service(Unknown Source) at > > > > > > org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:89) > > > at $RequestHandler_18c715615aac3.service(Unknown Source) at > > > $RequestHandler_18c715615aa81.service(Unknown Source) at > > > > > > org.apache.tapestry5.modules.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:256) > > > at > > > > > > org.tynamo.security.services.impl.SecurityConfiguration$1.call(SecurityConfiguration.java:56) > > > at > > > > > > org.tynamo.security.services.impl.SecurityConfiguration$1.call(SecurityConfiguration.java:54) > > > at > > > > > > org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) > > > at > > > > > > org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) > > > at > > > > > > org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) > > > at > > > > > > org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:54) > > > at $HttpServletRequestFilter_18c715615aa80.service(Unknown Source) at > > > $HttpServletRequestHandler_18c715615aa83.service(Unknown Source) at > > > > > > org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:45) > > > at $HttpServletRequestHandler_18c715615aa83.service(Unknown Source) at > > > > org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:59) > > > at $HttpServletRequestHandler_18c715615aa83.service(Unknown Source) at > > > > > > org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) > > > at $HttpServletRequestFilter_18c715615aa7c.service(Unknown Source) at > > > $HttpServletRequestHandler_18c715615aa83.service(Unknown Source) at > > > > > > org.apache.tapestry5.modules.TapestryModule$1.service(TapestryModule.java:794) > > > at $HttpServletRequestHandler_18c715615aa83.service(Unknown Source) at > > > $HttpServletRequestHandler_18c715615aa7b.service(Unknown Source) at > > > org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:168) > at > > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) > > > at > > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > > > at > > > > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) > > > at > > > > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) > > > at > > > > > > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) > > > at > > > > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) > > > at > > > > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) > > > at > > > > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) > > > at > > > > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) > > > at > > > > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > > > at > > > > > > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) > > > at > > > > > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) > > > at > > > > > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) > > > at > > > > > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > > > at > > > > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > > > at java.lang.Thread.run(Thread.java:745) Caused by: > > > java.lang.IllegalStateException: The active page name has not been > > > specified. at > > > > > > org.apache.tapestry5.internal.services.AjaxPartialResponseRendererImpl$1.perform(AjaxPartialResponseRendererImpl.java:86) > > > at > > > > > > org.apache.tapestry5.internal.services.AjaxPartialResponseRendererImpl$1.perform(AjaxPartialResponseRendererImpl.java:75) > > > at > > > > > > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.perform(OperationTrackerImpl.java:110) > > > ... 72 more > > > > > > > > > > > > > > > -- > > George Christman > > CEO > > www.CarDaddy.com > > P.O. Box 735 > > Johnstown, New York > > > -- George Christman CEO www.CarDaddy.com P.O. Box 735 Johnstown, New York