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

            Bug ID: 66390
           Summary: Test TestNonBlockingAPI
                    (testNonBlockingWriteError02NoSwallow,
                    testNonBlockingWriteError02Swallow) using NIO fail on
                    Solaris 11
           Product: Tomcat 10
           Version: 10.1.4
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Connectors
          Assignee: dev@tomcat.apache.org
          Reporter: rainer.j...@kippdata.de
  Target Milestone: ------

The tests testNonBlockingWriteError02NoSwallow() and
testNonBlockingWriteError02Swallow() of TestNonBlockingAPI fail for me on
Solaris 10 and 11, but only when using the NIO connector, not for NIO2.

Examples below are when Java 11 and TC 10.1.4 but it is not specific to these.
I can see the same problem for TC 8.5, 9.0, 10.0, 10.1 and 11 and for Java 8, 9
and 11.

The test loops unterminated doing flush on Solaris until after 60 seconds the
TC instance gets shut down.

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 (no problem)

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 logging a request duration of 1 second 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.

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

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to