[
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]