You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Rémy Maucherat <re...@apache.org> on 2023/05/10 15:24:12 UTC
[ANN] Apache Tomcat 9.0.75 available
The Apache Tomcat team announces the immediate availability of Apache
Tomcat 9.0.75.
Apache Tomcat 9 is an open source software implementation of the Java
Servlet, JavaServer Pages, Java Unified Expression Language, Java
WebSocket and JASPIC technologies.
Apache Tomcat 9.0.75 is a bugfix and feature release. The notable
changes compared to 9.0.74 include:
- Many improvements to the json access log valve.
- Deprecate support for the HTTP Connector settings
rejectIllegalHeader and allowHostHeaderMismatch.
Along with lots of other bug fixes and improvements.
Please refer to the change log for the complete list of changes:
https://tomcat.apache.org/tomcat-9.0-doc/changelog.html
Downloads:
https://tomcat.apache.org/download-90.cgi
Migration guides from Apache Tomcat 7.x and 8.x:
https://tomcat.apache.org/migration.html
Enjoy!
- The Apache Tomcat team
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: [ANN] Apache Tomcat 9.0.75 available
Posted by Greg Huber <gr...@gmail.com>.
OK thanks, the device was a mobile, so maybe they were aborts. Would not
be sending ValueButNoName.
I also had three extra gets/db entries, which cannot happen as I use a
token, around the same time the exception happened. Strange.
xx.xx.xx.xxx - - [27/May/2023:22:16:35 +0100] "GET /
xx.xx.xx.xxx - - [27/May/2023:22:16:35 +0100] "GET /
xx.xx.xx.xxx - - [27/May/2023:22:16:35 +0100] "GET /
xx.xx.xx.xxx - - [27/May/2023:22:16:40 +0100] "GET /
Cheers
On 29/05/2023 16:52, Mark Thomas wrote:
> On 29/05/2023 08:56, Greg Huber wrote:
>> Hello,
>>
>> Looking through my logs I am seeing a few:
>>
>> org.apache.catalina.connector.ClientAbortException:
>> java.io.IOException: Broken pipe
>
> <snip/>
>
>> Checking previous logs for 9.0.74, there were none, and I have not
>> made any changes to my app. Were there any changes that would cause
>> these?
>
> Nothing obvious.
>
> It is AJP so that suggests the proxy is closing the connection before
> Tomcat expects it to. That might happen for a 400 response but to be
> honest, I'd expect the proxy to read the full response before closing
> the connection. There was some tightening up of HTTP request header
> validation that might cause a few more 400 responses but I'd be
> surprised since the proxy should have rejected those requests before
> forwarding them anyway.
>
> The extra checks are for HTTP headers without names. i.e.:
>
> : ValueButNoName
>
> Maybe check if the client is sending such a header?
>
> Mark
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: [ANN] Apache Tomcat 9.0.75 available
Posted by Mark Thomas <ma...@apache.org>.
On 29/05/2023 08:56, Greg Huber wrote:
> Hello,
>
> Looking through my logs I am seeing a few:
>
> org.apache.catalina.connector.ClientAbortException: java.io.IOException:
> Broken pipe
<snip/>
> Checking previous logs for 9.0.74, there were none, and I have not made
> any changes to my app. Were there any changes that would cause these?
Nothing obvious.
It is AJP so that suggests the proxy is closing the connection before
Tomcat expects it to. That might happen for a 400 response but to be
honest, I'd expect the proxy to read the full response before closing
the connection. There was some tightening up of HTTP request header
validation that might cause a few more 400 responses but I'd be
surprised since the proxy should have rejected those requests before
forwarding them anyway.
The extra checks are for HTTP headers without names. i.e.:
: ValueButNoName
Maybe check if the client is sending such a header?
Mark
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: [ANN] Apache Tomcat 9.0.75 available
Posted by Greg Huber <gr...@gmail.com>.
Hello,
Looking through my logs I am seeing a few:
org.apache.catalina.connector.ClientAbortException: java.io.IOException:
Broken pipe
at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:351)
~[catalina.jar:9.0.75]
at
org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:784)
~[catalina.jar:9.0.75]
at
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:298)
~[catalina.jar:9.0.75]
at
org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:250)
~[catalina.jar:9.0.75]
at
org.apache.catalina.connector.CoyoteOutputStream.close(CoyoteOutputStream.java:153)
~[catalina.jar:9.0.75]
.....
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
[catalina.jar:9.0.75]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
[catalina.jar:9.0.75]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
[catalina.jar:9.0.75]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
[catalina.jar:9.0.75]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
[catalina.jar:9.0.75]
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
[catalina.jar:9.0.75]
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
[catalina.jar:9.0.75]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
[catalina.jar:9.0.75]
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
[catalina.jar:9.0.75]
at
org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:422)
[tomcat-coyote.jar:9.0.75]
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
[tomcat-coyote.jar:9.0.75]
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)
[tomcat-coyote.jar:9.0.75]
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
[tomcat-coyote.jar:9.0.75]
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
[tomcat-coyote.jar:9.0.75]
at
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
[tomcat-util.jar:9.0.75]
at
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
[tomcat-util.jar:9.0.75]
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
[tomcat-util.jar:9.0.75]
at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:?]
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[?:?]
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:113) ~[?:?]
at sun.nio.ch.IOUtil.write(IOUtil.java:79) ~[?:?]
at sun.nio.ch.IOUtil.write(IOUtil.java:50) ~[?:?]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:462)
~[?:?]
at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:136)
~[tomcat-coyote.jar:9.0.75]
at
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1431)
~[tomcat-coyote.jar:9.0.75]
at
org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:775)
~[tomcat-coyote.jar:9.0.75]
at
org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:573)
~[tomcat-coyote.jar:9.0.75]
at
org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:497)
~[tomcat-coyote.jar:9.0.75]
at
org.apache.coyote.ajp.AjpProcessor.writeData(AjpProcessor.java:1235)
~[tomcat-coyote.jar:9.0.75]
at
org.apache.coyote.ajp.AjpProcessor.access$600(AjpProcessor.java:59)
~[tomcat-coyote.jar:9.0.75]
at
org.apache.coyote.ajp.AjpProcessor$SocketOutputBuffer.doWrite(AjpProcessor.java:1315)
~[tomcat-coyote.jar:9.0.75]
at org.apache.coyote.Response.doWrite(Response.java:603)
~[tomcat-coyote.jar:9.0.75]
at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:338)
~[catalina.jar:9.0.75]
... 151 more
.....
java.lang.IllegalStateException: Cannot call sendError() after the
response has been committed
at
org.apache.catalina.connector.ResponseFacade.checkCommitted(ResponseFacade.java:530)
~[catalina.jar:9.0.75]
at
org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:355)
~[catalina.jar:9.0.75]
at
javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:111)
~[servlet-api.jar:4.0.FR]
at
javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:111)
~[servlet-api.jar:4.0.FR]
Checking previous logs for 9.0.74, there were none, and I have not made
any changes to my app. Were there any changes that would cause these?
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org