You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Rainer Jung <ra...@kippdata.de> on 2022/12/12 23:19:08 UTC

Test TestNonBlockingAPI (testNonBlockingWriteError02NoSwallow, testNonBlockingWriteError02Swallow) fail on Solaris 11

The tests testNonBlockingWriteError02NoSwallow() and 
testNonBlockingWriteError02Swallow() of TestNonBlockingAPI fail for me 
on Solaris 11. I am using Java 11 and TC 10.1.4 but it seems it is not 
specific to these. The test loops unterminated doing flush on Solaris 
until after 60 seconds the test server gets shutdown.

The access log entry for Solaris is

127.0.0.1 - - [12/Dec/2022:23:36:18 +0100] "POST / HTTP/1.1" 500 - 
http-nio-127.0.0.1-auto-1-exec-2 1012864

for Linux

127.0.0.1 - - [12/Dec/2022:23:28:29 +0100] "POST / HTTP/1.1" 500 - 
http-nio-127.0.0.1-auto-1-exec-2 208015

so the Solaris line does not reflect this looping for 60 seconds.

I added some debug logging to the TestWriteListener02.onWritePossible(), 
which follows. If there is more I can do to analyze please let me know. 
I assume a BZ would be good?

First the patch that generates the output lines:

diff --git 
a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java 
b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
index 0db6faa900..cc8ba0d0b0 100644
--- a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
+++ b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
@@ -1659,27 +1659,36 @@ public class TestNonBlockingAPI extends 
TomcatBaseTest {
          @Override
          public void onWritePossible() throws IOException {
              try {
+                log.info("TestWriteListener02 onWritePossible");
                  ServletOutputStream sos = 
ac.getResponse().getOutputStream();
                  do {
+                    log.info("sos.isReady() stage.get()==" + stage.get());
                      if (stage.get() == 0) {
+                        log.info("Committing");
                          // Commit the response
                          ac.getResponse().flushBuffer();
                          responseCommitLatch.countDown();
                          stage.incrementAndGet();
                      } else if (stage.get() == 1) {
+                        log.info("Waiting for client drop");
                          // Wait for the client to drop the connection
                          try {
+                            log.info("Calling clientCloseLatch.await()");
                              clientCloseLatch.await();
                          } catch (InterruptedException e) {
+                            log.info("Got InterruptedException", e);
                              // Ignore
                          }
+                        log.info("Writing TEST");
                          sos.print("TEST");
                          stage.incrementAndGet();
                      } else if (stage.get() == 2) {
+                        log.info("Flushing");
                          sos.flush();
                      }
                  } while (sos.isReady());
              } catch (IOException ioe) {
+                log.info("IOException", ioe);
                  if (!swallowIoException) {
                      throw ioe;
                  }

This shows the following behavior on Solaris:

     [junit] 12-Dec-2022 23:36:22.753 FINE 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process Created new 
processor [org.apache.coyote.http11.Http11Processor@71be62ce]
     [junit] 12-Dec-2022 23:36:22.754 FINE 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.coyote.http11.Http11InputBuffer.fill Before fill(): 
parsingHeader: [true], parsingRequestLine: [true], 
parsingRequestLinePhase: [0], parsingRequestLineStart: [0], 
byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [0]
     [junit] 12-Dec-2022 23:36:22.755 FINE 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.tomcat.util.net.SocketWrapperBase.populateReadBuffer Socket: 
[org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@308368f5:org.apache.tomcat.util.net.NioChannel@7f798351:java.nio.channels.SocketChannel[connected 
local=/127.0.0.1:48778 remote=/127.0.0.1:52071]], Read from buffer: [0]
     [junit] 12-Dec-2022 23:36:22.757 FINE 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read Socket: 
[org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@308368f5:org.apache.tomcat.util.net.NioChannel@7f798351:java.nio.channels.SocketChannel[connected 
local=/127.0.0.1:48778 remote=/127.0.0.1:52071]], Read direct from 
socket: [36]
     [junit] 12-Dec-2022 23:36:22.757 FINE 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.coyote.http11.Http11InputBuffer.fill Received [GET / HTTP/1.1
     [junit] Host: localhost:
     [junit]
     [junit] ]
     [junit] 12-Dec-2022 23:36:22.759 FINE 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.tomcat.util.http.Parameters.setQueryStringCharset Set query 
string encoding to UTF-8
     [junit] 12-Dec-2022 23:36:22.762 FINE 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.authenticator.AuthenticatorBase.invoke Security 
checking request GET /
     [junit] 12-Dec-2022 23:36:22.763 FINE 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.realm.RealmBase.findSecurityConstraints   No 
applicable constraints defined
     [junit] 12-Dec-2022 23:36:22.764 FINE 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.authenticator.AuthenticatorBase.invoke Not subject 
to any constraint
     [junit] 12-Dec-2022 23:36:22.766 FINE 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.core.StandardWrapper.allocate Allocating instance
     [junit] 12-Dec-2022 23:36:22.766 FINER 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.core.StandardWrapper.allocate   Returning instance
     [junit] 12-Dec-2022 23:36:22.783 FINE 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.coyote.AsyncStateMachine.updateState Changing async state 
from [DISPATCHED] to [STARTING]
     [junit] 12-Dec-2022 23:36:22.810 FINE 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.coyote.AbstractProcessorLight.process Socket: 
[org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@308368f5:org.apache.tomcat.util.net.NioChannel@7f798351:java.nio.channels.SocketChannel[connected 
local=/127.0.0.1:48778 remote=/127.0.0.1:52071]], Status in: 
[OPEN_READ], State out: [LONG]
     [junit] 12-Dec-2022 23:36:22.811 FINE 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.coyote.AsyncStateMachine.updateState Changing async state 
from [STARTING] to [STARTED]
     [junit] 12-Dec-2022 23:36:22.812 FINE 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.coyote.AbstractProcessorLight.process Socket: 
[org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@308368f5:org.apache.tomcat.util.net.NioChannel@7f798351:java.nio.channels.SocketChannel[connected 
local=/127.0.0.1:48778 remote=/127.0.0.1:52071]], State after async post 
processing: [LONG]
     [junit] 12-Dec-2022 23:36:22.813 FINE 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.coyote.AbstractProcessorLight.process Processing dispatch 
type: [NON_BLOCKING_WRITE]
     [junit] 12-Dec-2022 23:36:22.813 FINE 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.coyote.AsyncStateMachine.updateState Changing async state 
from [STARTED] to [READ_WRITE_OP]
     [junit] 12-Dec-2022 23:36:22.814 INFO 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
TestWriteListener02 onWritePossible
     [junit] 12-Dec-2022 23:36:22.819 INFO 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
sos.isReady() stage.get()==0
     [junit] 12-Dec-2022 23:36:22.820 INFO 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
Committing
     [junit] 12-Dec-2022 23:36:22.828 INFO 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
sos.isReady() stage.get()==1
     [junit] 12-Dec-2022 23:36:22.829 INFO 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
Waiting for client drop
     [junit] 12-Dec-2022 23:36:22.829 INFO 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
Calling clientCloseLatch.await()
     [junit] 12-Dec-2022 23:36:22.830 INFO 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
Writing TEST

and then an infinite loop of

     [junit] 12-Dec-2022 23:36:22.831 INFO 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
sos.isReady() stage.get()==2
     [junit] 12-Dec-2022 23:36:22.832 INFO 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
Flushing
     [junit] 12-Dec-2022 23:36:22.844 INFO 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
sos.isReady() stage.get()==2
     [junit] 12-Dec-2022 23:36:22.845 INFO 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
Flushing
     [junit] 12-Dec-2022 23:36:22.846 INFO 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
sos.isReady() stage.get()==2
     [junit] 12-Dec-2022 23:36:22.846 INFO 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
Flushing
...

After a minute of these flush lines a timeout triggers and the server 
gets shutdown with the warning:

     [junit] 12-Dec-2022 23:37:25.118 WARNING [main] 
org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads 
The web application [ROOT] is still processing a request that has yet to 
finish. This is very likely to create a memory leak. You can control the 
time allowed for requests to finish by using the unloadDelay attribute 
of the standard Context implementation. Stack trace of request 
processing thread:[
     [junit] 
java.logging@11.0.17/java.util.logging.StreamHandler.publish(StreamHandler.java:199)
     [junit] 
java.logging@11.0.17/java.util.logging.ConsoleHandler.publish(ConsoleHandler.java:95)
     [junit] 
java.logging@11.0.17/java.util.logging.Logger.log(Logger.java:979)
     [junit] 
java.logging@11.0.17/java.util.logging.Logger.doLog(Logger.java:1006)
     [junit] 
java.logging@11.0.17/java.util.logging.Logger.logp(Logger.java:1172)
     [junit] 
app//org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:173)
     [junit] 
app//org.apache.juli.logging.DirectJDKLog.info(DirectJDKLog.java:116)
     [junit] 
app//org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible(TestNonBlockingAPI.java:1686)
     [junit] 
app//org.apache.coyote.Response.onWritePossible(Response.java:791)
     [junit] 
app//org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:179)
     [junit] 
app//org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:243)
     [junit] 
app//org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:52)
     [junit] 
app//org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859)
     [junit] 
app//org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734)
     [junit] 
app//org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
     [junit] 
app//org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
     [junit] 
app//org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
     [junit] 
app//org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
     [junit]  java.base@11.0.17/java.lang.Thread.run(Thread.java:834)]


In the working linux case I get:

     [junit] 12-Dec-2022 23:28:30.156 INFORMATION 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
TestWriteListener02 onWritePossible
     [junit] 12-Dec-2022 23:28:30.156 INFORMATION 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
sos.isReady() stage.get()==0
     [junit] 12-Dec-2022 23:28:30.156 INFORMATION 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
Committing
     [junit] 12-Dec-2022 23:28:30.157 INFORMATION 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
sos.isReady() stage.get()==1
     [junit] 12-Dec-2022 23:28:30.157 INFORMATION 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
Waiting for client drop
     [junit] 12-Dec-2022 23:28:30.157 INFORMATION 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
Calling clientCloseLatch.await()
     [junit] 12-Dec-2022 23:28:30.158 INFORMATION 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
Writing TEST
     [junit] 12-Dec-2022 23:28:30.158 INFORMATION 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
sos.isReady() stage.get()==2
     [junit] 12-Dec-2022 23:28:30.158 INFORMATION 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
Flushing
     [junit] 12-Dec-2022 23:28:30.161 FEIN 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.coyote.AbstractProcessor.setErrorState Error state 
[CLOSE_CONNECTION_NOW] reported while processing request
     [junit]     java.io.IOException: Die Verbindung wurde vom 
Kommunikationspartner zurückgesetzt
     [junit]             at 
java.base/sun.nio.ch.FileDispatcherImpl.write0(Native Method)
     [junit]             at 
java.base/sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
     [junit]             at 
java.base/sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:113)
     [junit]             at 
java.base/sun.nio.ch.IOUtil.write(IOUtil.java:79)
     [junit]             at 
java.base/sun.nio.ch.IOUtil.write(IOUtil.java:50)
     [junit]             at 
java.base/sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:466)
     [junit]             at 
org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:118)
     [junit]             at 
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1405)
     [junit]             at 
org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:764)
     [junit]             at 
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.flushNonBlocking(NioEndpoint.java:1303)
     [junit]             at 
org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:714)
     [junit]             at 
org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.flush(Http11OutputBuffer.java:573)
     [junit]             at 
org.apache.coyote.http11.filters.ChunkedOutputFilter.flush(ChunkedOutputFilter.java:157)
     [junit]             at 
org.apache.coyote.http11.Http11OutputBuffer.flush(Http11OutputBuffer.java:221)
     [junit]             at 
org.apache.coyote.http11.Http11Processor.flush(Http11Processor.java:1267)
     [junit]             at 
org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:404)
     [junit]             at 
org.apache.coyote.Response.action(Response.java:210)
     [junit]             at 
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:302)
     [junit]             at 
org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:269)
     [junit]             at 
org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:118)
     [junit]             at 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible(TestNonBlockingAPI.java:1687)
     [junit]             at 
org.apache.coyote.Response.onWritePossible(Response.java:791)
     [junit]             at 
org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:179)
     [junit]             at 
org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:243)
     [junit]             at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:52)
     [junit]             at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859)
     [junit]             at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734)
     [junit]             at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
     [junit]             at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
     [junit]             at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
     [junit]             at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
     [junit]             at java.base/java.lang.Thread.run(Thread.java:834)
     [junit] 12-Dec-2022 23:28:30.162 FEIN 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.coyote.AsyncStateMachine.updateState Changing async state 
from [READ_WRITE_OP] to [ERROR]
     [junit] 12-Dec-2022 23:28:30.162 INFORMATION 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible 
IOException
     [junit]     org.apache.catalina.connector.ClientAbortException: 
java.io.IOException: Die Verbindung wurde vom Kommunikationspartner 
zurückgesetzt
     [junit]             at 
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:306)
     [junit]             at 
org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:269)
     [junit]             at 
org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:118)
     [junit]             at 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible(TestNonBlockingAPI.java:1687)
     [junit]             at 
org.apache.coyote.Response.onWritePossible(Response.java:791)
     [junit]             at 
org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:179)
     [junit]             at 
org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:243)
     [junit]             at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:52)
     [junit]             at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859)
     [junit]             at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734)
     [junit]             at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
     [junit]             at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
     [junit]             at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
     [junit]             at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
     [junit]             at java.base/java.lang.Thread.run(Thread.java:834)
     [junit]     Caused by: java.io.IOException: Die Verbindung wurde 
vom Kommunikationspartner zurückgesetzt
     [junit]             at 
java.base/sun.nio.ch.FileDispatcherImpl.write0(Native Method)
     [junit]             at 
java.base/sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
     [junit]             at 
java.base/sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:113)
     [junit]             at 
java.base/sun.nio.ch.IOUtil.write(IOUtil.java:79)
     [junit]             at 
java.base/sun.nio.ch.IOUtil.write(IOUtil.java:50)
     [junit]             at 
java.base/sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:466)
     [junit]             at 
org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:118)
     [junit]             at 
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1405)
     [junit]             at 
org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:764)
     [junit]             at 
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.flushNonBlocking(NioEndpoint.java:1303)
     [junit]             at 
org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:714)
     [junit]             at 
org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.flush(Http11OutputBuffer.java:573)
     [junit]             at 
org.apache.coyote.http11.filters.ChunkedOutputFilter.flush(ChunkedOutputFilter.java:157)
     [junit]             at 
org.apache.coyote.http11.Http11OutputBuffer.flush(Http11OutputBuffer.java:221)
     [junit]             at 
org.apache.coyote.http11.Http11Processor.flush(Http11Processor.java:1267)
     [junit]             at 
org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:404)
     [junit]             at 
org.apache.coyote.Response.action(Response.java:210)
     [junit]             at 
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:302)
     [junit]             ... 14 more
     [junit] 12-Dec-2022 23:28:30.162 FEIN 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.coyote.AbstractProcessor.setErrorState Error state 
[CLOSE_NOW] reported while processing request
     [junit]     org.apache.catalina.connector.ClientAbortException: 
java.io.IOException: Die Verbindung wurde vom Kommunikationspartner 
zurückgesetzt
     [junit]             at 
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:306)
     [junit]             at 
org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:269)
     [junit]             at 
org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:118)
     [junit]             at 
org.apache.catalina.nonblocking.TestNonBlockingAPI$TestWriteListener02.onWritePossible(TestNonBlockingAPI.java:1687)
     [junit]             at 
org.apache.coyote.Response.onWritePossible(Response.java:791)
     [junit]             at 
org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:179)
     [junit]             at 
org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:243)
     [junit]             at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:52)
     [junit]             at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859)
     [junit]             at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734)
     [junit]             at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
     [junit]             at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
     [junit]             at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
     [junit]             at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
     [junit]             at java.base/java.lang.Thread.run(Thread.java:834)
     [junit]     Caused by: java.io.IOException: Die Verbindung wurde 
vom Kommunikationspartner zurückgesetzt
     [junit]             at 
java.base/sun.nio.ch.FileDispatcherImpl.write0(Native Method)
     [junit]             at 
java.base/sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
     [junit]             at 
java.base/sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:113)
     [junit]             at 
java.base/sun.nio.ch.IOUtil.write(IOUtil.java:79)
     [junit]             at 
java.base/sun.nio.ch.IOUtil.write(IOUtil.java:50)
     [junit]             at 
java.base/sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:466)
     [junit]             at 
org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:118)
     [junit]             at 
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1405)
     [junit]             at 
org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:764)
     [junit]             at 
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.flushNonBlocking(NioEndpoint.java:1303)
     [junit]             at 
org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:714)
     [junit]             at 
org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.flush(Http11OutputBuffer.java:573)
     [junit]             at 
org.apache.coyote.http11.filters.ChunkedOutputFilter.flush(ChunkedOutputFilter.java:157)
     [junit]             at 
org.apache.coyote.http11.Http11OutputBuffer.flush(Http11OutputBuffer.java:221)
     [junit]             at 
org.apache.coyote.http11.Http11Processor.flush(Http11Processor.java:1267)
     [junit]             at 
org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:404)
     [junit]             at 
org.apache.coyote.Response.action(Response.java:210)
     [junit]             at 
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:302)
     [junit]             ... 14 more
     [junit] 12-Dec-2022 23:28:30.162 FEIN 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.coyote.AsyncStateMachine.updateState Changing async state 
from [ERROR] to [ERROR]
     [junit] 12-Dec-2022 23:28:30.162 FEIN 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.catalina.core.StandardHostValve.throwable Remote Client 
Aborted Request, IOException: [Die Verbindung wurde vom 
Kommunikationspartner zurückgesetzt]
     [junit] 12-Dec-2022 23:28:30.163 FEIN 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.coyote.AsyncStateMachine.updateState Changing async state 
from [ERROR] to [COMPLETING]
     [junit] 12-Dec-2022 23:28:30.163 FEIN 
[http-nio-127.0.0.1-auto-3-exec-1] 
org.apache.coyote.AsyncStateMachine.updateState Changing async state 
from [COMPLETING] to [DISPATCHED]

Best regards,

Rainer

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