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

Reply via email to