https://bz.apache.org/bugzilla/show_bug.cgi?id=58323
Bug ID: 58323 Summary: Client passing away causes Log.ERROR messages Product: Tomcat 8 Version: 8.0.23 Hardware: PC OS: Linux Status: NEW Severity: minor Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: benjamin.gehrels_exter...@immobilienscout24.de i think that ERROR logging should be reserved to misbehaviour of the software, that needs attention by the operator/developer (in contrast to WARN/INFO logging, that *may* show some misbehaviour). Having a client stumbeling over his network cable or having a bad connection during a subway ride should be a pretty normal and non-alarming situation in a distributed system, not a misbehaviour of the software. Sadly, when a SocketTimeoutException or an IOException: Connection reset by peer is thrown in a HttpServlet, it will be propagated through the FilterChain and cause ugly ERROR Logging: java.io.IOException: Connection reset by peer at sun.nio.ch.FileDispatcherImpl.read0(Native Method) ~[na:1.8.0_51] at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) ~[na:1.8.0_51] at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) ~[na:1.8.0_51] at sun.nio.ch.IOUtil.read(IOUtil.java:197) ~[na:1.8.0_51] at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380) ~[na:1.8.0_51] at org.apache.tomcat.util.net.NioChannel.read(NioChannel.java:140) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.tomcat.util.net.NioBlockingSelector.read(NioBlockingSelector.java:173) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.tomcat.util.net.NioSelectorPool.read(NioSelectorPool.java:251) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.tomcat.util.net.NioSelectorPool.read(NioSelectorPool.java:232) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.coyote.http11.InternalNioInputBuffer.fill(InternalNioInputBuffer.java:133) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.coyote.http11.InternalNioInputBuffer$SocketInputBuffer.doRead(InternalNioInputBuffer.java:177) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:110) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.coyote.http11.AbstractInputBuffer.doRead(AbstractInputBuffer.java:416) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.coyote.Request.doRead(Request.java:469) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:338) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:363) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.catalina.connector.InputBuffer.readByte(InputBuffer.java:352) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:94) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at java.io.FilterInputStream.read(FilterInputStream.java:83) ~[na:1.8.0_51] at java.io.PushbackInputStream.read(PushbackInputStream.java:139) ~[na:1.8.0_51] at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:135) ~[spring-webmvc-4.1.7.RELEASE.jar!/:4.1.7.RELEASE] [...] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:869) ~[spring-webmvc-4.1.7.RELEASE.jar!/:4.1.7.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843) ~[spring-webmvc-4.1.7.RELEASE.jar!/:4.1.7.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ~[tomcat-embed-websocket-8.0.23.jar!/:8.0.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) ~[tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) [tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) [tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:676) [tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) [tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) [tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) [tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668) [tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521) [tomcat-embed-core-8.0.23.jar!/:8.0.23] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478) [tomcat-embed-core-8.0.23.jar!/:8.0.23] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_51] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_51] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.0.23.jar!/:8.0.23] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51] I guess this should be an WARN/INFO/DEBUG logging, not an error. -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org