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

Reply via email to