Hi, we have exactly the same setup -> invalidate session + redirect to login, and have no such problems. (Four production systems that I have played with all seem to be fine.)
The documentation says: Assigning a value to an ASO field will store that value. Assigning null to an ASO field will remove the ASO (reading the field subsequently will force a new ASO instance to be created). so it is a bug if we can replicate. Can you provide simple page that replicates this? (Two pages?) - Ville Geoff Callender-2 wrote: > > Wow. I finally found time to take a closer look. The solution was to > do as Massimo did: nullify the _visit ASO before leaving the page. > This is a new requirement in 3.0.18. the code worked fine before. > > Is this is a side-effect of fixing > https://issues.apache.org/jira/browse/TAP5-399 > ? > > Some more info - it seems it doesn't matter whether the _visit ASO is > nullified before invalidating the session or after invalidating the > session - the important thing is to nullify it before returning. I > have other non-null ASOs but I don't have to do anything with them. > I'd guess that this practise is required for any non-null ASO used in > the current page or perhaps the next rendered page. > > On 10/12/2008, at 5:35 AM, Estevam Henrique Portela Mota e Silva wrote: > >> No problems using this piece of code, now I put it exactly as you >> gave. >> >> On Tue, Dec 9, 2008 at 9:48 AM, Geoff Callender <[EMAIL PROTECTED] >> >wrote: >> >>> I wonder if the difference is that you're not redirecting to a new >>> page? >>> >>> >>> On 09/12/2008, at 11:42 PM, Estevam Henrique Portela Mota e Silva >>> wrote: >>> >>> Geoff, >>>> >>>> I've copied your code and applied it to my application, no >>>> problems were >>>> found. This is exactly what I did: >>>> >>>> Src: >>>> >>>> @Inject >>>> private RequestGlobals requestGlobals; >>>> >>>> @OnEvent(value = "onActionFromIndex") >>>> public void onActionFromLogoff(){ >>>> Session session = >>>> requestGlobals.getRequest().getSession(false); >>>> if(session != null){ >>>> _visit = null; >>>> session.invalidate(); >>>> } >>>> } >>>> >>>> Are you sure that the problem is related only with this piece of >>>> code? >>>> >>>> On Tue, Dec 9, 2008 at 9:15 AM, Geoff Callender < >>>> [EMAIL PROTECTED]> wrote: >>>> >>>> Is no-one else seeing this problem? Is there an obvious solution >>>> I've >>>>> missed? >>>>> >>>>> >>>>> On 08/12/2008, at 11:05 PM, Geoff Callender wrote: >>>>> >>>>> -1 (non-binding) >>>>> >>>>>> >>>>>> My tests are failing on one thing only - I can't successfully >>>>>> log out. >>>>>> >>>>>> In my Layout component there's an ActionLink with id LogOut. >>>>>> Here's the >>>>>> event handler: >>>>>> >>>>>> Object onActionFromLogOut() { >>>>>> _logger.info(_visit.getMyLoginId() + " is logging >>>>>> out."); >>>>>> Session session = >>>>>> _requestGlobals.getRequest().getSession(false); >>>>>> if (session != null) { >>>>>> session.invalidate(); >>>>>> } >>>>>> return LogIn.class; >>>>>> } >>>>>> >>>>>> It results in the exception below. If I comment out >>>>>> session.invalidate(); >>>>>> then there is no exception. >>>>>> >>>>>> 22:55:12,591 INFO [Layout] secofr is logging out. >>>>>> 22:55:12,597 ERROR [[default]] Servlet.service() for servlet >>>>>> default >>>>>> threw >>>>>> exception >>>>>> java.lang.IllegalStateException: Cannot create a session after the >>>>>> response has been committed >>>>>> at >>>>>> org.apache.catalina.connector.Request.doGetSession(Request.java: >>>>>> 2301) >>>>>> at >>>>>> org.apache.catalina.connector.Request.getSession(Request.java: >>>>>> 2075) >>>>>> at >>>>>> >>>>>> org >>>>>> .apache >>>>>> .catalina.connector.RequestFacade.getSession(RequestFacade.java: >>>>>> 833) >>>>>> at >>>>>> >>>>>> org >>>>>> .apache >>>>>> .tapestry5 >>>>>> .internal.services.RequestImpl.getSession(RequestImpl.java:99) >>>>>> at $Request_11e16734cdd.getSession($Request_11e16734cdd.java) >>>>>> at $Request_11e16734c92.getSession($Request_11e16734c92.java) >>>>>> at >>>>>> >>>>>> org >>>>>> .apache >>>>>> .tapestry5 >>>>>> .internal >>>>>> .services >>>>>> .SessionApplicationStatePersistenceStrategy >>>>>> .requestDidComplete >>>>>> (SessionApplicationStatePersistenceStrategy.java:126) >>>>>> at >>>>>> >>>>>> org >>>>>> .apache >>>>>> .tapestry5 >>>>>> .internal >>>>>> .services >>>>>> .EndOfRequestListenerHubImpl >>>>>> .fire(EndOfRequestListenerHubImpl.java:40) >>>>>> at >>>>>> >>>>>> $ >>>>>> EndOfRequestListenerHub_11e16734ca9 >>>>>> .fire($EndOfRequestListenerHub_11e16734ca9.java) >>>>>> at >>>>>> >>>>>> org.apache.tapestry5.services.TapestryModule >>>>>> $3.service(TapestryModule.java:625) >>>>>> at >>>>>> $ >>>>>> RequestHandler_11e16734cac >>>>>> .service($RequestHandler_11e16734cac.java) >>>>>> at >>>>>> >>>>>> org.apache.tapestry5.services.TapestryModule >>>>>> $2.service(TapestryModule.java:611) >>>>>> at >>>>>> $ >>>>>> RequestHandler_11e16734cac >>>>>> .service($RequestHandler_11e16734cac.java) >>>>>> at >>>>>> >>>>>> org >>>>>> .apache >>>>>> .tapestry5 >>>>>> .internal >>>>>> .services.StaticFilesFilter.service(StaticFilesFilter.java:85) >>>>>> at >>>>>> $ >>>>>> RequestHandler_11e16734cac >>>>>> .service($RequestHandler_11e16734cac.java) >>>>>> at >>>>>> >>>>>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter >>>>>> $2.invoke(CheckForUpdatesFilter.java:93) >>>>>> at >>>>>> >>>>>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter >>>>>> $2.invoke(CheckForUpdatesFilter.java:84) >>>>>> at >>>>>> >>>>>> org >>>>>> .apache >>>>>> .tapestry5 >>>>>> .ioc >>>>>> .internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java: >>>>>> 83) >>>>>> at >>>>>> >>>>>> org >>>>>> .apache >>>>>> .tapestry5 >>>>>> .internal >>>>>> .services >>>>>> .CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106) >>>>>> at >>>>>> $ >>>>>> RequestHandler_11e16734cac >>>>>> .service($RequestHandler_11e16734cac.java) >>>>>> at >>>>>> $ >>>>>> RequestHandler_11e16734ca3 >>>>>> .service($RequestHandler_11e16734ca3.java) >>>>>> at >>>>>> >>>>>> org.apache.tapestry5.services.TapestryModule >>>>>> $16.service(TapestryModule.java:1007) >>>>>> at >>>>>> >>>>>> org >>>>>> .apache >>>>>> .tapestry5 >>>>>> .internal >>>>>> .services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) >>>>>> at >>>>>> >>>>>> $ >>>>>> HttpServletRequestFilter_11e16734ca2 >>>>>> .service($HttpServletRequestFilter_11e16734ca2.java) >>>>>> at >>>>>> >>>>>> $ >>>>>> HttpServletRequestHandler_11e16734ca4 >>>>>> .service($HttpServletRequestHandler_11e16734ca4.java) >>>>>> at >>>>>> >>>>>> $ >>>>>> HttpServletRequestHandler_11e16734ca1 >>>>>> .service($HttpServletRequestHandler_11e16734ca1.java) >>>>>> at >>>>>> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java: >>>>>> 179) >>>>>> at >>>>>> >>>>>> org >>>>>> .apache >>>>>> .catalina >>>>>> .core >>>>>> .ApplicationFilterChain >>>>>> .internalDoFilter(ApplicationFilterChain.java:235) >>>>>> at >>>>>> >>>>>> org >>>>>> .apache >>>>>> .catalina >>>>>> .core >>>>>> .ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >>>>>> at >>>>>> >>>>>> org >>>>>> .jboss >>>>>> .web >>>>>> .tomcat >>>>>> .filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) >>>>>> 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:230) >>>>>> at >>>>>> >>>>>> org >>>>>> .apache >>>>>> .catalina >>>>>> .core.StandardContextValve.invoke(StandardContextValve.java:175) >>>>>> at >>>>>> >>>>>> org >>>>>> .jboss >>>>>> .web >>>>>> .tomcat >>>>>> .security >>>>>> .SecurityAssociationValve.invoke(SecurityAssociationValve.java: >>>>>> 182) >>>>>> at >>>>>> >>>>>> org >>>>>> .jboss >>>>>> .web >>>>>> .tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) >>>>>> at >>>>>> >>>>>> org >>>>>> .apache >>>>>> .catalina.core.StandardHostValve.invoke(StandardHostValve.java: >>>>>> 127) >>>>>> at >>>>>> >>>>>> org >>>>>> .apache >>>>>> .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: >>>>>> 102) >>>>>> at >>>>>> >>>>>> org >>>>>> .jboss >>>>>> .web >>>>>> .tomcat >>>>>> .service >>>>>> .jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) >>>>>> at >>>>>> >>>>>> org >>>>>> .apache >>>>>> .catalina >>>>>> .core.StandardEngineValve.invoke(StandardEngineValve.java:109) >>>>>> at >>>>>> >>>>>> org >>>>>> .apache >>>>>> .catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) >>>>>> 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:446) >>>>>> at java.lang.Thread.run(Thread.java:613) >>>>>> >>>>>> Geoff >>>>>> >>>>>> On 05/12/2008, at 5:58 AM, Howard Lewis Ship wrote: >>>>>> >>>>>> I've created and uploaded a release of Tapestry 5.0.18, ready to >>>>>> be >>>>>> voted >>>>>> >>>>>>> upon. >>>>>>> >>>>>>> We've had the combined experience period of 5.0.16 and 5.0.17 >>>>>>> to vet >>>>>>> the stability and correctness of this release, >>>>>>> and 5.0.18 is ready to be the final Tapestry 5.0 release. If you >>>>>>> disagree, please vote -1 and offer a plan to bring >>>>>>> 5.0.18 to readiness. >>>>>>> >>>>>>> A +1 vote is to make 5.0.18 available as the FINAL 5.0 release. >>>>>>> >>>>>>> The files are uploaded to: >>>>>>> >>>>>>> http://people.apache.org/~hlship/tapestry-releases/<http://people.apache.org/%7Ehlship/tapestry-releases/ >>>>>>> >>>>>>> > >>>>>>> <http://people.apache.org/%7Ehlship/tapestry-releases/> >>>>>>> >>>>>>> and a Maven repository: >>>>>>> >>>>>>> http://people.apache.org/~hlship/tapestry-ibiblio-rsynch-repository/ >>>>>>> <http://people.apache.org/%7Ehlship/tapestry-ibiblio-rsynch-repository/ >>>>>>> > >>>>>>> < >>>>>>> http://people.apache.org/%7Ehlship/tapestry-ibiblio-rsynch-repository/ >>>>>>>> >>>>>>> >>>>>>> Please examine these files to determine if a new preview release, >>>>>>> 5.0.18, is ready. >>>>>>> >>>>>>> I've also created a 5.0.18 tag in Subversion: >>>>>>> >>>>>>> http://svn.apache.org/viewvc/tapestry/tapestry5/tags/releases/5.0.18/ >>>>>>> >>>>>>> On a successful vote, I'll move the files from these >>>>>>> directories to >>>>>>> the proper distribution directories. >>>>>>> >>>>>>> Vote will run for seven days (until Thu 11 2008); on success >>>>>>> I'll move >>>>>>> the voted artifacts into place and send out appropriate >>>>>>> notifications. >>>>>>> >>>>>>> -- >>>>>>> Howard M. Lewis Ship >>>>>>> >>>>>>> Creator Apache Tapestry and Apache HiveMind >>>>>>> >>>>>>> --------------------------------------------------------------------- >>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>>> >>>>> >>>>> >>>> >>>> -- >>>> Regards, >>>> >>>> Estevam Henrique Portela Mota e Silva >>>> Handicapped Auditory = deaf >>>> [EMAIL PROTECTED] / [EMAIL PROTECTED] >>>> Programmer Java and Tapestry >>>> Brazil - Fortaleza / CE >>>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >> >> >> -- >> Regards, >> >> Estevam Henrique Portela Mota e Silva >> Handicapped Auditory = deaf >> [EMAIL PROTECTED] / [EMAIL PROTECTED] >> Programmer Java and Tapestry >> Brazil - Fortaleza / CE > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/-VOTE--Release-5.0.18-as-FINAL-5.0-release-tp20840217p20935110.html Sent from the Tapestry - Dev mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]