Hi, The following code worked in all versions before 5.1, but now I get the exception listed below: @Inject private Request request;
@InjectPage private Home homePage; @OnEvent(component = "signOut") Object onEventFromSignOut() { try { request.getSession(false).invalidate(); homePage.setIsSignOut(true); return homePage; } catch (Throwable e) { // } return null; } - com.albourne.web.components.hf.Header (112) org.apache.tapestry5.ioc.internal.util.TapestryException: getAttributeNames: Session already invalidated at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:935) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.containingPageDidAttach(ComponentPageElementImpl.java:733) at org.apache.tapestry5.internal.structure.PageImpl.attached(PageImpl.java:144) at org.apache.tapestry5.internal.services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:55) at $RequestPageCache_11fd1d95dc7.get($RequestPageCache_11fd1d95dc7.java) at $RequestPageCache_11fd1d95db0.get($RequestPageCache_11fd1d95db0.java) at org.apache.tapestry5.internal.services.ComponentSourceImpl.getPage(ComponentSourceImpl.java:79) at $ComponentSource_11fd1d95dbe.getPage($ComponentSource_11fd1d95dbe.java) at com.albourne.web.components.hf.Header._$read_inject_page_homePage(Header.java) at com.albourne.web.components.hf.Header.onEventFromSignOut(Header.java:106) at com.albourne.web.components.hf.Header.dispatchComponentEvent(Header.java) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:889) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1068) at org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:75) at org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42) at $ComponentEventRequestHandler_11fd1d95e24.handle($ComponentEventRequestHandler_11fd1d95e24.java) at org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42) at $ComponentEventRequestHandler_11fd1d95e24.handle($ComponentEventRequestHandler_11fd1d95e24.java) at org.apache.tapestry5.services.TapestryModule$35.handle(TapestryModule.java:2085) at $ComponentEventRequestHandler_11fd1d95e24.handle($ComponentEventRequestHandler_11fd1d95e24.java) at $ComponentEventRequestHandler_11fd1d95dae.handle($ComponentEventRequestHandler_11fd1d95dae.java) at org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43) at $ComponentRequestHandler_11fd1d95da7.handleComponentEvent($ComponentRequestHandler_11fd1d95da7.java) at org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:138) at $Dispatcher_11fd1d95da9.dispatch($Dispatcher_11fd1d95da9.java) at $Dispatcher_11fd1d95d9b.dispatch($Dispatcher_11fd1d95d9b.java) at org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:242) at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26) at $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java) at org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:760) at $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java) at org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:750) at $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java) at org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85) at $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java) at com.albourne.web.services.PageAccessController.service(PageAccessController.java:186) at $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java) at com.albourne.web.services.AppModule$3.service(AppModule.java:211) at $RequestFilter_11fd1d95d99.service($RequestFilter_11fd1d95d99.java) at $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java) at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90) at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:81) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85) at org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103) at $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java) at $RequestHandler_11fd1d95d92.service($RequestHandler_11fd1d95d92.java) at org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:194) at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53) at $HttpServletRequestHandler_11fd1d95d94.service($HttpServletRequestHandler_11fd1d95d94.java) at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) at $HttpServletRequestFilter_11fd1d95d91.service($HttpServletRequestFilter_11fd1d95d91.java) at $HttpServletRequestHandler_11fd1d95d94.service($HttpServletRequestHandler_11fd1d95d94.java) at org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:712) at $HttpServletRequestHandler_11fd1d95d94.service($HttpServletRequestHandler_11fd1d95d94.java) at $HttpServletRequestHandler_11fd1d95d8f.service($HttpServletRequestHandler_11fd1d95d8f.java) at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.IllegalStateException: getAttributeNames: Session already invalidated at org.apache.catalina.session.StandardSession.getAttributeNames(StandardSession.java:1050) at org.apache.catalina.session.StandardSessionFacade.getAttributeNames(StandardSessionFacade.java:120) at org.apache.tapestry5.internal.services.SessionImpl.getAttributeNames(SessionImpl.java:76) at org.apache.tapestry5.internal.services.AbstractSessionPersistentFieldStrategy.gatherFieldChanges(AbstractSessionPersistentFieldStrategy.java:54) at org.apache.tapestry5.internal.services.PersistentFieldManagerImpl.gatherChanges(PersistentFieldManagerImpl.java:62) at $PersistentFieldManager_11fd1d95dd9.gatherChanges($PersistentFieldManager_11fd1d95dd9.java) at org.apache.tapestry5.internal.structure.PageImpl.getFieldChange(PageImpl.java:162) at org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.getFieldChange(InternalComponentResourcesImpl.java:158) at org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.hasFieldChange(InternalComponentResourcesImpl.java:168) at com.albourne.web.pages.Home.containingPageDidAttach(Home.java) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$1.run(ComponentPageElementImpl.java:74) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:920) ... 67 more Can someone please point out what has changed and how I might be able to fix this... it seems that Tapestry is trying to set/get attributes from a stale session, but it should really create a new one, I have tried all sorts of workarounds including forcing creation of a new session, just returning the page, using a redirect, constructing a link object but nothing seems to work. Tested using Java 6 - Tomcat / Jetty on Ubuntu. Thanks, Peter --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org