-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Osman,
On 4/29/15 10:52 AM, Osman Ullah | Ntrepid Corp wrote: > Hello, > > We are using Tomcat 7.0.61 and we are seeing the following error > in catalina.out: > > Apr 29, 2015 2:23:14 PM org.apache.coyote.AbstractProcessor > setErrorState INFO: An error occurred in processing while on a > non-container thread. The connection will be closed immediately > java.io.IOException at > rg.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAp rOutp > > utBuffer.java:205) > at > org.apache.coyote.http11.InternalAprOutputBuffer.flush(InternalAprOutp utBuf > > fer.java:109) > at > org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11 Proce > > ssor.java:801) > at org.apache.coyote.Response.action(Response.java:172) at > org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:3 63) > > at > org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:331 ) > > at > org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStr eam.j > > ava:101) > at > org.granite.gravity.AbstractChannel.runReceived(AbstractChannel.java:2 64) > > at > org.granite.gravity.AbstractChannel.runReceive(AbstractChannel.java:19 9) > > at org.granite.gravity.AsyncReceiver.doRun(AsyncReceiver.java:34) > at > org.granite.gravity.AsyncChannelRunner.run(AsyncChannelRunner.java:52) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j ava:1 > > 145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor. java: > > 615) > at java.lang.Thread.run(Thread.java:745) > > > > Apr 29, 2015 2:23:14 PM org.apache.coyote.AbstractProcessor > setErrorState INFO: An error occurred in processing while on a > non-container thread. The connection will be closed immediately > java.io.IOException at > org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalA prOut > > putBuffer.java:205) > at > org.apache.coyote.http11.InternalAprOutputBuffer.endRequest(InternalAp rOutp > > utBuffer.java:150) > at > org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11 Proce > > ssor.java:762) > at org.apache.coyote.Response.action(Response.java:174) at > org.apache.coyote.Response.finish(Response.java:274) at > org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:319 ) > > at > org.apache.catalina.connector.CoyoteOutputStream.close(CoyoteOutputStr eam.j > > ava:108) > at > org.granite.gravity.AbstractChannel.runReceived(AbstractChannel.java:3 08) > > at > org.granite.gravity.AbstractChannel.runReceive(AbstractChannel.java:19 9) > > at org.granite.gravity.AsyncReceiver.doRun(AsyncReceiver.java:34) > at > org.granite.gravity.AsyncChannelRunner.run(AsyncChannelRunner.java:52) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j ava:1 > > 145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor. java: > > 615) > at java.lang.Thread.run(Thread.java:745) > > > Apr 29, 2015 2:23:14 PM org.apache.tomcat.util.net.AprEndpoint > processSocketAsync SEVERE: Error allocating socket processor > java.lang.NullPointerException at > org.apache.tomcat.util.net.AprEndpoint.processSocketAsync(AprEndpoint. java: > > 885) > at > org.apache.coyote.AbstractProcessor.setErrorState(AbstractProcessor.ja va:84 > > ) > at > org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11 Proce > > ssor.java:764) > at org.apache.coyote.Response.action(Response.java:174) at > org.apache.coyote.Response.finish(Response.java:274) at > org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:319 ) > > at > org.apache.catalina.connector.CoyoteOutputStream.close(CoyoteOutputStr eam.j > > ava:108) > at > org.granite.gravity.AbstractChannel.runReceived(AbstractChannel.java:3 08) > > at > org.granite.gravity.AbstractChannel.runReceive(AbstractChannel.java:19 9) > > at org.granite.gravity.AsyncReceiver.doRun(AsyncReceiver.java:34) > at > org.granite.gravity.AsyncChannelRunner.run(AsyncChannelRunner.java:52) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j ava:1 > > 145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor. java: > > 615) > at java.lang.Thread.run(Thread.java:745) > > > > We are also seeing this, which also happens with stream.close() > around the same time: > > Exception in thread "pool-4-thread-3" java.lang.Error: > org.apache.tomcat.jni.Error: 20005: An invalid socket was returned > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j ava:1 > > 151) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor. java: > > 615) > at java.lang.Thread.run(Thread.java:745) Caused by: > org.apache.tomcat.jni.Error: 20005: An invalid socket was returned > at org.apache.tomcat.jni.Socket.sendbb(Native Method) at > org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalA prOut > > putBuffer.java:204) > at > org.apache.coyote.http11.InternalAprOutputBuffer.endRequest(InternalAp rOutp > > utBuffer.java:150) > at > org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11 Proce > > ssor.java:762) > at org.apache.coyote.Response.action(Response.java:174) at > org.apache.coyote.Response.finish(Response.java:274) at > org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:319 ) > > at > org.apache.catalina.connector.CoyoteOutputStream.close(CoyoteOutputStr eam.j > > ava:108) > at > org.granite.gravity.AbstractChannel.runReceived(AbstractChannel.java:3 08) > > at > org.granite.gravity.AbstractChannel.runReceive(AbstractChannel.java:19 9) > > at org.granite.gravity.AsyncReceiver.doRun(AsyncReceiver.java:34) > at > org.granite.gravity.AsyncChannelRunner.run(AsyncChannelRunner.java:52) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j ava:1 > > 145) > ... 2 more > > > > The ³org.gravity² package is GraniteDS, a third party library we > are using. I can tell you what is happening: > > 1. GraniteDS is calling flush() on an output stream. This is > throwing a ClientAbortException. I think this is the first error > seen above. You can see it in the call stack > (AbstractChannel.runReceived). 2. In the catch block, GraniteDS is > calling close() on this stream. This causes the 2nd and 3rd error > seen above. > > We are having some stability issues with Tomcat, Tomcat crashes > right after one of these happens. It doesn¹t crash every time. Is > this a bug in Tomcat or APR? Is there anything we can do to avoid > it? When you say that Tomcat crashes, are you saying that the JVM halts with an hs_err_[pid] file, or do you mean you get the above stack traces (which are errors, I would not call them crashes). What exact version of tcnative are you using? APR? What OS are you using ? Can you switch to the NIO connector temporarily to see if those problems go away? It's possible that this is only a problem with the APR connector. - -chris -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: GPGTools - http://gpgtools.org iQIcBAEBCAAGBQJVQUGGAAoJEBzwKT+lPKRYuBkQAMVQRdWHFeV0l5KP2MjcmkAG +jU1J1oV+xEhdXVhCKu/tm0riw2/WpJHjXY/0JGNncxfH8sZMNP0W2V8jknkGajJ x62YYHjk1hglpvoZPDRNX7OGcHhVzO/1FSyvhj9RbepRV4wLQcW+0HRGLyQtb9Bm K2MNIfQkymJhBwdWhfvGbWbIzvTUqBC8C7YtiT9bxp+vqkbWMHiC5qdsaiWUPOQc 0Zff+p59ZsbbkvHjobC2Z4hizOIt3TFv4646WFKtsoFk4XVsubFSrUV7CSXbSYav i580IHUBSdOhS+3uaQdbp21CAm2tbLdfVlEq1HrTz8UMQy/AIj5Q/0NIatSQeRR9 1WBmm+grNE/eBxGGbnk6KMQgDfxajIIth2sw+f+u3BbEOVHToFEs0EInUdgpuZXB AgC8GnP7HeO/5V6W4Jw8PkKnBHG+PXEj0h3PYHXWrGaib5G+A+nyoNEgRJkox1jN MsA8XX+rggMG5UMv9R8m77vbUwiNpEqdOSYYGXZLqZq0hAECivWo8D4naHzBE8mM TJY9FHh3/G/pshVIBcCgzCin5AIF0W+MvxK0E5jflZWHxyJO/bQTmEbXQxxEjUmZ ngnvKYT45vW33rQE4g8/RwU+9xt0DNifcCNsUKrK1ZbxH9MutHq7bKZWVpa+XJym 20Vf9lxEHT/59vR37FB2 =W1LB -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org