https://issues.apache.org/jira/browse/TAP5-1264
On Fri, Sep 3, 2010 at 9:36 AM, Howard Lewis Ship <hls...@gmail.com> wrote: > Whatever is happening is unintentional. Apparently, there are > insufficient orderings to ensure the correct order. > > I suspect this will fix the problem: > > > configuration.add("DocumentLinker", documentLinker); > configuration.add("JavaScriptSupport", javaScriptSupport, > "after:DocumentLinker"); > configuration.add("RenderSupport", renderSupport, > "after:JavaScriptSupport"); > configuration.add("InjectDefaultStyleheet", > injectDefaultStylesheet, "after:JavaScriptSupport"); > configuration.add("ClientBehaviorSupport", > clientBehaviorSupport, "after:JavaScriptSupport"); > configuration.add("Heartbeat", heartbeat, > "after:ClientBehaviorSupport"); > configuration.add("DefaultValidationDecorator", > defaultValidationDecorator, "after:Heartbeat"); > > In this way, the finally Heartbeat.end() will execute while the > ClientBehaviorSupport is in scope. > > > On Fri, Sep 3, 2010 at 7:14 AM, Blower, Andy <andy.blo...@proquest.co.uk> > wrote: >> I was already on that Jim, good suggestion though - and it works (or breaks >> I suppose) so I've been able to debug this issue a little. >> >> ClientBehavourSupport is pushed into the env and used 110-ish times before >> it's popped by line 2041 of TapestryModule which is the >> clientBehaviorSupport MarkupRendererFilter at the end of rendering the page >> markup. The error is then thrown by a heartbeat MarkupRendererFilter which >> peekRequired() for ClientBehavourSupport and fails. >> >> Is this a problem with the ordering of the MarkupRendererFilter's do you >> think? >> >> 5.1.0.5: >> >> configuration.add("DocumentLinker", documentLinker, >> "before:RenderSupport"); >> configuration.add("RenderSupport", renderSupport); >> configuration.add("InjectDefaultStyleheet", injectDefaultStylesheet, >> "after:RenderSupport"); >> configuration.add("ClientBehaviorSupport", clientBehaviorSupport, >> "after:RenderSupport"); >> configuration.add("Heartbeat", heartbeat, "after:RenderSupport"); >> configuration.add("DefaultValidationDecorator", >> defaultValidationDecorator, "after:Heartbeat"); >> >> 5.2.0: >> >> configuration.add("DocumentLinker", documentLinker); >> configuration.add("JavaScriptSupport", javaScriptSupport, >> "after:DocumentLinker"); >> configuration.add("RenderSupport", renderSupport, >> "after:JavaScriptSupport"); >> configuration.add("InjectDefaultStyleheet", injectDefaultStylesheet, >> "after:RenderSupport"); >> configuration.add("ClientBehaviorSupport", clientBehaviorSupport, >> "after:JavaScriptSupport"); >> configuration.add("Heartbeat", heartbeat, "after:RenderSupport"); >> configuration.add("DefaultValidationDecorator", >> defaultValidationDecorator, "after:Heartbeat"); >> >> Why did this change? What should I change it to so this works? >> >> Thanks, >> >> Andy >> >>> -----Original Message----- >>> From: Jim O'Callaghan [mailto:jc1000...@yahoo.co.uk] >>> Sent: 02 September 2010 15:58 >>> To: 'Tapestry users' >>> Subject: RE: [T5.2] No object of type ClientBehaviorSupport is >>> available from the Environment >>> >>> Can't reproduce Andy and not a solution I'm afraid, but can you try to >>> run >>> the app through your non-Eclipse environment with debug mode set on the >>> JVM >>> and remote debug it using Eclipse on a socket / shared mem? Perhaps >>> this >>> would give you some more info. >>> >>> Regards, >>> Jim. >>> >>> -----Original Message----- >>> From: Blower, Andy [mailto:andy.blo...@proquest.co.uk] >>> Sent: 02 September 2010 15:28 >>> To: 'Tapestry users' >>> Subject: RE: [T5.2] No object of type ClientBehaviorSupport is >>> available >>> from the Environment >>> >>> Sorry for no update - was on a short holiday over the (UK) bank holiday >>> weekend. >>> >>> Anyway, I thought this had just 'gone-away' yesterday but it hasn't. It >>> happens unless I run it using Eclipse to debug the app, now that really >>> is >>> strange! That's right, a bug that doesn't appear when debugging. Kinda >>> cripples my ability to debug this issue. >>> >>> I'm running it using Jetty 6.1.6 kicked off using run-jetty-run in >>> Eclipse. >>> Are you (or anyone else on the list for that matter) able to reproduce >>> this >>> problem? It only seems to happen with one of our pages >>> >>> > -----Original Message----- >>> > From: Howard Lewis Ship [mailto:hls...@gmail.com] >>> > Sent: 27 August 2010 21:24 >>> > To: Tapestry users >>> > Subject: Re: [T5.2] No object of type ClientBehaviorSupport is >>> > available from the Environment >>> > >>> > Wow, that does seem odd, since all the other environmentals, set up >>> > before the render, seem to be available. >>> > >>> > On Wed, Aug 25, 2010 at 8:29 AM, Blower, Andy >>> > <andy.blo...@proquest.co.uk> wrote: >>> > > Can anyone make sense of this one: >>> > > >>> > > ERROR [16:22:34,848] btpool0-1 >>> > (services.TapestryModule.RequestExceptionHandler:62) - Processing of >>> > request failed with uncaught exception: No object of type >>> > org.apache.tapestry5.services.ClientBehaviorSupport is available from >>> > the Environment. Available types are >>> > org.apache.tapestry5.RenderSupport, >>> > org.apache.tapestry5.internal.services.DocumentLinker, >>> > org.apache.tapestry5.services.javascript.JavaScriptSupport. >>> > > java.lang.RuntimeException: No object of type >>> > org.apache.tapestry5.services.ClientBehaviorSupport is available from >>> > the Environment. Available types are >>> > org.apache.tapestry5.RenderSupport, >>> > org.apache.tapestry5.internal.services.DocumentLinker, >>> > org.apache.tapestry5.services.javascript.JavaScriptSupport. >>> > > at >>> > >>> org.apache.tapestry5.internal.services.EnvironmentImpl.peekRequired(Env >>> > ironmentImpl.java:79) >>> > > at >>> > $Environment_12aa9d2d5fd.peekRequired($Environment_12aa9d2d5fd.java) >>> > > at >>> > $Environment_12aa9d2d3d5.peekRequired($Environment_12aa9d2d3d5.java) >>> > > at >>> > >>> org.apache.tapestry5.internal.transform.EnvironmentalWorker$Environment >>> > alConduit.get(EnvironmentalWorker.java:57) >>> > > at >>> > >>> org.apache.tapestry5.corelib.components.Form._$get_clientBehaviorSuppor >>> > t(Form.java) >>> > > at >>> > >>> org.apache.tapestry5.corelib.components.Form._$advised$linkFormToZone(F >>> > orm.java:422) >>> > > at >>> > >>> org.apache.tapestry5.corelib.components.Form$linkFormToZone$invocation_ >>> > >>> 12aa9d2e99d.invokeAdvisedMethod(Form$linkFormToZone$invocation_12aa9d2e >>> > 99d.java) >>> > > at >>> > >>> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocatio >>> > n.proceed(AbstractComponentMethodInvocation.java:77) >>> > > at >>> > >>> org.apache.tapestry5.internal.transform.HeartbeatDeferredWorker$1$1.run >>> > (HeartbeatDeferredWorker.java:39) >>> > > at >>> > >>> org.apache.tapestry5.internal.services.HeartbeatImpl.end(HeartbeatImpl. >>> > java:49) >>> > > at >>> > >>> org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryMo >>> > dule.java:2061) >>> > > at >>> > >>> $MarkupRenderer_12aa9d2d600.renderMarkup($MarkupRenderer_12aa9d2d600.ja >>> > va) >>> > > at >>> > >>> org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryMo >>> > dule.java:2008) >>> > > at >>> > >>> $MarkupRenderer_12aa9d2d600.renderMarkup($MarkupRenderer_12aa9d2d600.ja >>> > va) >>> > > at >>> > >>> org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryMo >>> > dule.java:1990) >>> > > at >>> > >>> $MarkupRenderer_12aa9d2d600.renderMarkup($MarkupRenderer_12aa9d2d600.ja >>> > va) >>> > > at >>> > >>> org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryMo >>> > dule.java:1971) >>> > > at >>> > >>> $MarkupRenderer_12aa9d2d600.renderMarkup($MarkupRenderer_12aa9d2d600.ja >>> > va) >>> > > at >>> > >>> $MarkupRenderer_12aa9d2d5fc.renderMarkup($MarkupRenderer_12aa9d2d5fc.ja >>> > va) >>> > > at >>> > >>> org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPag >>> > eMarkup(PageMarkupRendererImpl.java:64) >>> > > at >>> > >>> $PageMarkupRenderer_12aa9d2d5f9.renderPageMarkup($PageMarkupRenderer_12 >>> > aa9d2d5f9.java) >>> > > at >>> > >>> org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderP >>> > ageResponse(PageResponseRendererImpl.java:69) >>> > > at >>> > >>> $PageResponseRenderer_12aa9d2d5f8.renderPageResponse($PageResponseRende >>> > rer_12aa9d2d5f8.java) >>> > > at >>> > >>> $PageResponseRenderer_12aa9d2d454.renderPageResponse($PageResponseRende >>> > rer_12aa9d2d454.java) >>> > > at >>> > >>> org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.han >>> > dle(PageRenderRequestHandlerImpl.java:64) >>> > > at >>> > >>> org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.j >>> > ava:2312) >>> > > at >>> > >>> $PageRenderRequestHandler_12aa9d2d456.handle($PageRenderRequestHandler_ >>> > 12aa9d2d456.java) >>> > > at >>> > >>> $PageRenderRequestHandler_12aa9d2d42b.handle($PageRenderRequestHandler_ >>> > 12aa9d2d42b.java) >>> > > at >>> > >>> org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminato >>> > r.handlePageRender(ComponentRequestHandlerTerminator.java:48) >>> > > at >>> > >>> org.apache.tapestry5.services.InitializeActivePageName.handlePageRender >>> > (InitializeActivePageName.java:47) >>> > > at >>> > >>> $ComponentRequestHandler_12aa9d2d64e.handlePageRender($ComponentRequest >>> > Handler_12aa9d2d64e.java) >>> > > at >>> > >>> $ComponentRequestHandler_12aa9d2d431.handlePageRender($ComponentRequest >>> > Handler_12aa9d2d431.java) >>> > > at >>> > >>> com.proquest.apps.corelib.tapestry.dispatchers.RedirectPageRenderDispat >>> > cher.dispatch(RedirectPageRenderDispatcher.java:47) >>> > > at >>> > $Dispatcher_12aa9d2d433.dispatch($Dispatcher_12aa9d2d433.java) >>> > > at >>> > $Dispatcher_12aa9d2d3fe.dispatch($Dispatcher_12aa9d2d3fe.java) >>> > > at >>> > >>> org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.s >>> > ervice(TapestryModule.java:320) >>> > > at >>> > >>> com.proquest.apps.corelib.AppCoreLibModule$13.service(AppCoreLibModule. >>> > java:520) >>> > > at >>> > $RequestFilter_12aa9d2d3fb.service($RequestFilter_12aa9d2d3fb.java) >>> > > at >>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java) >>> > > at >>> > >>> com.proquest.apps.onesearch.services.OneSearchLocalizationFilter.servic >>> > e(OneSearchLocalizationFilter.java:45) >>> > > at >>> > $RequestFilter_12aa9d2d401.service($RequestFilter_12aa9d2d401.java) >>> > > at >>> > $RequestFilter_12aa9d2d3f9.service($RequestFilter_12aa9d2d3f9.java) >>> > > at >>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java) >>> > > at >>> > >>> org.apache.tapestry5.internal.services.RequestErrorFilter.service(Reque >>> > stErrorFilter.java:26) >>> > > at >>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java) >>> > > at >>> > >>> org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.j >>> > ava:982) >>> > > at >>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java) >>> > > at >>> > >>> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.j >>> > ava:972) >>> > > at >>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java) >>> > > at >>> > >>> org.apache.tapestry5.internal.services.StaticFilesFilter.service(Static >>> > FilesFilter.java:90) >>> > > at >>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java) >>> > > at >>> > >>> org.apache.tapestry5.internal.services.URLRewriterRequestFilter.service >>> > (URLRewriterRequestFilter.java:50) >>> > > at >>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java) >>> > > at >>> > >>> com.proquest.apps.onesearch.stats.STLRequestFilter.service(STLRequestFi >>> > lter.java:50) >>> > > at >>> > $RequestFilter_12aa9d2d400.service($RequestFilter_12aa9d2d400.java) >>> > > at >>> > $RequestFilter_12aa9d2d3fa.service($RequestFilter_12aa9d2d3fa.java) >>> > > at >>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java) >>> > > at >>> > >>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(C >>> > heckForUpdatesFilter.java:90) >>> > > at >>> > >>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(C >>> > heckForUpdatesFilter.java:80) >>> > > at >>> > >>> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(Concu >>> > rrentBarrier.java:85) >>> > > at >>> > >>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(Ch >>> > eckForUpdatesFilter.java:103) >>> > > at >>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java) >>> > > at >>> > $RequestHandler_12aa9d2d3f3.service($RequestHandler_12aa9d2d3f3.java) >>> > > at >>> > >>> org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerT >>> > erminator.service(TapestryModule.java:271) >>> > > at >>> > >>> org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:5 >>> > 3) >>> > > at >>> > >>> $HttpServletRequestHandler_12aa9d2d3f5.service($HttpServletRequestHandl >>> > er_12aa9d2d3f5.java) >>> > > at >>> > >>> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(Ignor >>> > edPathsFilter.java:62) >>> > > at >>> > >>> $HttpServletRequestFilter_12aa9d2d3f2.service($HttpServletRequestFilter >>> > _12aa9d2d3f2.java) >>> > > at >>> > >>> $HttpServletRequestHandler_12aa9d2d3f5.service($HttpServletRequestHandl >>> > er_12aa9d2d3f5.java) >>> > > at >>> > >>> com.proquest.apps.onesearch.email.EmailHttpServletRequestFilter.service >>> > (EmailHttpServletRequestFilter.java:73) >>> > > at >>> > >>> $HttpServletRequestFilter_12aa9d2d3f0.service($HttpServletRequestFilter >>> > _12aa9d2d3f0.java) >>> > > at >>> > >>> $HttpServletRequestHandler_12aa9d2d3f5.service($HttpServletRequestHandl >>> > er_12aa9d2d3f5.java) >>> > > at >>> > >>> com.proquest.apps.onesearch.services.SiteRedirectHttpServletRequestFilt >>> > er.service(SiteRedirectHttpServletRequestFilter.java:48) >>> > > at >>> > >>> $HttpServletRequestFilter_12aa9d2d3ef.service($HttpServletRequestFilter >>> > _12aa9d2d3ef.java) >>> > > at >>> > >>> $HttpServletRequestHandler_12aa9d2d3f5.service($HttpServletRequestHandl >>> > er_12aa9d2d3f5.java) >>> > > at >>> > >>> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.j >>> > ava:926) >>> > > at >>> > >>> $HttpServletRequestHandler_12aa9d2d3f5.service($HttpServletRequestHandl >>> > er_12aa9d2d3f5.java) >>> > > at >>> > >>> $HttpServletRequestHandler_12aa9d2d3ec.service($HttpServletRequestHandl >>> > er_12aa9d2d3ec.java) >>> > > at >>> > org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147) >>> > > at >>> > >>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHa >>> > ndler.java:1084) >>> > > at >>> > >>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360 >>> > ) >>> > > at >>> > >>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: >>> > 216) >>> > > at >>> > >>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181 >>> > ) >>> > > at >>> > >>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722 >>> > ) >>> > > at >>> > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404) >>> > > at >>> > >>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139 >>> > ) >>> > > at org.mortbay.jetty.Server.handle(Server.java:324) >>> > > at >>> > >>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) >>> > > at >>> > >>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConn >>> > ection.java:828) >>> > > at >>> > org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) >>> > > at >>> > org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) >>> > > at >>> > org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) >>> > > at >>> > >>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java >>> > :395) >>> > > at >>> > >>> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.j >>> > ava:450) >>> > > >>> > > >>> > >>> > >>> > >>> > -- >>> > Howard M. Lewis Ship >>> > >>> > Creator of Apache Tapestry >>> > >>> > The source for Tapestry training, mentoring and support. Contact me >>> to >>> > learn how I can get you up and productive in Tapestry fast! >>> > >>> > (971) 678-5210 >>> > http://howardlewisship.com >>> > >>> > --------------------------------------------------------------------- >>> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> > For additional commands, e-mail: users-h...@tapestry.apache.org >>> > >>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> For additional commands, e-mail: users-h...@tapestry.apache.org >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> For additional commands, e-mail: users-h...@tapestry.apache.org >>> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> > > > > -- > Howard M. Lewis Ship > > Creator of Apache Tapestry > > The source for Tapestry training, mentoring and support. Contact me to > learn how I can get you up and productive in Tapestry fast! > > (971) 678-5210 > http://howardlewisship.com > -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org