[ 
https://issues.apache.org/jira/browse/TAPESTRY-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12552533
 ] 

Robert Zeigler commented on TAPESTRY-1658:
------------------------------------------

Usually, I blame my code first for bugs, followed by framework, followed by the 
jvm/jdk, as well.  

I'm still seeing this and similar/related stack traces; one thing I finally 
realize was that the stack track I placed above is not the original stack trace 
(usually).  It's an exception encountered when trying to handle some other 
exception.  So I've been watching things a bit closer.  I've seen the following 
stack trace five times today (I've decorated exception handling to e-mail the 
original throwable whenever an exception occurs):


java.lang.NullPointerException
        at 
org.apache.tapestry.internal.services.InternalModule$2.getCookies(InternalModule.java:307)
        at $CookieSource_116e89c79eb.getCookies($CookieSource_116e89c79eb.java)
        at 
org.apache.tapestry.internal.services.CookiesImpl.readCookieValue(CookiesImpl.java:53)
        at $Cookies_116e89c79ea.readCookieValue($Cookies_116e89c79ea.java)
        at 
org.apache.tapestry.services.PersistentLocaleImpl.getCookieValue(PersistentLocaleImpl.java:46)
        at 
org.apache.tapestry.services.PersistentLocaleImpl.get(PersistentLocaleImpl.java:40)
        at $PersistentLocale_116e89c79e9.get($PersistentLocale_116e89c79e9.java)
        at 
org.apache.tapestry.internal.services.LocalizationSetterImpl.setThreadLocale(LocalizationSetterImpl.java:98)
        at 
$LocalizationSetter_116e89c79e5.setThreadLocale($LocalizationSetter_116e89c79e5.java)
        at 
org.apache.tapestry.internal.services.LocalizationFilter.service(LocalizationFilter.java:41)
        at $RequestHandler_116e89c79e8.service($RequestHandler_116e89c79e8.java)
        at 
org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.java:688)
        at $RequestHandler_116e89c79e8.service($RequestHandler_116e89c79e8.java)
        at 
org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:84)
        at $RequestHandler_116e89c79e8.service($RequestHandler_116e89c79e8.java)
        at 
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:97)
        at 
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:88)
        at 
org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
        at 
org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:110)
        at $RequestHandler_116e89c79e8.service($RequestHandler_116e89c79e8.java)
        at $RequestHandler_116e89c79df.service($RequestHandler_116e89c79df.java)
        at 
org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java:1086)
        at 
org.apache.tapestry.upload.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:43)
        at 
$HttpServletRequestHandler_116e89c79e0.service($HttpServletRequestHandler_116e89c79e0.java)
        at 
$HttpServletRequestHandler_116e89c79dd.service($HttpServletRequestHandler_116e89c79dd.java)
        at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
        at 
org.edkey.attendance.servlet.CayenneFilter.doFilter(CayenneFilter.java:79)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
        at 
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
        at 
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
        at 
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
        at 
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
        at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:595)

This is with tapestry 5.0.6.  The line in InternalModule is 
_requestGlobals.getHttpServletRequest().getCookies(); 
I never see this on my development box (a core2duo mac) (even with a lot of 
mutiple-thread testing), but have seen it on multiple linux boxes (3 different 
boxes; all dual-cpu).  "Feels" like a threading bug (sporadic, shows up in code 
that "normally" works, etc.)  Again, I normally suspect my code in issues like 
this, but that stack trace doesn't include any of my code (doesn't necessarily 
mean I'm not doing anything wrong, but...).

Only other note is that on one box where I see this issue, I have another t5 
app (5.0.5) running without problem.  That app runs stateless, whereas the app 
where I see the problem does not.  I'll keep trying to track this one down.

> NullPointerException when trying to store the request globals information
> -------------------------------------------------------------------------
>
>                 Key: TAPESTRY-1658
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1658
>             Project: Tapestry
>          Issue Type: Bug
>    Affects Versions: 5.0.5
>         Environment: Sun's java 1.5_12, debian linux, tomcat 4.0.3
>            Reporter: Robert Zeigler
>            Assignee: Howard M. Lewis Ship
>
> I've started (sporadically) receiving the following error.  Seems to hit 
> after a period of inactivity? (Maybe?)
> But I also just upgraded the java version from 1.5_09 to 1.5_12 yesterday, so 
> this may be a jvm bug. 
> I'll see if downgrading solves the issue (but hard to know since the issue is 
> so sporadic).
> java.lang.NullPointerException
>       at 
> java.lang.ThreadLocal$ThreadLocalMap$Entry.access$602(ThreadLocal.java:235)
>       at 
> java.lang.ThreadLocal$ThreadLocalMap.replaceStaleEntry(ThreadLocal.java:518)
>       at 
> java.lang.ThreadLocal$ThreadLocalMap.getAfterMiss(ThreadLocal.java:368)
>       at java.lang.ThreadLocal$ThreadLocalMap.get(ThreadLocal.java:347)
>       at java.lang.ThreadLocal$ThreadLocalMap.access$000(ThreadLocal.java:225)
>       at java.lang.ThreadLocal.get(ThreadLocal.java:127)
>       at 
> org.apache.tapestry.ioc.internal.services.PerThreadServiceCreator.createObject(PerThreadServiceCreator.java:56)
>       at 
> $RequestGlobals_113db30d6f8._perThreadInstance($RequestGlobals_113db30d6f8.java)
>       at $RequestGlobals_113db30d6f8.store($RequestGlobals_113db30d6f8.java)
>       at $RequestGlobals_113db30d6e2.store($RequestGlobals_113db30d6e2.java)
>       at 
> org.apache.tapestry.services.TapestryModule$11.service(TapestryModule.java:1042)
>       at 
> org.apache.tapestry.upload.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:42)
>       at 
> $HttpServletRequestHandler_113db30d6f6.service($HttpServletRequestHandler_113db30d6f6.java)
>       at 
> $HttpServletRequestHandler_113db30d6f3.service($HttpServletRequestHandler_113db30d6f3.java)
>       at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
>       at 
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
>       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>       at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
>       at 
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
>       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>       at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>       at 
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
>       at 
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
>       at 
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
>       at 
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
>       at 
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
>       at 
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
>       at 
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
>       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>       at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
>       at 
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
>       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>       at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>       at 
> org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:429)
>       at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:495)
>       at java.lang.Thread.run(Thread.java:595)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to