You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Sergiusz Brzeziński <Se...@supersystem.pl> on 2015/05/26 13:25:11 UTC

org.apache.catalina.connector.CoyoteAdapter.checkRecycled Encountered a non-recycled request and recycled it forcedly

Hi,

I get this error in my logs:

CoyoteAdapter.checkRecycled Encountered a non-recycled request and recycled it forcedly.

It happen some hours or even some days ater Tomcat ist starting. I can't reproduce this error and I don't
know when it starts to appear.  But if it starts, it appears more and more. And everything goes crash.

After the error starts to appear, many strange things happen:
- there is no Session availabe in jsp (request.getSession() returns null)
- filters defined in web.xml are not used
- or even on one virtual host appeared a page from another virtual host!!!

Then I have to restart Tomcat and everything is all right up to it happen again (some hours, some days).

I tried to use the parameter: 

-Dorg.apache.catalina.connector.RECYCLE_FACADES=true

but with no luck.

Does someone have any idea what is the reason of the problem? 

Thank You.


Below is the stack of the error, and my Tomcat configuration.



23-May-2015 16:32:37.455 INFO [ajp-nio2-127.0.0.1-8009-exec-159] org.apache.catalina.connector.CoyoteAdapter.checkRecycled Encountered a non-recycled request and recycled it forcedly.
 org.apache.catalina.connector.CoyoteAdapter$RecycleRequiredException
	at org.apache.catalina.connector.CoyoteAdapter.checkRecycled(CoyoteAdapter.java:710)
	at org.apache.coyote.ajp.AbstractAjpProcessor.recycle(AbstractAjpProcessor.java:943)
	at org.apache.coyote.ajp.AjpNio2Processor.recycle(AjpNio2Processor.java:91)
	at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:792)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
	at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1073)
	at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.run(Nio2Endpoint.java:1032)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)


26-May-2015 08:05:12.890 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.0.22
26-May-2015 08:05:12.893 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Apr 29 2015 11:46:15 UTC
26-May-2015 08:05:12.894 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.0.22.0
26-May-2015 08:05:12.894 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
26-May-2015 08:05:12.894 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            3.13.0-042stab106.6
26-May-2015 08:05:12.894 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
26-May-2015 08:05:12.895 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /moje/jdk1.8.0_45/jre
26-May-2015 08:05:12.895 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_45-b14
26-May-2015 08:05:12.895 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
26-May-2015 08:05:12.895 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /moje/tomcat-base
26-May-2015 08:05:12.896 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /moje/apache-tomcat-8.0.22
26-May-2015 08:05:12.896 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/moje/tomcat-base/conf/logging.properties
26-May-2015 08:05:12.897 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
26-May-2015 08:05:12.897 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+UseConcMarkSweepGC
26-May-2015 08:05:12.897 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.awt.headless=true
26-May-2015 08:05:12.897 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dfile.encoding=UTF8
26-May-2015 08:05:12.898 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dsgen.parametry=/moje/tomcat-base
26-May-2015 08:05:12.898 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx1400M
26-May-2015 08:05:12.898 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.connector.RECYCLE_FACADES=true
26-May-2015 08:05:12.898 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+HeapDumpOnOutOfMemoryError
26-May-2015 08:05:12.899 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:HeapDumpPath=/tmp/tomcat_dump.bin
26-May-2015 08:05:12.899 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.endorsed.dirs=/moje/tomcat/endorsed
26-May-2015 08:05:12.900 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/moje/tomcat-base
26-May-2015 08:05:12.900 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/moje/tomcat
26-May-2015 08:05:12.900 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/tmp/tomcat8-tomcat8-tmp
26-May-2015 08:05:12.901 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.1.33 using APR version 1.5.1.
26-May-2015 08:05:12.901 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
26-May-2015 08:05:13.221 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio2-127.0.0.1-8009"]
26-May-2015 08:05:13.433 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1469 ms
26-May-2015 08:05:13.482 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
26-May-2015 08:05:13.482 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.22


Sergiusz





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


Re: org.apache.catalina.connector.CoyoteAdapter.checkRecycled Encountered a non-recycled request and recycled it forcedly

Posted by Rémy Maucherat <re...@apache.org>.
2015-05-26 14:32 GMT+02:00 Konstantin Kolinko <kn...@gmail.com>:

> The "forced recycling" message is not a problem per se, but an
> indicator of a problem. In the same way as "or even on one virtual
> host appeared a page from another virtual host" that you. It signals
> that a request/response object was not empty at the place where it was
> supposed to have already been recycled.
>
> AJP Nio2 connector...
>
> Maybe try with AJP Nio one? I guess that it is more widely used than
> Nio2 implementation.
>

According to the stack trace, it's just a normal AJP ping message. It does
nothing except write a pong and then recycle, so the message is expected in
that case.

BTW, I am still not convinced by the usefulness of this warning message,
which does not indicate a problem but does (you never know :) ).

>
> Tomcat 8.0.23 has already been released (is available on download
> servers), but there have been no announcement yet.
>
>
> Anything unusual in your web applications? Like using asynchronous APIs?
>
> Rémy

Re: org.apache.catalina.connector.CoyoteAdapter.checkRecycled Encountered a non-recycled request and recycled it forcedly

Posted by Konstantin Kolinko <kn...@gmail.com>.
2015-05-26 14:25 GMT+03:00 Sergiusz Brzeziński
<Se...@supersystem.pl>:
> Hi,
>
> I get this error in my logs:
>
> CoyoteAdapter.checkRecycled Encountered a non-recycled request and recycled it forcedly.
>
> It happen some hours or even some days ater Tomcat ist starting. I can't reproduce this error and I don't
> know when it starts to appear.  But if it starts, it appears more and more. And everything goes crash.
>
> After the error starts to appear, many strange things happen:
> - there is no Session availabe in jsp (request.getSession() returns null)
> - filters defined in web.xml are not used
> - or even on one virtual host appeared a page from another virtual host!!!
>
> Then I have to restart Tomcat and everything is all right up to it happen again (some hours, some days).
>
> I tried to use the parameter:
>
> -Dorg.apache.catalina.connector.RECYCLE_FACADES=true
>
> but with no luck.

Good idea. Thanks for trying.

> Does someone have any idea what is the reason of the problem?
>
> Thank You.
>
>
> Below is the stack of the error, and my Tomcat configuration.
>
>
>
> 23-May-2015 16:32:37.455 INFO [ajp-nio2-127.0.0.1-8009-exec-159] org.apache.catalina.connector.CoyoteAdapter.checkRecycled Encountered a non-recycled request and recycled it forcedly.
>  org.apache.catalina.connector.CoyoteAdapter$RecycleRequiredException
>         at org.apache.catalina.connector.CoyoteAdapter.checkRecycled(CoyoteAdapter.java:710)
>         at org.apache.coyote.ajp.AbstractAjpProcessor.recycle(AbstractAjpProcessor.java:943)
>         at org.apache.coyote.ajp.AjpNio2Processor.recycle(AjpNio2Processor.java:91)
>         at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:792)
>         at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
>         at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1073)
>         at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.run(Nio2Endpoint.java:1032)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>         at java.lang.Thread.run(Thread.java:745)
>
>
> 26-May-2015 08:05:12.890 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.0.22
> 26-May-2015 08:05:12.893 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Apr 29 2015 11:46:15 UTC
> 26-May-2015 08:05:12.894 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.0.22.0
> 26-May-2015 08:05:12.894 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
> 26-May-2015 08:05:12.894 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            3.13.0-042stab106.6
> 26-May-2015 08:05:12.894 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
> 26-May-2015 08:05:12.895 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /moje/jdk1.8.0_45/jre
> 26-May-2015 08:05:12.895 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_45-b14
> 26-May-2015 08:05:12.895 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
> 26-May-2015 08:05:12.895 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /moje/tomcat-base
> 26-May-2015 08:05:12.896 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /moje/apache-tomcat-8.0.22
> 26-May-2015 08:05:12.896 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/moje/tomcat-base/conf/logging.properties
> 26-May-2015 08:05:12.897 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
> 26-May-2015 08:05:12.897 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+UseConcMarkSweepGC
> 26-May-2015 08:05:12.897 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.awt.headless=true
> 26-May-2015 08:05:12.897 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dfile.encoding=UTF8
> 26-May-2015 08:05:12.898 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dsgen.parametry=/moje/tomcat-base
> 26-May-2015 08:05:12.898 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx1400M
> 26-May-2015 08:05:12.898 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.connector.RECYCLE_FACADES=true
> 26-May-2015 08:05:12.898 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+HeapDumpOnOutOfMemoryError
> 26-May-2015 08:05:12.899 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:HeapDumpPath=/tmp/tomcat_dump.bin
> 26-May-2015 08:05:12.899 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.endorsed.dirs=/moje/tomcat/endorsed
> 26-May-2015 08:05:12.900 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/moje/tomcat-base
> 26-May-2015 08:05:12.900 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/moje/tomcat
> 26-May-2015 08:05:12.900 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/tmp/tomcat8-tomcat8-tmp
> 26-May-2015 08:05:12.901 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.1.33 using APR version 1.5.1.
> 26-May-2015 08:05:12.901 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
> 26-May-2015 08:05:13.221 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio2-127.0.0.1-8009"]
> 26-May-2015 08:05:13.433 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1469 ms
> 26-May-2015 08:05:13.482 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
> 26-May-2015 08:05:13.482 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.22


The "forced recycling" message is not a problem per se, but an
indicator of a problem. In the same way as "or even on one virtual
host appeared a page from another virtual host" that you. It signals
that a request/response object was not empty at the place where it was
supposed to have already been recycled.

AJP Nio2 connector...

Maybe try with AJP Nio one? I guess that it is more widely used than
Nio2 implementation.

Tomcat 8.0.23 has already been released (is available on download
servers), but there have been no announcement yet.


Anything unusual in your web applications? Like using asynchronous APIs?

Best regards,
Konstantin Kolinko

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