Hi everyone, I am using an AjaxFormLoop in a page. However, after I load the page with the AjaxFormLoop and a few minutes have passed, when I click the "Add row" link I get the following exception and a new row is not added. However, if I click it again, then no exception is shown and a new row is added. Does anyone know what can be causing it? I am using Tapestry 5.1.0.8
27-Dec-2010 11:54:51,689 ERROR [org.apache.tapestry5.services.TapestryModule.RequestExceptionHandler] - Processing of request failed with uncaught exception: Page must be specified before root render command. org.apache.tapestry5.runtime.ComponentEventException: Page must be specified before root render command. [at classpath:org/apache/tapestry5/corelib/components/AjaxFormLoop.tml, line 8] at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1098) at org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:75) at org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42) at $ComponentEventRequestHandler_12d2774d37e.handle($ComponentEventRequestHandler_12d2774d37e.java) at org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42) at $ComponentEventRequestHandler_12d2774d37e.handle($ComponentEventRequestHandler_12d2774d37e.java) at org.apache.tapestry5.upload.internal.services.UploadExceptionFilter.handle(UploadExceptionFilter.java:75) at $ComponentEventRequestHandler_12d2774d37e.handle($ComponentEventRequestHandler_12d2774d37e.java) at org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.java:2164) at $ComponentEventRequestHandler_12d2774d37e.handle($ComponentEventRequestHandler_12d2774d37e.java) at es.unizar.pfc_tutorias.web.services.ComponentEventAuthenticationFilter.handle(ComponentEventAuthenticationFilter.java:79) at $ComponentEventRequestHandler_12d2774d37e.handle($ComponentEventRequestHandler_12d2774d37e.java) at $ComponentEventRequestHandler_12d2774d30b.handle($ComponentEventRequestHandler_12d2774d30b.java) at org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43) at $ComponentRequestHandler_12d2774d300.handleComponentEvent($ComponentRequestHandler_12d2774d300.java) at org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:46) at $Dispatcher_12d2774d302.dispatch($Dispatcher_12d2774d302.java) at $Dispatcher_12d2774d2f3.dispatch($Dispatcher_12d2774d2f3.java) at org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:245) at es.unizar.pfc_tutorias.web.services.SessionFilter.service(SessionFilter.java:77) at $RequestHandler_12d2774d2f4.service($RequestHandler_12d2774d2f4.java) at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26) at $RequestHandler_12d2774d2f4.service($RequestHandler_12d2774d2f4.java) at org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:778) at $RequestHandler_12d2774d2f4.service($RequestHandler_12d2774d2f4.java) at org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:767) at $RequestHandler_12d2774d2f4.service($RequestHandler_12d2774d2f4.java) at org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85) at $RequestHandler_12d2774d2f4.service($RequestHandler_12d2774d2f4.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_12d2774d2f4.service($RequestHandler_12d2774d2f4.java) at $RequestHandler_12d2774d2e8.service($RequestHandler_12d2774d2e8.java) at org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:197) at org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44) at $HttpServletRequestHandler_12d2774d2ea.service($HttpServletRequestHandler_12d2774d2ea.java) at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53) at $HttpServletRequestHandler_12d2774d2ea.service($HttpServletRequestHandler_12d2774d2ea.java) at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) at $HttpServletRequestFilter_12d2774d2e6.service($HttpServletRequestFilter_12d2774d2e6.java) at $HttpServletRequestHandler_12d2774d2ea.service($HttpServletRequestHandler_12d2774d2ea.java) at org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:726) at $HttpServletRequestHandler_12d2774d2ea.service($HttpServletRequestHandler_12d2774d2ea.java) at $HttpServletRequestHandler_12d2774d2e4.service($HttpServletRequestHandler_12d2774d2e4.java) at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:242) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:267) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:245) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:260) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.tapestry5.runtime.ComponentEventException: Page must be specified before root render command. [at classpath:org/apache/tapestry5/corelib/components/AjaxFormLoop.tml, line 8] at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1098) at org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.triggerContextEvent(InternalComponentResourcesImpl.java:263) at org.apache.tapestry5.corelib.components.FormInjector.onInject(FormInjector.java:186) at org.apache.tapestry5.corelib.components.FormInjector.dispatchComponentEvent(FormInjector.java) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:902) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1081) ... 66 more Caused by: java.lang.IllegalStateException: Page must be specified before root render command. at org.apache.tapestry5.internal.services.PageRenderQueueImpl.initializeForPartialPageRender(PageRenderQueueImpl.java:94) at $PageRenderQueue_12d2774d34e.initializeForPartialPageRender($PageRenderQueue_12d2774d34e.java) at $PageRenderQueue_12d2774d34d.initializeForPartialPageRender($PageRenderQueue_12d2774d34d.java) at org.apache.tapestry5.internal.services.RenderCommandComponentEventResultProcessor.processResultValue(RenderCommandComponentEventResultProcessor.java:38) at org.apache.tapestry5.internal.services.RenderCommandComponentEventResultProcessor.processResultValue(RenderCommandComponentEventResultProcessor.java:27) at $ComponentEventResultProcessor_12d2774d3c1.processResultValue($ComponentEventResultProcessor_12d2774d3c1.java) at $ComponentEventResultProcessor_12d2774d3a1.processResultValue($ComponentEventResultProcessor_12d2774d3a1.java) at org.apache.tapestry5.internal.services.ComponentResultProcessorWrapper.handleResult(ComponentResultProcessorWrapper.java:42) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.handleResult(ComponentPageElementImpl.java:1053) at org.apache.tapestry5.internal.services.EventImpl.storeResult(EventImpl.java:74) at org.apache.tapestry5.corelib.components.AjaxFormLoop.dispatchComponentEvent(AjaxFormLoop.java) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:902) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1081) ... 71 more Thank you, Marcos