On 23/09/2015 19:50, André Warnier (tomcat) wrote: > On 23.09.2015 17:51, DB wrote: >> Hello, >> >> For Tomcat 8.0.24 and jre 1.8.0_60. >> >> I have seen this stack trace in catalina.out and I have not found >> anything using google search to discover the cause. The error is >> intermittent and only shows up after pretty significant load: >> >> 17-Sep-2015 13:04:54.941 INFO [http-apr-8443-exec-3082] >> org.apache.coyote.AbstractProcessor.setErrorState An error occurred in >> processing while on a non-container thread. The connection will be >> closed immediately >> java.io.IOException: APR error: -70014 >> at >> org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:291) >> >> at >> org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:244) >> >> at >> org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:213) >> >> at >> org.apache.coyote.http11.AbstractOutputBuffer.flush(AbstractOutputBuffer.java:305) >> >> at >> org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:765) >> >> at org.apache.coyote.Response.action(Response.java:179) >> at >> org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:349) >> at >> org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:317) >> at >> org.apache.catalina.connector.CoyoteWriter.flush(CoyoteWriter.java:94) >> at MyServlet.doGet(MyServlet.java:55) >> >> The code at this line is: response.getWriter().flush(); >> >> What does this error mean? >> > > Hi. > This is way beyond my depth in Tomcat or Java, but searching Google for > "non-container thread" brought back one item which might be of interest :
"non-container thread" just means that I/O is taking place on a thread the application started and is managing itself (as is often the case in async and non-blocking I/O) rather than a thread started and managed by Tomcat. You need to look at org.apache.tomcat.jni.Status to decode those error codes. 70000 is the offset for APR specific codes. 14 is EOF. So this is APR's way of telling you that the app tried to write to the socket after (as far as APR was concerned) that the socket was closed. I'd guess that Tomcat had already closed the socket for some reason before the non-container thread tried to write to it. Mark --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org