Am 31.10.2015 um 20:17 schrieb Mark Thomas:
Given the issues with 1.2.0, I'd like to get 1.2.1 out sooner rather
than later and then use that with 9.0.0.RC1.

I think all the issues discovered so far have been fixed. If you know of
one that hasn't, please speak up.

I noted a crash in TestWebSocketFrameClientSSL, but Bill Barker said "This has been crashing in Gump for a long time", so I guess you are aware of that problem.

For details see below.

Also, don't forget to update the changelog for the fixes you have made.

ACK but most of my changes IMHO do not warrant a changelog entry. Will have another look.

I'm currently planning on tagging 1.2.1 this coming Monday (2015-11-02).

+1

Details for the unit test crash:

Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libssl.so.1.0.0+0x302cc]  ssl3_write_bytes+0x52c
C  [libssl.so.1.0.0+0x2da84]  ssl3_write+0x64
C  [libssl.so.1.0.0+0x48a40]  SSL_write+0x40
C  [libtcnative-1.so.0.2.0+0x1ea94]  ssl_socket_send+0x6c
C [libtcnative-1.so.0.2.0+0x15bac] Java_org_apache_tomcat_jni_Socket_sendb+0x70
j  org.apache.tomcat.jni.Socket.sendb(JLjava/nio/ByteBuffer;II)I+78334172
j  org.apache.tomcat.jni.Socket.sendb(JLjava/nio/ByteBuffer;II)I+0
j org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper.doWriteInternal()V+89 j org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper.doWriteInternal(Z)V+85
j  org.apache.tomcat.util.net.SocketWrapperBase.doWrite(Z)V+2
j  org.apache.tomcat.util.net.SocketWrapperBase.flushBlocking()V+2
j  org.apache.tomcat.util.net.SocketWrapperBase.flush(Z)Z+16
j org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doWrite(Ljavax/websocket/SendHandler;J[Ljava/nio/ByteBuffer;)V+188 j org.apache.tomcat.websocket.WsRemoteEndpointImplBase$OutputBufferSendHandler.write()V+263 j org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(Lorg/apache/tomcat/websocket/MessagePart;)V+353 j org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(BLjava/nio/ByteBuffer;ZJ)V+177 j org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(Ljava/nio/CharBuffer;Z)V+101 j org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendString(Ljava/lang/String;)V+33 j org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(Ljava/lang/String;)V+5 j org.apache.tomcat.websocket.TesterFirehoseServer$Endpoint.onMessage(Ljavax/websocket/Session;Ljava/lang/String;)V+117

...

j org.apache.tomcat.websocket.pojo.PojoMessageHandlerWholeBase.onMessage(Ljava/lang/Object;)V+147
j  org.apache.tomcat.websocket.WsFrameBase.sendMessageText(Z)V+142
j  org.apache.tomcat.websocket.WsFrameBase.processDataText()Z+425
j  org.apache.tomcat.websocket.WsFrameBase.processData()Z+41
j  org.apache.tomcat.websocket.WsFrameBase.processInputBuffer()V+81
j  org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable()V+69
j org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(Lorg/apache/tomcat/util/net/SocketStatus;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+64 j org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(Lorg/apache/tomcat/util/net/SocketStatus;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+5 j org.apache.coyote.AbstractProcessorLight.process(Lorg/apache/tomcat/util/net/SocketWrapperBase;Lorg/apache/tomcat/util/net/SocketStatus;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+81 j org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Lorg/apache/tomcat/util/net/SocketWrapperBase;Lorg/apache/tomcat/util/net/SocketStatus;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+259
j  org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run()V+35
j java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+95
j  java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5
j  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run()V+4
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub
V [libjvm.so+0x750588] void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0xa58 V [libjvm.so+0x74e9b4] void JavaCalls::call_virtual(JavaValue*,KlassHandle,Symbol*,Symbol*,JavaCallArguments*,Thread*)+0x370 V [libjvm.so+0x74ec78] void JavaCalls::call_virtual(JavaValue*,Handle,KlassHandle,Symbol*,Symbol*,Thread*)+0x50
V  [libjvm.so+0x881a7c]  void thread_entry(JavaThread*,Thread*)+0xdc
V  [libjvm.so+0xd64ae4]  void JavaThread::thread_main_inner()+0x94
V  [libjvm.so+0xd64a30]  void JavaThread::run()+0x398
V  [libjvm.so+0xb9f980]  java_start+0x390
C  [libc.so.1+0xd64c0]  _lwp_start+0x8

Before the crash, the test logged:

    [junit] Running org.apache.tomcat.websocket.TestWebSocketFrameClientSSL
[junit] 30-Oct-2015 23:27:10.759 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testBug56032] [junit] 30-Oct-2015 23:27:11.499 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.2.0 using APR version 1.5.2. [junit] 30-Oct-2015 23:27:11.500 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. [junit] 30-Oct-2015 23:27:11.526 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.0.2d 9 Jul 2015) [junit] 30-Oct-2015 23:27:12.709 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["https-apr-127.0.0.1-auto-1"] [junit] 30-Oct-2015 23:27:12.781 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Tomcat [junit] 30-Oct-2015 23:27:12.782 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/9.0.0-dev [junit] 30-Oct-2015 23:27:13.586 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [https-apr-127.0.0.1-auto-1-37331]
    [junit] Waiting for server to report an error
    [junit] Received Hello, now sending data
[junit] 30-Oct-2015 23:32:16.526 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["https-apr-127.0.0.1-auto-1-37331"] [junit] 30-Oct-2015 23:32:16.600 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service Tomcat [junit] 30-Oct-2015 23:32:21.621 WARNING [localhost-startStop-2] org.apache.tomcat.websocket.WsSession.doClose Failed to flush batched messages on session close
    [junit]  java.net.SocketTimeoutException
[junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:295) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:256) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.flushBatch(WsRemoteEndpointImplBase.java:119) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.setBatchingAllowed(WsRemoteEndpointImplBase.java:106) [junit] at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:469) [junit] at org.apache.tomcat.websocket.WsSession.close(WsSession.java:444) [junit] at org.apache.tomcat.websocket.WsWebSocketContainer.destroy(WsWebSocketContainer.java:789) [junit] at org.apache.tomcat.websocket.server.WsServerContainer.destroy(WsServerContainer.java:280) [junit] at org.apache.tomcat.websocket.server.WsContextListener.contextDestroyed(WsContextListener.java:48) [junit] at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4780) [junit] at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5401) [junit] at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:237) [junit] at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1420) [junit] at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1409)
    [junit]     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[junit] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [junit] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    [junit]     at java.lang.Thread.run(Thread.java:745)
    [junit]


Where apr crashed, nio logged the same SocketTimeoutException and then

[junit] 31-Oct-2015 00:22:04.519 INFO [https-nio-127.0.0.1-auto-1-exec-5] 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.SecureNioChannel.close(SecureNioChannel.java:478) [junit] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.close(NioEndpoint.java:1244) [junit] at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doClose(WsRemoteEndpointImplServer.java:172) [junit] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.close(WsRemoteEndpointImplBase.java:698) [junit] at org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:577) [junit] at org.apache.tomcat.websocket.WsSession.onClose(WsSession.java:508) [junit] at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.close(WsHttpUpgradeHandler.java:234) [junit] at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:150) [junit] at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54) [junit] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:56) [junit] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:737) [junit] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1531) [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]

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