пн, 7 мар. 2022 г. в 16:26, Thomas Hoffmann (Speed4Trade GmbH) <thomas.hoffm...@speed4trade.com.invalid>: > > Hello, > > Since upgrading from Tomcat 9.0.56 to Tomcat 10.0.16, the localhost-logfile > is filling up with stacks of the form: > > 07-Mar-2022 07:24:01.780 SCHWERWIEGEND [https-openssl-nio-443-exec-21] > org.apache.catalina.core.ApplicationDispatcher.invoke Servlet.service() for > servlet [jsp] threw exception > java.lang.IllegalStateException: Connection [66], Stream [113], > Unable to write to stream once it has been closed > at > org.apache.coyote.http2.Stream$StreamOutputBuffer.doWrite(Stream.java:843) > at > org.apache.coyote.http11.filters.GzipOutputFilter$FakeOutputStream.write(GzipOutputFilter.java:159) > at > java.base/java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:252) > at > java.base/java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:210) > at > java.base/java.util.zip.GZIPOutputStream.write(GZIPOutputStream.java:148) > at > org.apache.coyote.http11.filters.GzipOutputFilter.doWrite(GzipOutputFilter.java:69) > at > org.apache.coyote.http2.Http2OutputBuffer.doWrite(Http2OutputBuffer.java:59) > at org.apache.coyote.Response.doWrite(Response.java:625) > at > org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:340) > at > org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:783) > at > org.apache.catalina.connector.OutputBuffer.realWriteChars(OutputBuffer.java:453) > at > org.apache.catalina.connector.OutputBuffer.flushCharBuffer(OutputBuffer.java:788) > at > org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:727) > at > org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:505) > at > org.apache.catalina.connector.CoyoteWriter.write(CoyoteWriter.java:148) > at > org.apache.catalina.filters.ExpiresFilter$XPrintWriter.write(ExpiresFilter.java:850) > at > org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:275) > at java.base/java.io.PrintWriter.write(PrintWriter.java:506) > at > org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:275) > at java.base/java.io.PrintWriter.write(PrintWriter.java:506) > at > org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:112) > at > org.apache.jasper.runtime.JspWriterImpl.flush(JspWriterImpl.java:160) > at > org.apache.jsp.WEB_002dINF.jsp.businessrelations.ticket_005frelations_inc_jsp._jspService(ticket_005frelations_inc_jsp.java:702) > ... > > The jsp-file varies between the stacktraces, so it is not related to a > certain jsp-File. > The stream.java looks like (which didn’t change from Tomcat 9 to 10): > @Override > public final synchronized int doWrite(ByteBuffer chunk) throws > IOException { > if (closed) { > throw new IllegalStateException( > sm.getString("stream.closed", getConnectionId(), > getIdAsString()));
I wonder why it throws an ISE here, instead of a proper IOException as declared by this method. (It looks like a bug, but I have not investigated the history of this code yet.) There is nothing suspicious in the stacktrace. An unusual bit of configuration here is having enabled a GzipOutputFilter. Best regards, Konstantin Kolinko > } > > The generated java file from the jsp file only catches IOException: > ... > if (!(t instanceof jakarta.servlet.jsp.SkipPageException)){ > out = _jspx_out; > if (out != null && out.getBufferSize() != 0) > try { > if (response.isCommitted()) { > out.flush(); > } else { > out.clearBuffer(); > } > } catch (java.io.IOException e) {} > if (_jspx_page_context != null) > _jspx_page_context.handlePageException(t); > else throw new ServletException(t); > } > > It seems like the browser is sometimes closing the stream and this causes > Tomcat to write exceptions in the localhost-logfile. > > Is there any way to prevent this? > It is strange, that it didn’t happen with Tomcat 9 or maybe a Firefox-Update > is causing the issue(?) Access-log shows Firefox 97. > > Greetings, Thomas --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org