Hey Kalle, just checking in with you to see if you happened to have anymore info on this issue.
On Wed, Mar 25, 2015 at 4:05 PM, George Christman <gchrist...@cardaddy.com> wrote: > 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 > > -- George Christman CEO www.CarDaddy.com P.O. Box 735 Johnstown, New York