Mantis - Resin
Viewing Issue Advanced Details
4634 minor always 06-21-11 10:05 07-01-11 16:22
cowan  
ferg  
normal  
closed 4.0.19  
fixed  
none    
none 4.0.19  
0004634: NPE in HttpServletRequestImpl
3 stack traces follow

[2011-06-21 09:27:56.278] java.lang.NullPointerException
                                at com.caucho.server.http.HttpServletRequestImpl.getScheme(HttpServletRequestImpl.java:190)
                                at com.caucho.server.http.CauchoRequestWrapper.getScheme(CauchoRequestWrapper.java:113)
                                at com.caucho.server.http.CauchoRequestWrapper.getRequestURL(CauchoRequestWrapper.java:387)
                                at _jsp._error._500__jsp._jspService(_500__jsp.java:58)
                                at _jsp._error._500__jsp._jspService(_500__jsp.java:31)
                                at com.caucho.jsp.JavaPage.service(JavaPage.java:64)
                                at com.caucho.jsp.Page.pageservice(Page.java:542)
                                at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:194)
                                at com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:126)
                                at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287)
                                at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:298)
                                at com.caucho.server.webapp.RequestDispatcherImpl.error(RequestDispatcherImpl.java:131)
                                at com.caucho.server.webapp.ErrorPageManager.sendServletErrorImpl(ErrorPageManager.java:430)
                                at com.caucho.server.webapp.ErrorPageManager.sendServletError(ErrorPageManager.java:190)
                                at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:158)
                                at com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95)
                                at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287)
                                at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:802)
                                at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:731)
                                at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:693)
                                at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:677)
                                at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:623)
                                at com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:107)
                                at com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98)
                                at com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81)
                                at com.caucho.network.listen.AcceptTask.run(AcceptTask.java:65)
                                at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164)
                                at com.caucho.env.thread.ResinThread.run(ResinThread.java:130)



[2011-06-21 09:21:48.457] java.lang.NullPointerException
                                at com.caucho.server.http.HttpServletRequestImpl.setAttribute(HttpServletRequestImpl.java:500)
                                at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:123)
                                at com.lmax.hcf.web.InvocationContextFilter.doFilter(InvocationContextFilter.java:70)
                                at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
                                at com.caucho.server.cache.ProxyCacheFilterChain.doFilter(ProxyCacheFilterChain.java:165)
                                at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156)
                                at com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95)
                                at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287)
                                at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:802)
                                at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:731)
                                at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:693)
                                at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:677)
                                at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:623)
                                at com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:107)
                                at com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98)
                                at com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81)
                                at com.caucho.network.listen.AcceptTask.run(AcceptTask.java:65)
                                at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164)
                                at com.caucho.env.thread.ResinThread.run(ResinThread.java:130)



java.lang.NullPointerException
        at com.caucho.server.http.AbstractHttpResponse.setSpecial(AbstractHttpResponse.java:417)
        at com.caucho.server.http.AbstractHttpResponse.addHeaderImpl(AbstractHttpResponse.java:376)
        at com.caucho.server.http.AbstractHttpResponse.addHeader(AbstractHttpResponse.java:364)
        at com.caucho.server.http.HttpServletResponseImpl.addHeader(HttpServletResponseImpl.java:1132)
        at javax.servlet.http.HttpServletResponseWrapper.addHeader(HttpServletResponseWrapper.java:132)
        at com.lmax.hcf.web.ControllerServlet.setExpires(ControllerServlet.java:184)
        at com.lmax.hcf.web.ControllerServlet.service(ControllerServlet.java:148)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:96)
        at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109)
        at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:359)
        at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:10
        [...]

The relevant code at ControllerServlet:184 is:

    httpRes.addHeader("Cache-Control", "no-cache");
            

This one is happening in our production environment (running 4.0.s110524). We cannot currently reproduce it in 4.0.19 final, but that might be because it's being masked by the issues I raised earlier.

java.lang.NullPointerException
        at com.caucho.server.http.HttpServletRequestImpl.startAsync(HttpServletRequestImpl.java:1747)
        at com.caucho.server.http.CauchoRequestWrapper.startAsync(CauchoRequestWrapper.java:326)
        at com.lmax.hcf.push.PushServlet.parkAsyncContext(PushServlet.java:149)
        at com.lmax.hcf.push.PushServlet.handleRequest(PushServlet.java:106)
        at com.lmax.hcf.push.PushServlet.doPost(PushServlet.java:59)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:158)


Rep by D Yates

There are no notes attached to this issue.