You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Robert Zeigler <ro...@scazdl.org> on 2007/09/26 05:54:56 UTC

T5: Occasional NPE (thread locale issues, maybe?)

Hi,

I've got an app in T5 (5.0.5) which intermittently throws an  
exception like:
[ERROR] ExceptionReport Render queue error in BeginRender[core/ 
ExceptionReport:renderobject_0]:  
org.apache.tapestry.ioc.internal.util.TapestryException
org.apache.tapestry.ioc.internal.util.TapestryException [at  
classpath:org/apache/tapestry/corelib/pages/ExceptionReport.html,  
line 45, column 41]
     at  
org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke 
(ComponentPageElementImpl.java:935)

Which is caused by:

Caused by: java.lang.NullPointerException
     at $Request_11521d0ec62.getContextPath($Request_11521d0ec62.java)
     at $Request_11521d0ec27.getContextPath($Request_11521d0ec27.java)
     at org.apache.tapestry.internal.services.RequestRenderer.render 
(RequestRenderer.java:34)
     at org.apache.tapestry.internal.services.RequestRenderer.render 
(RequestRenderer.java:24)

But notice that that's an error while /rendering/ the exception  
page... something else appears to have triggered an exception, to  
cause the error page to render in the first place.
On some further digging, I found:

[ERROR] RequestExceptionHandler Processing of request failed with  
uncaught exception: java.lang.NullPointerException
java.lang.NullPointerException
     at org.apache.tapestry.internal.services.InternalModule 
$2.getCookies(InternalModule.java:294)
     at $CookieSource_11521d0ec3c.getCookies 
($CookieSource_11521d0ec3c.java)
     at  
org.apache.tapestry.internal.services.CookiesImpl.readCookieValue 
(CookiesImpl.java:53)
     at  
org.apache.tapestry.services.PersistentLocaleImpl.getCookieValue 
(PersistentLocaleImpl.java:46)
     at org.apache.tapestry.services.PersistentLocaleImpl.get 
(PersistentLocaleImpl.java:40)
     at $PersistentLocale_11521d0ec3a.get 
($PersistentLocale_11521d0ec3a.java)
     at  
org.apache.tapestry.internal.services.LocalizationSetterImpl.setThreadLo 
cale(LocalizationSetterImpl.java:98)
     at $LocalizationSetter_11521d0ec33.setThreadLocale 
($LocalizationSetter_11521d0ec33.java)
     at  
org.apache.tapestry.internal.services.LocalizationFilter.service 
(LocalizationFilter.java:41)
     at $RequestHandler_11521d0ec39.service 
($RequestHandler_11521d0ec39.java)
     ...

Appears that the request globals contain a null HttpServletRequest.

I've yet to see this on my development box (os x 10.4.10, apple's  
java 5; core2duo processor), but I see it with no apparent pattern on  
two different linux boxes,
(one running java 1.5.0_09, the other running 1.5.0_12; the former  
running tomcat 4.0.x, the latter running tomcat 4.1.x).
Both boxes are dual cpu boxes.  Has anybody else seen this?

Robert


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org