That seems to have fixed the problem, thanks. Will let you know if it crops up again.
> -----Original Message----- > From: Howard Lewis Ship [mailto:hls...@gmail.com] > Sent: 03 September 2010 17:37 > To: Tapestry users > Subject: Re: [T5.2] No object of type ClientBehaviorSupport is > available from the Environment > > 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 > > --------------------------------------------------------------------- > 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