-----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

Reply via email to