Have there been any recent changes that might affect org.apache.tomcat.websocket.server.TestAsyncMessagesPerformance using NIO2? I ran it a few times and it fails on Linux with Azul Java 21.0.1+12-LTS - org.apache.tomcat.util.net.AbstractEndpoint.processSocket Executor rejected sock et [org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper@54bff557:Closed Nio2Channel] for processing java.util.concurrent.RejectedExecutionException: Executor not running, can't force a command into the queue
Full output below. Igal ❯ cat /workspace/build/tomcat/main/build/logs/TEST-org.apache.tomcat.websocket.server.TestAsyncMessagesPerformance.NIO2.txt Testsuite: org.apache.tomcat.websocket.server.TestAsyncMessagesPerformance Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 26.312 sec ------------- Standard Output --------------- Sent Hello message, waiting for data Expected diff < 500,000 but was [567099], count [56] Expected diff < 500,000 but was [709569], count [65] Expected diff < 500,000 but was [537496], count [110] Expected diff < 500,000 but was [502372], count [116] Expected diff < 500,000 but was [595551], count [152] Expected diff < 500,000 but was [533207], count [164] Expected diff < 500,000 but was [534436], count [176] Expected diff < 500,000 but was [600551], count [179] Expected diff < 500,000 but was [523944], count [182] Expected diff < 500,000 but was [532614], count [185] Expected diff < 500,000 but was [657567], count [188] Expected diff < 500,000 but was [846194], count [191] Expected diff < 500,000 but was [532466], count [194] Expected diff < 500,000 but was [514685], count [224] Expected diff < 500,000 but was [519522], count [230] Expected diff < 500,000 but was [554426], count [239] Expected diff < 500,000 but was [527420], count [245] Expected diff < 500,000 but was [610897], count [269] Expected diff < 500,000 but was [624163], count [281] Expected diff < 500,000 but was [841963], count [287] Expected diff < 500,000 but was [519565], count [293] Expected diff < 500,000 but was [635134], count [302] Expected diff < 500,000 but was [660258], count [305] Expected diff < 500,000 but was [501776], count [311] Expected diff < 500,000 but was [568888], count [314] Expected diff < 500,000 but was [581086], count [323] Expected diff < 500,000 but was [609751], count [326] Expected diff < 500,000 but was [645257], count [332] Expected diff < 500,000 but was [688288], count [335] Expected diff < 500,000 but was [554412], count [338] Expected diff < 500,000 but was [563938], count [359] Expected diff < 500,000 but was [562841], count [362] Expected diff < 500,000 but was [673779], count [365] Expected diff < 500,000 but was [546897], count [371] Expected diff < 500,000 but was [643343], count [374] Expected diff < 500,000 but was [723508], count [383] Expected diff < 500,000 but was [594315], count [392] Expected diff < 500,000 but was [752402], count [395] Expected diff < 500,000 but was [500642], count [401] Expected diff < 500,000 but was [544715], count [410] Expected diff < 500,000 but was [547439], count [413] Expected diff < 500,000 but was [529557], count [416] Expected diff < 500,000 but was [504613], count [428] Expected diff < 500,000 but was [509866], count [434] Expected diff < 500,000 but was [550444], count [440] Expected diff < 500,000 but was [550533], count [455] Expected diff < 500,000 but was [506029], count [467] Expected diff < 500,000 but was [637453], count [470] Expected diff < 500,000 but was [640345], count [479] Expected diff < 500,000 but was [716690], count [485] Expected diff < 500,000 but was [17129814], count [488] Expected diff > 40ms but was [33748798], count [489] Expected diff < 500,000 but was [1130429], count [490] Expected diff < 500,000 but was [517541], count [491] Expected diff < 500,000 but was [501639], count [497] Expected diff < 500,000 but was [593562], count [500] Expected diff < 500,000 but was [681615], count [503] Expected diff < 500,000 but was [532502], count [524] Expected diff < 500,000 but was [598957], count [527] Expected diff < 500,000 but was [611344], count [539] Expected diff < 500,000 but was [627601], count [554] Expected diff < 500,000 but was [574242], count [557] Expected diff < 500,000 but was [548632], count [566] Expected diff < 500,000 but was [542409], count [578] Expected diff < 500,000 but was [538701], count [584] Expected diff < 500,000 but was [500443], count [602] Expected diff < 500,000 but was [582018], count [608] Expected diff < 500,000 but was [567923], count [635] Expected diff < 500,000 but was [512395], count [656] Expected diff < 500,000 but was [647834], count [662] Expected diff < 500,000 but was [532620], count [665] Expected diff < 500,000 but was [506794], count [668] Expected diff < 500,000 but was [578525], count [689] Expected diff < 500,000 but was [509293], count [695] Expected diff < 500,000 but was [689391], count [716] Expected diff < 500,000 but was [678806], count [743] Expected diff < 500,000 but was [527397], count [746] Expected diff < 500,000 but was [533796], count [761] Expected diff < 500,000 but was [555531], count [764] Expected diff < 500,000 but was [1333848], count [767] Expected diff < 500,000 but was [550121], count [770] Expected diff < 500,000 but was [563466], count [935] Expected diff < 500,000 but was [567300], count [959] Expected diff < 500,000 but was [567141], count [1022] Expected diff < 500,000 but was [547720], count [1049] Expected diff < 500,000 but was [550465], count [1061] Expected diff < 500,000 but was [524857], count [1118] Expected diff < 500,000 but was [526693], count [1145] Expected diff < 500,000 but was [824638], count [1154] Expected diff < 500,000 but was [532072], count [1346] Expected diff < 500,000 but was [554228], count [1493] ------------- ---------------- --------------- ------------- Standard Error ----------------- 07-Jan-2024 15:18:07.338 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testAsyncTiming] 07-Jan-2024 15:18:07.766 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-1"] 07-Jan-2024 15:18:07.797 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 07-Jan-2024 15:18:07.797 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/11.0.0-M16] 07-Jan-2024 15:18:07.894 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-1-36879"] 07-Jan-2024 15:18:33.394 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-1-36879"] 07-Jan-2024 15:18:33.402 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 07-Jan-2024 15:18:33.423 WARNING [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [http-nio2-127.0.0.1-auto-1-exec-3] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.base/java.lang.Thread.sleep0(Native Method) java.base/java.lang.Thread.sleep(Thread.java:509) org.apache.tomcat.websocket.TesterAsyncTiming$Endpoint.onMessage(TesterAsyncTiming.java:64) java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) java.base/java.lang.reflect.Method.invoke(Method.java:580) org.apache.tomcat.websocket.pojo.PojoMessageHandlerWholeBase.onMessage(PojoMessageHandlerWholeBase.java:102) org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:390) org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:130) org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:484) org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:284) org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:130) org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:85) org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:184) org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:164) org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:152) org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1686) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1376) org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:635) org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:611) java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:129) java.base/sun.nio.ch.Invoker$2.run(Invoker.java:221) java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:113) org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.base/java.lang.Thread.run(Thread.java:1583) 07-Jan-2024 15:18:33.431 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-1-36879"] 07-Jan-2024 15:18:33.432 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-1-36879"] 07-Jan-2024 15:18:33.443 WARNING [http-nio2-127.0.0.1-auto-1-exec-3] org.apache.tomcat.util.net.AbstractEndpoint.processSocket Executor rejected sock et [org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper@54bff557:Closed Nio2Channel] for processing java.util.concurrent.RejectedExecutionException: Executor not running, can't force a command into the queue at org.apache.tomcat.util.threads.TaskQueue.force(TaskQueue.java:67) at org.apache.tomcat.util.threads.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1344) at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1374) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.failed(Nio2Endpoint.java:653) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.failed(Nio2Endpoint.java:611) at org.apache.tomcat.util.net.Nio2Channel$3.read(Nio2Channel.java:280) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper.fillReadBuffer(Nio2Endpoint.java:1157) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper.fillReadBuffer(Nio2Endpoint.java:1124) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper.read(Nio2Endpoint.java:946) at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:74) at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:184) at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:164) at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:152) at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1686) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1376) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:635) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:611) at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:129) at java.base/sun.nio.ch.Invoker$2.run(Invoker.java:221) at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:113) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:1583) ------------- ---------------- --------------- Testcase: testAsyncTiming took 26.259 sec FAILED null junit.framework.AssertionFailedError at org.apache.tomcat.websocket.server.TestAsyncMessagesPerformance.testAsyncTiming(TestAsyncMessagesPerformance.java:64) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) On Thu, Jan 4, 2024 at 1:08 PM Mark Thomas <ma...@apache.org> wrote: > The proposed Apache Tomcat 11.0.0-M16 release is now available for > voting. > > Apache Tomcat 11.0.0-M16 is a milestone release of the 11.0.x branch and > has been made to provide users with early access to the new features in > Apache Tomcat 11.0.x so that they may provide feedback. The notable > changes compared to the previous milestone include: > > - Fix virtual thread support for the NIO2 connector > > - Correct a regression in the fix for 67675 that broke TLS key file > parsing for PKCS#8 format keys that do not specify an explicit > pseudo-random function and rely on the default. This typically affects > keys generated by OpenSSL 1.0.2. > > - Allow multiple operations with the same name on introspected mbeans, > fixing a regression caused by the introduction of a second > addSslHostConfig() method. > > For full details, see the change log: > https://nightlies.apache.org/tomcat/tomcat-11.0.x/docs/changelog.html > > Applications that run on Tomcat 9 and earlier will not run on Tomcat 11 > without changes. Java EE applications designed for Tomcat 9 and earlier > may be placed in the $CATALINA_BASE/webapps-javaee directory and Tomcat > will automatically convert them to Jakarta EE and copy them to the > webapps directory. Applications using deprecated APIs may require > further changes. > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-11/v11.0.0-M16/ > > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-1474 > > The tag is: > https://github.com/apache/tomcat/tree/11.0.0-M16 > ca6ea22e9b6c47df1db85e9af80f80431c3ea19e > > > The proposed 11.0.0-M16 release is: > [ ] -1 Broken - do not release > [ ] +1 Alpha - go ahead and release as 11.0.0-M16 > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > >