On 15/10/2016 22:40, f...@arcor.de wrote:
> Hello!
> Some days ago we stumpled about a problem which looks at least very similar 
> to this one:
> https://bz.apache.org/bugzilla//show_bug.cgi?id=58646
> With tomcat 8.5.5 we saw a lot of these Exceptions after some time with real 
> users on the platform:
> org.apache.catalina.connector.CoyoteAdapter.checkRecycled Encountered a 
> non-recycled response and recycled it forcedly.
> org.apache.catalina.connector.CoyoteAdapter$RecycleRequiredException
> We couldn't find a way to reproduce the error, but with downgrade to tomcat 
> 8.0.38 they never happened again. 
> I wonder if this bug was fixed for tomcat 8.5.x as well or only for 7.0.x and 
> 8.0.x?

It was fixed for 9.0.x (trunk) and 8.5.x.

> I guess the fixed method from tomcat 8.0.32 to 8.0.33 was:
> org.apache.coyote.http11.Http11NioProcessor.breakKeepAliveLoop(SocketWrapperBase<NioChannel>
>  socketWrapper)


The bug was in NioEndpoint$Poller.processSendfile()

> which is now in 8.5.5:
> org.apache.coyote.http11.Http11NioProcessor.breakKeepAliveLoop(SocketWrapper<?>
>  socketWrapper) 
> The content of the method from 8.0.32 and 8.5.5 is the same. So I would 
> assume this bug is still open in 8.5.5.

That assumption is incorrect.

This was the 8.0.x fix:

The refactoring in trunk (later copied into 8.5.x) fixed this error a
month or so before that.

It is possible that what you are seeing is a Tomcat bug. It is more
likely that the changes in 8.5.x have exposed a timing sensitive bug in
your application or a library it uses. The typical cause is a component
retaining a reference to the request or response object beyond the
lifetime of a single request. Tomcat reuses these objects internally and
retained references will cause these sorts of errors. You can try
setting the system property
org.apache.catalina.connector.RECYCLE_FACADES to true.


To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to