Am 12.05.2016 um 00:06 schrieb Mark Thomas:
The proposed Apache Tomcat 9.0.0.M6 release is now available for voting.

This is a milestone release for the 9.0.x branch. It should be
noted that, as a milestone release:
- Servlet 4.0 is not finalised
- The EGs have not started work on JSP 2.4, EL 3.1 or WebSocket 1.2/2.0

9.0.0.M6 corrects a regression found in 9.0.0.M5

The major changes compared to the 9.0.0.M4 release are:
- Add direct HTTP/2 connection support
- Update the implementation of the the proposed Servlet 4.0 API to
  provide mapping type information for the current request to reflect
  discussions within the EG.
- Update the packaged version of the Tomcat Native Library to 1.2.7 to
  pick up the Windows binaries that are based on OpenSSL 1.0.2h and
  APR 1.5.2.


For full details, see the changelog:
http://svn.apache.org/repos/asf/tomcat/trunk/webapps/docs/changelog.xml

It can be obtained from:
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-9/v9.0.0.M6/
The Maven staging repo is:
https://repository.apache.org/content/repositories/orgapachetomcat-1079/
The svn tag is:
http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_9_0_0_M6/

The proposed 9.0.0.M6 release is:
[ ] Broken - do not release
[X] Alpha - go ahead and release as 9.0.0.M6

+1 to release as alpha.

Details
=======

- MD5 OK
- signatures OK
- key in KEYS file
- gz and zip for src and bin consistent
- src completely consistent with svn tag
- builds fine
- build result looks consistent with binaries
- no checkstyle complaints
- no Javadoc warnings
- Unit tests: No failures
   - Some observations see below
- JMX MBean Comparison:
   - WebResourceRoot MBean attributes lookupCount and hitCount
     increased by 1-2 only for the /examples context directly after
     startup
   - new system property "-Djdk.tls.ephemeralDHKeySize=2048" is set
   - tomcat.util.scan.StandardJarScanFilter.jarsToScan now contains
     an additional "slf4j-taglib*.jar" at the end
- HTTPS thread names seem to have changed
  (additional token "-jsse-" resp. "-openssl-")

Build and tests were done using Java 1.8.0_72. OS was Solaris 10 Sparc, tcnative was 1.2.7 based on APR 1.5.2 and OpenSSL 1.0.2h.

Unit test observations:

- "Incorrect connection count" once in org.apache.tomcat.websocket.TestWsWebSocketContainer for nio:

[junit] 15-May-2016 13:02:54.318 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testWriteTimeoutServerEndpoint] [junit] 15-May-2016 13:02:54.328 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-127.0.0.1-auto-8"] [junit] 15-May-2016 13:02:54.331 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Tomcat [junit] 15-May-2016 13:02:54.331 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/9.0.0.M6 [junit] 15-May-2016 13:02:54.371 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-127.0.0.1-auto-8-59649] [junit] 15-May-2016 13:03:00.396 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-127.0.0.1-auto-8-59649"] [junit] 15-May-2016 13:03:00.399 WARNING [http-nio-127.0.0.1-auto-8-Acceptor-0] org.apache.tomcat.util.net.AbstractEndpoint.countDownConnection Incorrect connection count, multiple socket.close called on the same socket. [junit] 15-May-2016 13:03:00.449 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service Tomcat [junit] 15-May-2016 13:03:00.463 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-127.0.0.1-auto-8-59649"] [junit] 15-May-2016 13:03:00.467 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-127.0.0.1-auto-8-59649"]


- Exception in org.apache.coyote.http2.TestHttp2Section_6_9 tests testWindowSizeTooLargeViaSettings, testZeroWindowUpdateStream and testWindowSizeTooLargeStream for all connectors. There's an NPE during shutdown:

[junit] 15-May-2016 13:36:19.430 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-3-62528"] [junit] 15-May-2016 13:36:19.433 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-3-62528"] [junit] 15-May-2016 13:36:24.438 WARNING [main] org.apache.tomcat.util.net.Nio2Endpoint.shutdownExecutor The executor associated with thread pool [http-nio2-127.0.0.1-auto-3] has not fully shutdown. Some application threads may still be running. [junit] 15-May-2016 13:36:24.443 SEVERE [http-nio2-127.0.0.1-auto-3-exec-6] org.apache.catalina.core.StandardHostValve.invoke Exception Processing /simple
    [junit]  java.lang.NullPointerException
[junit] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:208) [junit] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108) [junit] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:522) [junit] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [junit] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [junit] at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) [junit] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [junit] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) [junit] at org.apache.coyote.http2.StreamProcessor.service(StreamProcessor.java:410) [junit] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [junit] at org.apache.coyote.http2.StreamProcessor.run(StreamProcessor.java:66) [junit] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [junit] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [junit] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    [junit]     at java.lang.Thread.run(Thread.java:745)
    [junit]


- CancelledKeyException in org.apache.coyote.http2.TestHttp2Section_3_2 test case testConnectionNoPreface for nio:

[junit] 15-May-2016 12:43:48.630 INFO [Thread-4] org.apache.coyote.http11.AbstractHttp11Protocol.configureUpgradeProtocol The ["http-nio-127.0.0.1-auto-7"] connector has been configured to support HTTP upgrade to [h2c] [junit] 15-May-2016 12:43:48.632 INFO [Thread-4] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-127.0.0.1-auto-7"] [junit] 15-May-2016 12:43:48.634 INFO [Thread-4] org.apache.catalina.core.StandardService.startInternal Starting service Tomcat [junit] 15-May-2016 12:43:48.635 INFO [Thread-4] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/9.0.0.M6 [junit] 15-May-2016 12:43:48.667 INFO [Thread-4] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-127.0.0.1-auto-7-58853] [junit] 15-May-2016 12:43:48.695 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-127.0.0.1-auto-7-58853"] [junit] 15-May-2016 12:43:48.748 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service Tomcat [junit] 15-May-2016 12:43:48.769 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-127.0.0.1-auto-7-58853"] [junit] 15-May-2016 12:43:48.776 SEVERE [http-nio-127.0.0.1-auto-7-exec-1] org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error reading request, ignored
    [junit]  java.nio.channels.CancelledKeyException
[junit] at sun.nio.ch.SelectionKeyImpl.ensureValid(SelectionKeyImpl.java:73) [junit] at sun.nio.ch.SelectionKeyImpl.interestOps(SelectionKeyImpl.java:82) [junit] at org.apache.tomcat.util.net.NioSelectorPool.read(NioSelectorPool.java:260) [junit] at org.apache.tomcat.util.net.NioSelectorPool.read(NioSelectorPool.java:216) [junit] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1257) [junit] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1211) [junit] at org.apache.coyote.http2.Http2UpgradeHandler.fill(Http2UpgradeHandler.java:1063) [junit] at org.apache.coyote.http2.Http2Parser$Input.fill(Http2Parser.java:560) [junit] at org.apache.coyote.http2.Http2Parser.readConnectionPreface(Http2Parser.java:519) [junit] at org.apache.coyote.http2.Http2UpgradeHandler.init(Http2UpgradeHandler.java:224) [junit] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:830) [junit] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1485) [junit] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [junit] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [junit] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    [junit]     at java.lang.Thread.run(Thread.java:745)
    [junit]
[junit] 15-May-2016 12:43:48.783 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-127.0.0.1-auto-7-58853"]


- Exception in async servlet during TestAsyncContextImpl test cases testBug59219a and testBug59219b for all Connectors (similar to 8.0.35 and 8.5.2):

[junit] 15-May-2016 12:25:39.755 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testBug59219a] [junit] 15-May-2016 12:25:39.768 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-127.0.0.1-auto-30"] [junit] 15-May-2016 12:25:39.770 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Tomcat [junit] 15-May-2016 12:25:39.771 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/9.0.0.M6 [junit] 15-May-2016 12:25:39.838 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-127.0.0.1-auto-30-57227] [junit] 15-May-2016 12:25:39.876 SEVERE [http-nio-127.0.0.1-auto-30-exec-1] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [async] in context with path [] threw exception [null] with root cause
    [junit]  javax.servlet.ServletException
[junit] at org.apache.catalina.core.TestAsyncContextImpl$Bug59219Servlet.doGet(TestAsyncContextImpl.java:1892) [junit] at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) [junit] at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [junit] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) [junit] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [junit] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) [junit] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108) [junit] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:522) [junit] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [junit] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [junit] at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) [junit] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [junit] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) [junit] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:1102) [junit] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [junit] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:788) [junit] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1485) [junit] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [junit] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [junit] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    [junit]     at java.lang.Thread.run(Thread.java:745)
    [junit]
[junit] 15-May-2016 12:25:39.889 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-127.0.0.1-auto-30-57227"] [junit] 15-May-2016 12:25:39.942 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service Tomcat [junit] 15-May-2016 12:25:39.953 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-127.0.0.1-auto-30-57227"] [junit] 15-May-2016 12:25:39.956 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-127.0.0.1-auto-30-57227"] [junit] 15-May-2016 12:25:40.036 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testBug59219b] [junit] 15-May-2016 12:25:40.050 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-127.0.0.1-auto-31"] [junit] 15-May-2016 12:25:40.052 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Tomcat [junit] 15-May-2016 12:25:40.052 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/9.0.0.M6 [junit] 15-May-2016 12:25:40.100 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-127.0.0.1-auto-31-57230] [junit] 15-May-2016 12:25:40.117 SEVERE [http-nio-127.0.0.1-auto-31-exec-1] org.apache.catalina.core.ApplicationDispatcher.invoke Servlet.service() for servlet async threw exception
    [junit]  javax.servlet.ServletException
[junit] at org.apache.catalina.core.TestAsyncContextImpl$Bug59219Servlet.doGet(TestAsyncContextImpl.java:1892) [junit] at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) [junit] at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [junit] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) [junit] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [junit] at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:715) [junit] at org.apache.catalina.core.ApplicationDispatcher.doDispatch(ApplicationDispatcher.java:636) [junit] at org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:602) [junit] at org.apache.catalina.core.AsyncContextImpl$AsyncRunnable.run(AsyncContextImpl.java:593) [junit] at org.apache.catalina.core.AsyncContextImpl.doInternalDispatch(AsyncContextImpl.java:381) [junit] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:196) [junit] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108) [junit] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:522) [junit] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [junit] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [junit] at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) [junit] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [junit] at org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:238) [junit] at org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:203) [junit] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53) [junit] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:788) [junit] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1485) [junit] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [junit] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [junit] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    [junit]     at java.lang.Thread.run(Thread.java:745)
    [junit]
[junit] 15-May-2016 12:25:40.121 SEVERE [http-nio-127.0.0.1-auto-31-exec-1] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [async] in context with path [] threw exception [null] with root cause
    [junit]  javax.servlet.ServletException
[junit] at org.apache.catalina.core.TestAsyncContextImpl$Bug59219Servlet.doGet(TestAsyncContextImpl.java:1892) [junit] at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) [junit] at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [junit] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) [junit] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [junit] at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:715) [junit] at org.apache.catalina.core.ApplicationDispatcher.doDispatch(ApplicationDispatcher.java:636) [junit] at org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:602) [junit] at org.apache.catalina.core.AsyncContextImpl$AsyncRunnable.run(AsyncContextImpl.java:593) [junit] at org.apache.catalina.core.AsyncContextImpl.doInternalDispatch(AsyncContextImpl.java:381) [junit] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:196) [junit] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108) [junit] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:522) [junit] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [junit] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [junit] at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) [junit] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [junit] at org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:238) [junit] at org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:203) [junit] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53) [junit] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:788) [junit] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1485) [junit] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [junit] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [junit] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    [junit]     at java.lang.Thread.run(Thread.java:745)
    [junit]
[junit] 15-May-2016 12:25:40.134 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-127.0.0.1-auto-31-57230"] [junit] 15-May-2016 12:25:40.188 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service Tomcat [junit] 15-May-2016 12:25:40.205 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-127.0.0.1-auto-31-57230"] [junit] 15-May-2016 12:25:40.210 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-127.0.0.1-auto-31-57230"]



- AsynchronousCloseException in TestWsRemoteEndpoint test case testWriterZeroLengthProgrammatic for nio:

[junit] 15-May-2016 13:02:29.743 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testWriterZeroLengthProgrammatic] [junit] 15-May-2016 13:02:29.754 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-127.0.0.1-auto-6"] [junit] 15-May-2016 13:02:29.758 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Tomcat [junit] 15-May-2016 13:02:29.759 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/9.0.0.M6 [junit] 15-May-2016 13:02:29.795 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-127.0.0.1-auto-6-59615] [junit] 15-May-2016 13:02:29.924 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-127.0.0.1-auto-6-59615"] [junit] 15-May-2016 13:02:29.976 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service Tomcat [junit] 15-May-2016 13:02:30.030 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-127.0.0.1-auto-6-59615"] [junit] 15-May-2016 13:02:30.038 SEVERE [http-nio-127.0.0.1-auto-6-exec-2] org.apache.tomcat.websocket.pojo.PojoEndpointBase.onError No error handling configured for [org.apache.tomcat.websocket.TesterEchoServer$Async] and the following error occurred
    [junit]  java.nio.channels.AsynchronousCloseException
[junit] at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:205) [junit] at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:407) [junit] at org.apache.tomcat.util.net.NioChannel.read(NioChannel.java:147) [junit] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1265) [junit] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.isReadyForRead(NioEndpoint.java:1176) [junit] at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:58) [junit] at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148) [junit] at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54) [junit] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53) [junit] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:788) [junit] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1485) [junit] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [junit] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [junit] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    [junit]     at java.lang.Thread.run(Thread.java:745)
    [junit]
[junit] 15-May-2016 13:02:30.060 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-127.0.0.1-auto-6-59615"]


- IOException "can't send SSL close message" in TestWebSocketFrameClientSSL test case testBug56032 for nio2:


[junit] 15-May-2016 13:48:33.649 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testBug56032] [junit] 15-May-2016 13:48:35.819 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["https-jsse-nio2-127.0.0.1-auto-1"] [junit] 15-May-2016 13:48:37.899 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Tomcat [junit] 15-May-2016 13:48:37.901 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/9.0.0.M6 [junit] 15-May-2016 13:48:38.627 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [https-jsse-nio2-127.0.0.1-auto-1-63062]
    [junit] Waiting for server to report an error
    [junit] Received Hello, now sending data
    [junit] Waiting for connection to be closed
[junit] 15-May-2016 13:48:50.173 INFO [https-jsse-nio2-127.0.0.1-auto-1-exec-3] org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doClose Failed to close the ServletOutputStream connection cleanly [junit] java.io.IOException: Remaining data in the network buffer, can't send SSL close message, force a close with close(true) instead [junit] at org.apache.tomcat.util.net.SecureNio2Channel.close(SecureNio2Channel.java:534) [junit] at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper.close(Nio2Endpoint.java:954) [junit] at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doClose(WsRemoteEndpointImplServer.java:172) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.close(WsRemoteEndpointImplBase.java:710) [junit] at org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:601) [junit] at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:494) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:313) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:258) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.flushBatch(WsRemoteEndpointImplBase.java:121) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.setBatchingAllowed(WsRemoteEndpointImplBase.java:108) [junit] at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:486) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:313) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:250) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendString(WsRemoteEndpointImplBase.java:191) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:37) [junit] at org.apache.tomcat.websocket.TesterFirehoseServer$Endpoint.onMessage(TesterFirehoseServer.java:109) [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [junit] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [junit]     at java.lang.reflect.Method.invoke(Method.java:498)
[junit] at org.apache.tomcat.websocket.pojo.PojoMessageHandlerWholeBase.onMessage(PojoMessageHandlerWholeBase.java:80) [junit] at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:399) [junit] at org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:106) [junit] at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:500) [junit] at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:295) [junit] at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:131) [junit] at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:69) [junit] at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148) [junit] at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54) [junit] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53) [junit] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:788) [junit] at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.run(Nio2Endpoint.java:1699) [junit] at org.apache.tomcat.util.net.Nio2Endpoint.processSocket0(Nio2Endpoint.java:397) [junit] at org.apache.tomcat.util.net.Nio2Endpoint.processSocket(Nio2Endpoint.java:382) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$HandshakeWriteCompletionHandler.completed(SecureNio2Channel.java:115) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$HandshakeWriteCompletionHandler.completed(SecureNio2Channel.java:108)
    [junit]     at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
    [junit]     at sun.nio.ch.Invoker.invokeDirect(Invoker.java:157)
[junit] at sun.nio.ch.UnixAsynchronousSocketChannelImpl.implWrite(UnixAsynchronousSocketChannelImpl.java:736) [junit] at sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:382) [junit] at sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:399) [junit] at java.nio.channels.AsynchronousSocketChannel.write(AsynchronousSocketChannel.java:577) [junit] at org.apache.tomcat.util.net.SecureNio2Channel.handshakeInternal(SecureNio2Channel.java:273) [junit] at org.apache.tomcat.util.net.SecureNio2Channel.handshake(SecureNio2Channel.java:204) [junit] at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.run(Nio2Endpoint.java:1676) [junit] at org.apache.tomcat.util.net.Nio2Endpoint.processSocket0(Nio2Endpoint.java:397) [junit] at org.apache.tomcat.util.net.Nio2Endpoint.processSocket(Nio2Endpoint.java:382) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$HandshakeWriteCompletionHandler.completed(SecureNio2Channel.java:115) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$HandshakeWriteCompletionHandler.completed(SecureNio2Channel.java:108)
    [junit]     at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
    [junit]     at sun.nio.ch.Invoker.invokeDirect(Invoker.java:157)
[junit] at sun.nio.ch.UnixAsynchronousSocketChannelImpl.implWrite(UnixAsynchronousSocketChannelImpl.java:736) [junit] at sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:382) [junit] at sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:399) [junit] at java.nio.channels.AsynchronousSocketChannel.write(AsynchronousSocketChannel.java:577) [junit] at org.apache.tomcat.util.net.SecureNio2Channel.handshakeInternal(SecureNio2Channel.java:273) [junit] at org.apache.tomcat.util.net.SecureNio2Channel.handshake(SecureNio2Channel.java:204) [junit] at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.run(Nio2Endpoint.java:1676) [junit] at org.apache.tomcat.util.net.Nio2Endpoint.processSocket0(Nio2Endpoint.java:397) [junit] at org.apache.tomcat.util.net.Nio2Endpoint.processSocket(Nio2Endpoint.java:382) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$HandshakeReadCompletionHandler.completed(SecureNio2Channel.java:98) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$HandshakeReadCompletionHandler.completed(SecureNio2Channel.java:91)
    [junit]     at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
    [junit]     at sun.nio.ch.Invoker$2.run(Invoker.java:218)
[junit] at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) [junit] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [junit] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [junit] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    [junit]     at java.lang.Thread.run(Thread.java:745)
[junit] Caused by: java.util.concurrent.ExecutionException: java.nio.channels.ClosedChannelException
    [junit]     at sun.nio.ch.CompletedFuture.get(CompletedFuture.java:78)
[junit] at org.apache.tomcat.util.net.SecureNio2Channel$FutureFlush.get(SecureNio2Channel.java:172) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$FutureFlush.get(SecureNio2Channel.java:146) [junit] at org.apache.tomcat.util.net.SecureNio2Channel.close(SecureNio2Channel.java:530)
    [junit]     ... 68 more
    [junit] Caused by: java.nio.channels.ClosedChannelException
[junit] at sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:366) [junit] at sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:387) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$FutureFlush.<init>(SecureNio2Channel.java:149) [junit] at org.apache.tomcat.util.net.SecureNio2Channel.flush(SecureNio2Channel.java:184)
    [junit]     ... 69 more
    [junit]
[junit] 15-May-2016 13:48:50.182 WARNING [https-jsse-nio2-127.0.0.1-auto-1-exec-3] org.apache.tomcat.websocket.WsSession.doClose Failed to flush batched messages on session close
    [junit]  java.io.IOException: java.nio.channels.ClosedChannelException
[junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:315) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:258) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.flushBatch(WsRemoteEndpointImplBase.java:121) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.setBatchingAllowed(WsRemoteEndpointImplBase.java:108) [junit] at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:486) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:313) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:250) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendString(WsRemoteEndpointImplBase.java:191) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:37) [junit] at org.apache.tomcat.websocket.TesterFirehoseServer$Endpoint.onMessage(TesterFirehoseServer.java:109) [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [junit] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [junit]     at java.lang.reflect.Method.invoke(Method.java:498)
[junit] at org.apache.tomcat.websocket.pojo.PojoMessageHandlerWholeBase.onMessage(PojoMessageHandlerWholeBase.java:80) [junit] at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:399) [junit] at org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:106) [junit] at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:500) [junit] at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:295) [junit] at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:131) [junit] at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:69) [junit] at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148) [junit] at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54) [junit] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53) [junit] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:788) [junit] at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.run(Nio2Endpoint.java:1699) [junit] at org.apache.tomcat.util.net.Nio2Endpoint.processSocket0(Nio2Endpoint.java:397) [junit] at org.apache.tomcat.util.net.Nio2Endpoint.processSocket(Nio2Endpoint.java:382) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$HandshakeWriteCompletionHandler.completed(SecureNio2Channel.java:115) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$HandshakeWriteCompletionHandler.completed(SecureNio2Channel.java:108)
    [junit]     at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
    [junit]     at sun.nio.ch.Invoker.invokeDirect(Invoker.java:157)
[junit] at sun.nio.ch.UnixAsynchronousSocketChannelImpl.implWrite(UnixAsynchronousSocketChannelImpl.java:736) [junit] at sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:382) [junit] at sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:399) [junit] at java.nio.channels.AsynchronousSocketChannel.write(AsynchronousSocketChannel.java:577) [junit] at org.apache.tomcat.util.net.SecureNio2Channel.handshakeInternal(SecureNio2Channel.java:273) [junit] at org.apache.tomcat.util.net.SecureNio2Channel.handshake(SecureNio2Channel.java:204) [junit] at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.run(Nio2Endpoint.java:1676) [junit] at org.apache.tomcat.util.net.Nio2Endpoint.processSocket0(Nio2Endpoint.java:397) [junit] at org.apache.tomcat.util.net.Nio2Endpoint.processSocket(Nio2Endpoint.java:382) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$HandshakeWriteCompletionHandler.completed(SecureNio2Channel.java:115) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$HandshakeWriteCompletionHandler.completed(SecureNio2Channel.java:108)
    [junit]     at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
    [junit]     at sun.nio.ch.Invoker.invokeDirect(Invoker.java:157)
[junit] at sun.nio.ch.UnixAsynchronousSocketChannelImpl.implWrite(UnixAsynchronousSocketChannelImpl.java:736) [junit] at sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:382) [junit] at sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:399) [junit] at java.nio.channels.AsynchronousSocketChannel.write(AsynchronousSocketChannel.java:577) [junit] at org.apache.tomcat.util.net.SecureNio2Channel.handshakeInternal(SecureNio2Channel.java:273) [junit] at org.apache.tomcat.util.net.SecureNio2Channel.handshake(SecureNio2Channel.java:204) [junit] at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.run(Nio2Endpoint.java:1676) [junit] at org.apache.tomcat.util.net.Nio2Endpoint.processSocket0(Nio2Endpoint.java:397) [junit] at org.apache.tomcat.util.net.Nio2Endpoint.processSocket(Nio2Endpoint.java:382) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$HandshakeReadCompletionHandler.completed(SecureNio2Channel.java:98) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$HandshakeReadCompletionHandler.completed(SecureNio2Channel.java:91)
    [junit]     at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
    [junit]     at sun.nio.ch.Invoker$2.run(Invoker.java:218)
[junit] at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) [junit] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [junit] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [junit] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    [junit]     at java.lang.Thread.run(Thread.java:745)
    [junit] Caused by: java.nio.channels.ClosedChannelException
[junit] at sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:366) [junit] at sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:387) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$FutureWrite.wrap(SecureNio2Channel.java:776) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$FutureWrite.<init>(SecureNio2Channel.java:715) [junit] at org.apache.tomcat.util.net.SecureNio2Channel$FutureWrite.<init>(SecureNio2Channel.java:704) [junit] at org.apache.tomcat.util.net.SecureNio2Channel.write(SecureNio2Channel.java:791) [junit] at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper.doWriteInternal(Nio2Endpoint.java:1238) [junit] at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:472) [junit] at org.apache.tomcat.util.net.SocketWrapperBase.flushBlocking(SocketWrapperBase.java:411) [junit] at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper.flushBlocking(Nio2Endpoint.java:1276) [junit] at org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:401) [junit] at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doWrite(WsRemoteEndpointImplServer.java:98) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(WsRemoteEndpointImplBase.java:434) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:309)
    [junit]     ... 62 more
    [junit]
[junit] 15-May-2016 13:48:50.214 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["https-jsse-nio2-127.0.0.1-auto-1-63062"] [junit] 15-May-2016 13:48:50.271 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service Tomcat [junit] 15-May-2016 13:48:50.327 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["https-jsse-nio2-127.0.0.1-auto-1-63062"] [junit] 15-May-2016 13:48:50.332 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["https-jsse-nio2-127.0.0.1-auto-1-63062"]

Thanks for RM and regards,

Rainer


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

Reply via email to