Wehave deployed a Wicket application that runs fine, but every once in a while I see a stacktrace in my Tomcat logs that says
ERROR - DefaultExceptionMapper :mapExpectedExceptions.144 - Connection lost, give up responding. Which appears to be caused by: java.net.SocketException: Connection reset by peer: socket write error This often occurs when no users are logged into the application. I've searched for an answer to this, but haven't been able to find anything useful. A lot of information about this error if you are trying to do a file transfer, but nothing related to my current situation. I'd appreciate it if anyone could suggest a way of tracking this down. The stacktrace isn't too helpful and none of the classes listed in it are classes that we developed, they are all framework classes (Tomcat, Wicket. Spring,etc.) I've included the whole stacktrace below. Could this be someone attempting to hack in, or something that happens when a browser is closed? Bruce 2015-06-24 11:23:34,922 ERROR - DefaultExceptionMapper :mapExpectedExceptions.144 - Connection lost, give up responding. org.apache.wicket.protocol.http.servlet.ResponseIOException: ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error at org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebR esponse.java:126) at org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBuffe ringWebResponse.java:182) at org.apache.wicket.request.resource.PackageResource$1.writeData(PackageResour ce.java:328) at org.apache.wicket.request.resource.AbstractResource.respond(AbstractResource .java:528) at org.apache.wicket.request.handler.resource.ResourceRequestHandler.respond(Re sourceRequestHandler.java:75) at org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler.r espond(ResourceReferenceRequestHandler.java:108) at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(Request Cycle.java:890) at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.ja va:64) at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261) at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.jav a:218) at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(Request Cycle.java:289) at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilte r.java:259) at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.jav a:201) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:208) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:330) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor. invoke(FilterSecurityInterceptor.java:118) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor. doFilter(FilterSecurityInterceptor.java:84) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:342) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter( ExceptionTranslationFilter.java:113) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:342) at org.springframework.security.web.session.SessionManagementFilter.doFilter(Se ssionManagementFilter.java:103) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:342) at org.springframework.security.web.authentication.AnonymousAuthenticationFilte r.doFilter(AnonymousAuthenticationFilter.java:113) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:342) at org.springframework.security.web.servletapi.SecurityContextHolderAwareReques tFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:342) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilt er(RequestCacheAwareFilter.java:45) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:342) at org.springframework.security.web.authentication.www.BasicAuthenticationFilte r.doFilter(BasicAuthenticationFilter.java:150) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:342) at org.springframework.security.web.authentication.AbstractAuthenticationProces singFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:342) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegr ationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestF ilter.java:107) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:342) at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(Co ncurrentSessionFilter.java:125) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:342) at org.springframework.security.web.context.SecurityContextPersistenceFilter.do Filter(SecurityContextPersistenceFilter.java:87) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:342) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterCha inProxy.java:192) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy. java:160) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Delegati ngFilterProxy.java:344) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilt erProxy.java:261) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase .java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170 ) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Proce ssor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Abstrac tProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java: 313) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java: 413) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:371) at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:438) at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:426) at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.ja va:91) at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.ja va:84) at org.springframework.security.web.context.SaveContextOnUpdateOrErrorResponseW rapper$SaveContextServletOutputStream.write(SaveContextOnUpdateOrErrorRespon seWrapper.java:453) at org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebR esponse.java:122) ... 60 more Caused by: java.net.SocketException: Connection reset by peer: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(Unknown Source) at java.net.SocketOutputStream.write(Unknown Source) at sun.security.ssl.OutputRecord.writeBuffer(Unknown Source) at sun.security.ssl.OutputRecord.write(Unknown Source) at sun.security.ssl.SSLSocketImpl.writeRecordInternal(Unknown Source) at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source) at sun.security.ssl.AppOutputStream.write(Unknown Source) at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputB uffer.java:215) at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366) at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWri te(InternalOutputBuffer.java:240) at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutput Filter.java:84) at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.j ava:192) at org.apache.coyote.Response.doWrite(Response.java:520) at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java: 408) ... 67 more