You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Markus Mayer <m....@generali.at> on 2004/07/08 12:17:54 UTC
NullPointerException in CoyoteRequestFacade
Hi all,
we are using tomcat 4.1.27 as a servlet container (no jsp's). when issuing
several concurrent requests to our servlet we receive a
NullPointerException from CoyoteRequestFacade (see stacktrace below). This
is because for some reason the CoyoteRequest instance held by the facade
gets nulled when several requests are processed by the server. the strange
thing is however that the facade itself is still a valid reference. its
just the decorated request instance that disappears. can anybody on the
list give me any pointers on where to look for a solution?
how is the requestFacade supposed to behave with regard to a servlet
receiving concurrent requests? is it a valid implementation strategy to
add attributes to a HttpServletRequest instance in a filter, then pass the
request to the servlet and afterwards process the request (and its
attributes) again in the filter after the servlet has finished processing
the request (after calling getChain().doFilter())?
Any help appreciated.
Thanks,
Markus
p.s.: i hope it is ok to post this question to the dev mailing list. if i
chose the wrong list please drop me a line...
at org.apache.coyote.tomcat4.CoyoteRequestFacade.setAttribute
(CoyoteRequestFacade.java: 234)
at com.generali.vp.tomcat.AbstractAdapterServlet.sendOutputToBrowser
(AbstractAdapterServlet.java: 222)
at com.generali.vp.tomcat.evpbasis.AbstractEVPServlet.doPost
(AbstractEVPServlet.java: 154)
at javax.servlet.http.HttpServlet.service (HttpServlet.java: 760)
at javax.servlet.http.HttpServlet.service (HttpServlet.java: 853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java: 247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java: 193)
at com.generali.vp.filters.AbstractFilter.doFilter
(AbstractFilter.java: 94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java: 213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java: 193)
at com.generali.vp.filters.AbstractFilter.doFilter
(AbstractFilter.java: 94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java: 213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java: 193)
at com.generali.vp.filters.AbstractFilter.doFilter
(AbstractFilter.java: 94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java: 213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java: 193)
at com.generali.vp.filters.AbstractFilter.doFilter
(AbstractFilter.java: 94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java: 213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java: 193)
at com.generali.vp.filters.AbstractFilter.doFilter
(AbstractFilter.java: 94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java: 213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java: 193)
at com.generali.vp.filters.AbstractFilter.doFilter
(AbstractFilter.java: 94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java: 213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java: 193)
at com.generali.vp.filters.AbstractFilter.doFilter
(AbstractFilter.java: 94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java: 213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java: 193)
at com.generali.vp.filters.AbstractFilter.doFilter
(AbstractFilter.java: 94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java: 213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java: 193)
at com.generali.vp.filters.AbstractFilter.doFilter
(AbstractFilter.java: 94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java: 213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java: 193)
at com.generali.vp.filters.AbstractFilter.doFilter
(AbstractFilter.java: 94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java: 213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java: 193)
at com.generali.vp.filters.AbstractFilter.doFilter
(AbstractFilter.java: 94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java: 213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java: 193)
at com.generali.vp.tomcat.evpbasis.dbvs.filters.UserFilter.doFiltering
(UserFilter.java: 69)
at com.generali.vp.filters.AbstractFilter.doFilter
(AbstractFilter.java: 92)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java: 213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java: 193)
at com.generali.vp.tomcat.filters.CommitFilter.doFiltering
(CommitFilter.java: 53)
at com.generali.vp.filters.AbstractFilter.doFilter
(AbstractFilter.java: 92)
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: 256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext
(StandardPipeline.java: 643)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java: 480)
at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:
995)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java: 191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext
(StandardPipeline.java: 643)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java: 480)
at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:
995)
at org.apache.catalina.core.StandardContext.invoke
(StandardContext.java: 2416)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java: 180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext
(StandardPipeline.java: 643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke
(ErrorDispatcherValve.java: 171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext
(StandardPipeline.java: 641)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java: 172)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext
(StandardPipeline.java: 641)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java: 480)
at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:
995)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java: 174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext
(StandardPipeline.java: 643)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java: 480)
at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:
995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service
(CoyoteAdapter.java: 223)
at org.apache.jk.server.JkCoyoteHandler.invoke (JkCoyoteHandler.java:
263)
at org.apache.jk.common.HandlerRequest.invoke (HandlerRequest.java:
360)
at org.apache.jk.common.ChannelSocket.invoke (ChannelSocket.java: 604)
at org.apache.jk.common.ChannelSocket.processConnection
(ChannelSocket.java: 562)
at org.apache.jk.common.SocketConnection.runIt (ChannelSocket.java:
679)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java: 619)
at java.lang.Thread.run (Thread.java: 534)