You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by DB <dg...@gmail.com> on 2015/09/23 17:51:51 UTC

Log message - APR Error -70014

Hello,

For Tomcat 8.0.24 and jre 1.8.0_60.

I have seen this stack trace in catalina.out and I have not found
anything using google search to discover the cause. The error is
intermittent and only shows up after pretty significant load:

17-Sep-2015 13:04:54.941 INFO [http-apr-8443-exec-3082]
org.apache.coyote.AbstractProcessor.setErrorState An error occurred in
processing while on a non-container thread. The connection will be
closed immediately
 java.io.IOException: APR error: -70014
        at org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:291)
        at org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:244)
        at org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:213)
        at org.apache.coyote.http11.AbstractOutputBuffer.flush(AbstractOutputBuffer.java:305)
        at org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:765)
        at org.apache.coyote.Response.action(Response.java:179)
        at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:349)
        at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:317)
        at org.apache.catalina.connector.CoyoteWriter.flush(CoyoteWriter.java:94)
at MyServlet.doGet(MyServlet.java:55)

The code at this line is:  response.getWriter().flush();

What does this error mean?


Thanks!

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


Re: Log message - APR Error -70014

Posted by Mark Thomas <ma...@apache.org>.
On 23/09/2015 19:50, André Warnier (tomcat) wrote:
> On 23.09.2015 17:51, DB wrote:
>> Hello,
>>
>> For Tomcat 8.0.24 and jre 1.8.0_60.
>>
>> I have seen this stack trace in catalina.out and I have not found
>> anything using google search to discover the cause. The error is
>> intermittent and only shows up after pretty significant load:
>>
>> 17-Sep-2015 13:04:54.941 INFO [http-apr-8443-exec-3082]
>> org.apache.coyote.AbstractProcessor.setErrorState An error occurred in
>> processing while on a non-container thread. The connection will be
>> closed immediately
>>   java.io.IOException: APR error: -70014
>>          at
>> org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:291)
>>
>>          at
>> org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:244)
>>
>>          at
>> org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:213)
>>
>>          at
>> org.apache.coyote.http11.AbstractOutputBuffer.flush(AbstractOutputBuffer.java:305)
>>
>>          at
>> org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:765)
>>
>>          at org.apache.coyote.Response.action(Response.java:179)
>>          at
>> org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:349)
>>          at
>> org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:317)
>>          at
>> org.apache.catalina.connector.CoyoteWriter.flush(CoyoteWriter.java:94)
>> at MyServlet.doGet(MyServlet.java:55)
>>
>> The code at this line is:  response.getWriter().flush();
>>
>> What does this error mean?
>>
> 
> Hi.
> This is way beyond my depth in Tomcat or Java, but searching Google for
> "non-container thread" brought back one item which might be of interest :

"non-container thread" just means that I/O is taking place on a thread
the application started and is managing itself (as is often the case in
async and non-blocking I/O) rather than a thread started and managed by
Tomcat.

You need to look at org.apache.tomcat.jni.Status to decode those error
codes.

70000 is the offset for APR specific codes.
14 is EOF.

So this is APR's way of telling you that the app tried to write to the
socket after (as far as APR was concerned) that the socket was closed.

I'd guess that Tomcat had already closed the socket for some reason
before the non-container thread tried to write to it.

Mark


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


Re: Log message - APR Error -70014

Posted by "André Warnier (tomcat)" <aw...@ice-sa.com>.
On 23.09.2015 17:51, DB wrote:
> Hello,
>
> For Tomcat 8.0.24 and jre 1.8.0_60.
>
> I have seen this stack trace in catalina.out and I have not found
> anything using google search to discover the cause. The error is
> intermittent and only shows up after pretty significant load:
>
> 17-Sep-2015 13:04:54.941 INFO [http-apr-8443-exec-3082]
> org.apache.coyote.AbstractProcessor.setErrorState An error occurred in
> processing while on a non-container thread. The connection will be
> closed immediately
>   java.io.IOException: APR error: -70014
>          at org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:291)
>          at org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:244)
>          at org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:213)
>          at org.apache.coyote.http11.AbstractOutputBuffer.flush(AbstractOutputBuffer.java:305)
>          at org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:765)
>          at org.apache.coyote.Response.action(Response.java:179)
>          at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:349)
>          at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:317)
>          at org.apache.catalina.connector.CoyoteWriter.flush(CoyoteWriter.java:94)
> at MyServlet.doGet(MyServlet.java:55)
>
> The code at this line is:  response.getWriter().flush();
>
> What does this error mean?
>

Hi.
This is way beyond my depth in Tomcat or Java, but searching Google for "non-container 
thread" brought back one item which might be of interest :

https://bz.apache.org/bugzilla/show_bug.cgi?id=57683

Such as : maybe running Tomcat in a console could bring more light on the matter ?


P.S.
This should not be construed as even a suggestion that the eminent Tomcat committers 
involved in the mentioned bug report may have missed something.
As mentioned above, this is way beyond my depth, and I do not even really know what 
non-container threads are (that's why I was looking in Google).
It's just that some of the lines in the stack-traces look eerily similar.

P.S.2 :
A better search in Google seems to be : tomcat "non-container threads"


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