I'm guessing that this is a bug in the way websphere 8 handles either
classloaders or threadlocals.

Tapestry injects the ComponentResources via InjectWorker,
InjectionProvider2 and CommonResourcesInjectionProvider. You could try to
add some logging to CommonResourcesInjectionProvider to see what's going
on. Perhaps the InstanceContext is in some state where ComponentResources
is null?
On 9 Jul 2013 08:55, "Christian Köberl" <
tapestry.christian.koeb...@gmail.com> wrote:

> We're still searching (debugging, tracing) to find the reason for this NPE.
>
> During our tests the same problem occurred in some more places (the
> original one was Form:406):
>
> - org.apache.tapestry5.corelib.components.Form.beginRender(Form.java:408)
>   Corresponding line from Tapestry Form:
>   resources.triggerEvent(EventConstants.PREPARE, context, null);
>   The strange part here is that the code line before (406) uses the
> same field "resources" without a NPE:
> resources.triggerEvent(EventConstants.PREPARE_FOR_RENDER, context,
> null);
>
> - org.apache.tapestry5.corelib.components.Zone.beginRender(Zone.java:171)
>   Corresponding line from Tapestry Zone:
>   clientBehaviorSupport.addZone(clientId, show, update);
>
> Another "fun" fact: the NPE in Zone only occurs on one page whereas
> the NPE in Form occurs on all pages using a Form.
>
> Anyone an idea?
>
>
> 2013/6/25 Christian Köberl <tapestry.christian.koeb...@gmail.com>:
> > We have a quite strange behavior on IBM Websphere 8 / IBM Java 6 - we
> > get a NullPointerException in Form.java:406 (Tapestry 5.2.6).
> > Here's the corresponding line from Form.java:406:
> > resources.triggerEvent(EventConstants.PREPARE_FOR_RENDER, context, null);
> >
> > The NPE first is raised after some parallel users are working with the
> > application - before that everything works fine. After the first
> > occurrence, the NPE is raised on *any* Form render on *any* page for
> > *all* users. We have to restart the application to get it working
> > again. We can reproduce the error with some load but the first NPE
> > happens on different pages - so that's no clue.
> >
> > Happily we found this during our tests on WAS8 (not in production) -
> > we were migrating from WAS6 (the same version of the application runs
> > fine on WAS6).
> >
> > Has anybody an idea what's happening here?
> >
> > Thx,
> > Chris
> >
> > Hers is the full stack trace for one page (looks the same for all pages):
> >
> > org.apache.tapestry5.internal.services.RenderQueueException: Render
> > queue error in BeginRender[organization/user/List:form]:
> > org.apache.tapestry5.ioc.internal.util.TapestryException [at
> > classpath:ourapp/organization/web/pages/user/UserList.tml, line 47]
> >         at
> org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:84)
> >         at
> org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:127)
> >         at
> $PageRenderQueue_13f76df51b3.render($PageRenderQueue_13f76df51b3.java)
> >         at
> $PageRenderQueue_13f76df5192.render($PageRenderQueue_13f76df5192.java)
> >         at
> org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37)
> >         at ourapp.ui.UIModule$2.renderMarkup(UIModule.java:234)
> >         at
> $MarkupRenderer_13f76df51b5.renderMarkup($MarkupRenderer_13f76df51b5.java)
> >         at ourapp.ui.UIModule$1.renderMarkup(UIModule.java:211)
> >         at
> $MarkupRenderer_13f76df51b5.renderMarkup($MarkupRenderer_13f76df51b5.java)
> >         at
> org.apache.tapestry5.services.TapestryModule$29.renderMarkup(TapestryModule.java:2089)
> >         at
> $MarkupRenderer_13f76df51b5.renderMarkup($MarkupRenderer_13f76df51b5.java)
> >         at
> org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryModule.java:2073)
> >         at
> $MarkupRenderer_13f76df51b5.renderMarkup($MarkupRenderer_13f76df51b5.java)
> >         at
> org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:2055)
> >         at
> $MarkupRenderer_13f76df51b5.renderMarkup($MarkupRenderer_13f76df51b5.java)
> >         at
> org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:2040)
> >         at
> $MarkupRenderer_13f76df51b5.renderMarkup($MarkupRenderer_13f76df51b5.java)
> >         at
> org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:2026)
> >         at
> $MarkupRenderer_13f76df51b5.renderMarkup($MarkupRenderer_13f76df51b5.java)
> >         at
> org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryModule.java:2008)
> >         at
> $MarkupRenderer_13f76df51b5.renderMarkup($MarkupRenderer_13f76df51b5.java)
> >         at
> org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryModule.java:1989)
> >         at
> $MarkupRenderer_13f76df51b5.renderMarkup($MarkupRenderer_13f76df51b5.java)
> >         at
> $MarkupRenderer_13f76df51b2.renderMarkup($MarkupRenderer_13f76df51b2.java)
> >         at
> org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:47)
> >         at
> $PageMarkupRenderer_13f76df51af.renderPageMarkup($PageMarkupRenderer_13f76df51af.java)
> >         at
> org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:67)
> >         at
> ourapp.ui.internal.services.CacheHeaderPageResponseRendererDecorator.renderPageResponse(CacheHeaderPageResponseRendererDecorator.java:27)
> >         at
> $PageResponseRenderer_13f76df51ab.renderPageResponse($PageResponseRenderer_13f76df51ab.java)
> >         at
> org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:64)
> >         at
> org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.java:2326)
> >         at
> $PageRenderRequestHandler_13f76df51ad.handle($PageRenderRequestHandler_13f76df51ad.java)
> >         at
> $PageRenderRequestHandler_13f76df51a8.handle($PageRenderRequestHandler_13f76df51a8.java)
> >         at
> org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
> >         at
> ourapp.ui.services.SingleRequestFilter.handlePageRender(SingleRequestFilter.java:85)
> >         at
> $ComponentRequestHandler_13f76df51a9.handlePageRender($ComponentRequestHandler_13f76df51a9.java)
> >         at
> org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
> >         at
> $ComponentRequestHandler_13f76df51a9.handlePageRender($ComponentRequestHandler_13f76df51a9.java)
> >         at
> $ComponentRequestHandler_13f76df50da.handlePageRender($ComponentRequestHandler_13f76df50da.java)
> >         at
> org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
> >         at $Dispatcher_13f76df50e0.dispatch($Dispatcher_13f76df50e0.java)
> >         at $Dispatcher_13f76df50d7.dispatch($Dispatcher_13f76df50d7.java)
> >         at
> org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:321)
> >         at
> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
> >         at
> $RequestHandler_13f76df50d8.service($RequestHandler_13f76df50d8.java)
> >         at
> org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:984)
> >         at
> $RequestHandler_13f76df50d8.service($RequestHandler_13f76df50d8.java)
> >         at
> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:974)
> >         at
> $RequestHandler_13f76df50d8.service($RequestHandler_13f76df50d8.java)
> >         at
> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
> >         at
> $RequestHandler_13f76df50d8.service($RequestHandler_13f76df50d8.java)
> >         at
> ourapp.ui.internal.services.LocaleContextHolderSetter.service(LocaleContextHolderSetter.java:30)
> >         at
> $RequestHandler_13f76df50d8.service($RequestHandler_13f76df50d8.java)
> >         at
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
> >         at
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:80)
> >         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_13f76df50d8.service($RequestHandler_13f76df50d8.java)
> >         at
> $RequestHandler_13f76df50c4.service($RequestHandler_13f76df50c4.java)
> >         at
> org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:272)
> >         at
> ourapp.webservice.JaxWsHttpServletRequestFilter.service(JaxWsHttpServletRequestFilter.java:120)
> >         at
> $HttpServletRequestFilter_13f76df50c3.service($HttpServletRequestFilter_13f76df50c3.java)
> >         at
> $HttpServletRequestHandler_13f76df50c6.service($HttpServletRequestHandler_13f76df50c6.java)
> >         at
> org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
> >         at
> $HttpServletRequestHandler_13f76df50c6.service($HttpServletRequestHandler_13f76df50c6.java)
> >         at
> $HttpServletRequestHandler_13f76df50c6.service($HttpServletRequestHandler_13f76df50c6.java)
> >         at
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
> >         at
> $HttpServletRequestFilter_13f76df50c1.service($HttpServletRequestFilter_13f76df50c1.java)
> >         at
> $HttpServletRequestHandler_13f76df50c6.service($HttpServletRequestHandler_13f76df50c6.java)
> >         at
> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928)
> >         at
> $HttpServletRequestHandler_13f76df50c6.service($HttpServletRequestHandler_13f76df50c6.java)
> >         at
> $HttpServletRequestHandler_13f76df50bf.service($HttpServletRequestHandler_13f76df50bf.java)
> >         at
> ourapp.ui.tapestry.TapestryFilter$TapestryFilterChain.doFilter(TapestryFilter.java:63)
> >         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
> >         at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
> >         at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
> >         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
> >         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
> >         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> >         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> >         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
> >         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
> >         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> ourapp.security.services.PreAuthenticatedProcessingFilterChain$VirtualFilterChain.doFilter(PreAuthenticatedProcessingFilterChain.java:80)
> >         at
> ourapp.security.services.PreAuthenticatedProcessingFilterChain.doFilter(PreAuthenticatedProcessingFilterChain.java:45)
> >         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
> >         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
> >         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
> >         at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
> >         at
> ourapp.ui.tapestry.TapestryFilter.doFilter(TapestryFilter.java:137)
> >         at
> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
> >         at
> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
> >         at
> com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928)
> >         at
> com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025)
> >         at
> com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3751)
> >         at
> com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
> >         at
> com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:962)
> >         at
> com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
> >         at
> com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
> >         at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
> >         at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
> >         at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
> >         at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:276)
> >         at
> com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
> >         at
> com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
> >         at
> com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
> >         at
> com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
> >         at
> com.ibm.io.async.AsyncChannelFuture$1.run(AsyncChannelFuture.java:205)
> >         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1690)
> > Caused by:
> > org.apache.tapestry5.ioc.internal.util.TapestryException [at
> > classpath:ourapp/organization/web/pages/user/UserList.tml, line 47]
> >         at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:194)
> >         at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:246)
> >         at
> org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72)
> >         ... 118 more
> > Caused by:
> > java.lang.NullPointerException
> >         at
> org.apache.tapestry5.corelib.components.Form.beginRender(Form.java:406)
> >         at
> org.apache.tapestry5.corelib.components.Form$MethodAccess_beginRender_13f76df5156.invoke(Form$MethodAccess_beginRender_13f76df5156.java)
> >         at
> org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$Invoker.invoke(RenderPhaseMethodWorker.java:117)
> >         at
> org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$RenderPhaseMethodAdvice.advise(RenderPhaseMethodWorker.java:86)
> >         at
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
> >         at
> org.apache.tapestry5.corelib.components.Form.beginRender(Form.java)
> >         at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:239)
> >         at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:186)
> >         ... 120 more
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

Reply via email to