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)