Mantis - Resin
Viewing Issue Advanced Details
4298 minor sometimes 11-18-10 08:59 01-10-11 16:59
reza  
ferg  
normal  
closed 4.0.12  
fixed  
none    
none 4.0.15  
0004298: Intermittent Errors in Proxy Cache
The proxy cache is occasionally generating exceptions to the log. The following are the exceptions:

================================================================================
java.lang.IllegalStateException: response cannot be reset() after committed
                                at com.caucho.server.http.HttpServletResponseImpl.reset(HttpServletResponseImpl.java:255)
                                at com.caucho.server.http.HttpServletResponseImpl.reset(HttpServletResponseImpl.java:243)
                                at com.caucho.server.http.CauchoResponseWrapper.reset(CauchoResponseWrapper.java:152)
                                at com.caucho.server.cache.ProxyCacheFilterChain.resetResponse(ProxyCacheFilterChain.java:546)
                                at com.caucho.server.cache.ProxyCacheFilterChain.fillFromCache(ProxyCacheFilterChain.java:428)
                                at com.caucho.server.cache.ProxyCacheResponse.writeHeaders(ProxyCacheResponse.java:155)
                                at com.caucho.server.http.ResponseStream.writeHeaders(ResponseStream.java:279)
                                at com.caucho.server.http.HttpResponseStream.writeHeaders(HttpResponseStream.java:82)
                                at com.caucho.server.http.ToByteResponseStream.flushByteBuffer(ToByteResponseStream.java:549)
                                at com.caucho.server.http.ToByteResponseStream.flushBuffer(ToByteResponseStream.java:605)
                                at com.caucho.server.http.ResponseStream.closeImpl(ResponseStream.java:644)
                                at com.caucho.server.http.AbstractResponseStream.close(AbstractResponseStream.java:350)
                                at com.caucho.server.http.AbstractHttpResponse.finishInvocation(AbstractHttpResponse.java:973)
                                at com.caucho.server.http.AbstractHttpResponse.close(AbstractHttpResponse.java:912)
                                at com.caucho.server.http.HttpServletResponseImpl.close(HttpServletResponseImpl.java:1469)
                                at com.caucho.server.webapp.RequestDispatcherImpl.finishResponse(RequestDispatcherImpl.java:304)
                                at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:284)
                                at com.caucho.server.webapp.RequestDispatcherImpl.dispatch(RequestDispatcherImpl.java:120)
                                at com.caucho.server.dispatch.RewriteDispatchFilterChain.doFilter(RewriteDispatchFilterChain.java:82)
                                at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:183)
                                at com.caucho.server.cache.ProxyCacheFilterChain.doFilter(ProxyCacheFilterChain.java:199)
                                at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287)
                                at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:792)
                                at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:675)
                                at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:637)
                                at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:588)
                                at com.caucho.network.listen.TcpSocketLink$AcceptTask.doTask(TcpSocketLink.java:1175)
                                at com.caucho.network.listen.TcpSocketLink$ConnectionReadTask.runThread(TcpSocketLink.java:1108)
                                at com.caucho.network.listen.TcpSocketLink$AcceptTask.run(TcpSocketLink.java:1142)
                                at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:182)
                                at com.caucho.env.thread.ResinThread.run(ResinThread.java:126)
================================================================================
java.lang.NullPointerException
                                at java.io.FilterInputStream.close(FilterInputStream.java:155)
                                at sun.net.www.protocol.jar.JarURLConnection$JarURLInputStream.close(JarURLConnection.java:90)
                                at com.caucho.rewrite.WelcomeFile.matchWelcomeUri(WelcomeFile.java:205)
                                at com.caucho.rewrite.WelcomeFile.matchWelcomeFileResource(WelcomeFile.java:144)
                                at com.caucho.rewrite.WelcomeFile.map(WelcomeFile.java:124)
                                at com.caucho.server.rewrite.RewriteDispatch.mapChain(RewriteDispatch.java:256)
                                at com.caucho.server.rewrite.RewriteDispatch.map(RewriteDispatch.java:209)
                                at com.caucho.server.webapp.WebApp.buildInvocation(WebApp.java:3375)
                                at com.caucho.server.webapp.WebAppContainer.buildInvocation(WebAppContainer.java:765)
                                at com.caucho.server.host.Host.buildInvocation(Host.java:753)
                                at com.caucho.server.host.HostContainer.buildInvocation(HostContainer.java:319)
                                at com.caucho.server.cluster.Server.buildInvocation(Server.java:901)
                                at com.caucho.server.dispatch.InvocationServer.buildInvocation(InvocationServer.java:247)
                                at com.caucho.server.dispatch.InvocationServer.buildInvocation(InvocationServer.java:220)
                                at com.caucho.server.http.AbstractHttpRequest.buildInvocation(AbstractHttpRequest.java:1471)
                                at com.caucho.server.http.AbstractHttpRequest.getInvocation(AbstractHttpRequest.java:1444)
                                at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:779)
                                at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:675)
                                at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:637)
                                at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:588)
                                at com.caucho.network.listen.TcpSocketLink$AcceptTask.doTask(TcpSocketLink.java:1175)
                                at com.caucho.network.listen.TcpSocketLink$ConnectionReadTask.runThread(TcpSocketLink.java:1108)
                                at com.caucho.network.listen.TcpSocketLink$AcceptTask.run(TcpSocketLink.java:1142)
                                at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:182)
                                at com.caucho.env.thread.ResinThread.run(ResinThread.java:126)
================================================================================

The "webchk" URL is defined as such:

<rewrite-real-path>
  <real-path regexp="^/webchk" target="/usr/local/www/webchk"/>
</rewrite-real-path>

Attached is a detailed log. This may be an issue related to sending 403 NotModified responses to the load-balancer instead of 200 OK.
 web-tier-stdout.log [^] (375,912 bytes) 11-18-10 08:59

Notes
(0004903)
ferg   
01-10-11 16:59   
server/2he3