Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Retry ConnectionCanSendAndReceiveDifferentMessageSizesWebSocketsTransport #55918

Closed
amcasey opened this issue May 28, 2024 · 7 comments
Closed
Labels
area-signalr Includes: SignalR clients and servers test-failure

Comments

@amcasey
Copy link
Member

amcasey commented May 28, 2024

Failing Test(s)

  • Microsoft.AspNetCore.SignalR.Tests.EndToEndTests.ConnectionCanSendAndReceiveDifferentMessageSizesWebSocketsTransport(length: 4096032)

Error Message

Assert.Fail(): 1 error(s) logged.
Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport - ErrorSendingMessage - Error while sending a message.

Stacktrace

System.Net.WebSockets.WebSocketException (0x80004005): The remote party closed the WebSocket connection without completing the close handshake.
---> System.IO.IOException: Unable to write data to the transport connection: Broken pipe.
---> System.Net.Sockets.SocketException (32): Broken pipe
--- End of inner exception stack trace ---
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Http.HttpConnection.RawConnectionStream.WaitWithConnectionCancellationAsync(ValueTask task, HttpConnection connection, CancellationToken cancellationToken)
at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory1 payloadBuffer, Task lockTask, CancellationToken cancellationToken)    at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory1 payloadBuffer, Task lockTask, CancellationToken cancellationToken)
at System.Net.WebSockets.WebSocketExtensions.SendMultiSegmentAsync(WebSocket webSocket, ReadOnlySequence`1 buffer, WebSocketMessageType webSocketMessageType, CancellationToken cancellationToken) in //src/SignalR/common/Shared/WebSocketExtensions.cs:line 48
at Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport.StartSending(WebSocket socket, Boolean ignoreFirstCanceled) in //src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/WebSocketsTransport.cs:line 562

Logs

[0.001s] [TestLifetime] [Information] Starting test ConnectionCanSendAndReceiveDifferentMessageSizesWebSocketsTransport-4096032 at 2024-05-28T12:34:41
[0.007s] [Microsoft.AspNetCore.SignalR.Tests.InProcessTestServer] [Information] Starting test server...
[0.007s] [Microsoft.Extensions.Hosting.Internal.Host] [Debug] Hosting starting
[0.008s] [Microsoft.AspNetCore.DataProtection.KeyManagement.DefaultKeyResolver] [Debug] Repository contains no viable default key. Caller should generate a key with immediate activation.
[0.008s] [Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingProvider] [Debug] Policy resolution states that a new key should be added to the key ring.
[0.008s] [Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager] [Information] Creating key {d9db484e-8d6f-477d-a28c-765b1e8c380f} with creation date 2024-05-28 12:34:41Z, activation date 2024-05-28 12:34:41Z, and expiration date 2024-08-26 12:34:41Z.
[0.008s] [Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager] [Debug] Descriptor deserializer type for key {d9db484e-8d6f-477d-a28c-765b1e8c380f} is 'Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
[0.008s] [Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager] [Debug] No key escrow sink found. Not writing key {d9db484e-8d6f-477d-a28c-765b1e8c380f} to escrow.
[0.008s] [Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager] [Warning] No XML encryptor configured. Key {d9db484e-8d6f-477d-a28c-765b1e8c380f} may be persisted to storage in unencrypted form.
[0.009s] [Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager] [Debug] Key cache expiration token triggered by 'CreateNewKey' operation.
[0.009s] [Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager] [Debug] Found key {d9db484e-8d6f-477d-a28c-765b1e8c380f}.
[0.009s] [Microsoft.AspNetCore.DataProtection.KeyManagement.DefaultKeyResolver] [Debug] Considering key {d9db484e-8d6f-477d-a28c-765b1e8c380f} with expiration date 2024-08-26 12:34:41Z as default key.
[0.009s] [Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ManagedAuthenticatedEncryptorFactory] [Debug] Using managed symmetric algorithm 'System.Security.Cryptography.Aes'.
[0.009s] [Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ManagedAuthenticatedEncryptorFactory] [Debug] Using managed keyed hash algorithm 'System.Security.Cryptography.HMACSHA256'.
[0.009s] [Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingProvider] [Debug] Using key {d9db484e-8d6f-477d-a28c-765b1e8c380f} as the default key.
[0.009s] [Microsoft.AspNetCore.DataProtection.Internal.DataProtectionHostedService] [Debug] Key ring with default key {d9db484e-8d6f-477d-a28c-765b1e8c380f} was loaded during application startup.
[0.010s] [Microsoft.AspNetCore.SignalR.Internal.DefaultHubProtocolResolver] [Debug] Registered SignalR Protocol: json, implemented by Microsoft.AspNetCore.SignalR.Protocol.JsonHubProtocol.
[0.011s] [Microsoft.Hosting.Lifetime] [Information] Now listening on: http://127.0.0.1:57794
[0.011s] [Microsoft.AspNetCore.Hosting.Diagnostics] [Debug] Loaded hosting startup assembly Microsoft.AspNetCore.SignalR.Tests
[0.011s] [Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionManager] [Verbose] Starting connection heartbeat.
[0.011s] [Microsoft.Hosting.Lifetime] [Information] Application started. Press Ctrl+C to shut down.
[0.012s] [Microsoft.Hosting.Lifetime] [Information] Hosting environment: Production
[0.012s] [Microsoft.Hosting.Lifetime] [Information] Content root path: /private/tmp/helix/working/9F5D0896/w/AF0D09A0/e
[0.012s] [Microsoft.Extensions.Hosting.Internal.Host] [Debug] Hosting started
[0.012s] [Microsoft.AspNetCore.SignalR.Tests.InProcessTestServer] [Information] Test Server started
[0.012s] [Microsoft.AspNetCore.SignalR.Tests.EndToEndTests] [Information] Starting connection to http://127.0.0.1:57794/echo
[0.012s] [Microsoft.AspNetCore.Http.Connections.Client.HttpConnection] [Debug] Starting HttpConnection.
[0.012s] [Microsoft.AspNetCore.Http.Connections.Client.HttpConnection] [Debug] Establishing connection with server at 'http://127.0.0.1:57794/echo'.
[0.012s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.LoggingHttpMessageHandler] [Verbose] Sending HTTP request POST 'http://127.0.0.1:57794/echo/negotiate?negotiateVersion=1'.
[0.013s] [Microsoft.AspNetCore.Server.Kestrel.Connections] [Debug] Connection id "0HN3V2A5OEBUB" accepted.
[0.013s] [Microsoft.AspNetCore.Server.Kestrel.Connections] [Debug] Connection id "0HN3V2A5OEBUB" started.
[0.013s] [Microsoft.AspNetCore.Hosting.Diagnostics] [Information] Request starting HTTP/1.1 POST http://127.0.0.1:57794/echo/negotiate?negotiateVersion=1 - - 0
[0.013s] [Microsoft.AspNetCore.Routing.Matching.DfaMatcher] [Debug] 1 candidate(s) found for the request path '/echo/negotiate'
[0.014s] [Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware] [Debug] Request matched endpoint '/echo/negotiate'
[0.014s] [Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware] [Verbose] The endpoint does not specify the IRequestSizeLimitMetadata.
[0.014s] [Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler] [Debug] AuthenticationScheme: Bearer was not authenticated.
[0.014s] [Microsoft.AspNetCore.Routing.EndpointMiddleware] [Information] Executing endpoint '/echo/negotiate'
[0.019s] [Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionManager] [Debug] New connection F35rAoMjMUFmeMrEWG1j_g created.
[0.020s] [Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionDispatcher] [Debug] F35rAoMjMUFmeMrEWG1j_g - Sending negotiation response.
[0.020s] [Microsoft.AspNetCore.Routing.EndpointMiddleware] [Information] Executed endpoint '/echo/negotiate'
[0.020s] [Microsoft.AspNetCore.Server.Kestrel.Connections] [Debug] Connection id "0HN3V2A5OEBUB" completed keep alive response.
[0.020s] [Microsoft.AspNetCore.Hosting.Diagnostics] [Information] Request finished HTTP/1.1 POST http://127.0.0.1:57794/echo/negotiate?negotiateVersion=1 - 200 316 application/json 6.9662ms
[0.020s] [Microsoft.AspNetCore.Http.Connections.Client.HttpConnection] [Debug] Established connection 'F35rAoMjMUFmeMrEWG1j_g' with the server.
[0.020s] [Microsoft.AspNetCore.Http.Connections.Client.HttpConnection] [Debug] Starting transport 'WebSockets' with Url: http://127.0.0.1:57794/echo.
[0.020s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Information] Starting transport. Transfer mode: Binary. Url: 'ws://127.0.0.1:57794/echo?id=OmNI8q3kG7uSMmiTJ39hhw'.
[0.021s] [Microsoft.AspNetCore.Server.Kestrel.Connections] [Debug] Connection id "0HN3V2A5OEBUC" accepted.
[0.021s] [Microsoft.AspNetCore.Server.Kestrel.Connections] [Debug] Connection id "0HN3V2A5OEBUC" started.
[0.021s] [Microsoft.AspNetCore.Hosting.Diagnostics] [Information] Request starting HTTP/1.1 GET http://127.0.0.1:57794/echo?id=OmNI8q3kG7uSMmiTJ39hhw - - -
[0.023s] [Microsoft.AspNetCore.Routing.Matching.DfaMatcher] [Debug] 1 candidate(s) found for the request path '/echo'
[0.023s] [Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware] [Debug] Request matched endpoint '/echo'
[0.023s] [Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware] [Verbose] The endpoint does not specify the IRequestSizeLimitMetadata.
[0.023s] [Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler] [Debug] AuthenticationScheme: Bearer was not authenticated.
[0.023s] [Microsoft.AspNetCore.Routing.EndpointMiddleware] [Information] Executing endpoint '/echo'
[0.023s] [Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionDispatcher] [Debug] F35rAoMjMUFmeMrEWG1j_g - Establishing new connection.
[0.025s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Debug] F35rAoMjMUFmeMrEWG1j_g - Socket opened using Sub-Protocol: '(null)'.
[0.026s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Started transport.
[0.026s] [Microsoft.AspNetCore.Http.Connections.Client.HttpConnection] [Debug] Transport 'WebSockets' started.
[0.026s] [Microsoft.AspNetCore.Http.Connections.Client.HttpConnection] [Information] HttpConnection Started.
[0.026s] [Microsoft.AspNetCore.SignalR.Tests.EndToEndTests] [Information] Started connection to http://127.0.0.1:57794/echo
[0.030s] [Microsoft.AspNetCore.SignalR.Tests.EndToEndTests] [Information] Sending 4096032 byte message
[0.032s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Received message from application. Payload size: 4096032.
[0.032s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.033s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.

[SNIP]

[0.113s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.113s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets] [Debug] Connection id "0HN3V2A5OEBUC" resumed.
[0.113s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.113s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.113s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.113s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.113s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.113s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.113s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.113s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.114s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets] [Debug] Connection id "0HN3V2A5OEBUC" paused.
[0.113s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 49152 bytes.
[0.114s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.114s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 16384 bytes.
[0.114s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.114s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.114s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.114s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.114s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.114s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.115s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.115s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.115s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.115s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.115s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.115s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.116s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.116s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.116s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.116s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.116s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.116s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.116s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.116s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.116s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.116s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.117s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 61440 bytes.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 4096 bytes.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 4096 bytes.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 4096 bytes.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 4096 bytes.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 4096 bytes.
[0.118s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 8192 bytes.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 4096 bytes.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 4096 bytes.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 4096 bytes.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 4096 bytes.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 8192 bytes.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 4096 bytes.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.119s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.120s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.120s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 8192 bytes.
[0.120s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.120s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.120s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 4096 bytes.
[0.120s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.120s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.120s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 4096 bytes.
[0.120s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.120s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Message received. Type: Binary, size: 4096, EndOfMessage: False.
[0.120s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 4096 bytes.
[0.120s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.120s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Sending payload: 4096 bytes.
[0.120s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.120s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.121s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.121s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.121s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.121s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.121s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.121s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.121s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.121s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.121s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.121s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: False.
[0.122s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.122s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Debug] F35rAoMjMUFmeMrEWG1j_g - Waiting for the application to finish sending data.
[0.122s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.122s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.122s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Message received. Type: Text, size: 4096, EndOfMessage: True.
[0.123s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Debug] F35rAoMjMUFmeMrEWG1j_g - Send loop errored.
System.AggregateException: One or more errors occurred. (The WebSocket received compressed frame when compression is not enabled.)
 ---> System.Net.WebSockets.WebSocketException (0x80004005): The WebSocket received compressed frame when compression is not enabled.
   at System.Net.WebSockets.ManagedWebSocket.CloseWithReceiveErrorAndThrowAsync(WebSocketCloseStatus closeStatus, WebSocketError error, String errorMessage, Exception innerException)
   at System.Net.WebSockets.ManagedWebSocket.ReceiveAsyncPrivate[TResult](Memory`1 payloadBuffer, CancellationToken cancellationToken)
   at System.Net.WebSockets.ManagedWebSocket.ReceiveAsyncPrivate[TResult](Memory`1 payloadBuffer, CancellationToken cancellationToken)
   at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
   at Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsServerTransport.StartReceiving(WebSocket socket) in /_/src/SignalR/common/Http.Connections/src/Internal/Transports/WebSocketsServerTransport.cs:line 140
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.GetReadAsyncResult()
   at Microsoft.AspNetCore.SignalR.Tests.EchoConnectionHandler.OnConnectedAsync(ConnectionContext connection) in /_/src/SignalR/server/SignalR/test/EchoConnectionHandler.cs:line 16
   at Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionContext.ExecuteApplication(ConnectionDelegate connectionDelegate) in /_/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionContext.cs:line 636
   --- End of inner exception stack trace ---
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.GetReadAsyncResult()
   at Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsServerTransport.StartSending(WebSocket socket, Boolean ignoreFirstCancel) in /_/src/SignalR/common/Http.Connections/src/Internal/Transports/WebSocketsServerTransport.cs:line 208
[0.124s] [Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport] [Debug] F35rAoMjMUFmeMrEWG1j_g - Socket closed.
[0.124s] [Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionContext] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Disposing connection F35rAoMjMUFmeMrEWG1j_g.
[0.124s] [Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionContext] [Verbose] F35rAoMjMUFmeMrEWG1j_g - Waiting for WebSockets transport to complete.
[0.124s] [Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionContext] [Verbose] F35rAoMjMUFmeMrEWG1j_g - WebSockets transport complete.
[0.124s] [Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionManager] [Debug] F35rAoMjMUFmeMrEWG1j_g - Removing connection OmNI8q3kG7uSMmiTJ39hhw from the list of connections.
[0.124s] [Microsoft.AspNetCore.Routing.EndpointMiddleware] [Information] Executed endpoint '/echo'
[0.124s] [Microsoft.AspNetCore.Hosting.Diagnostics] [Information] Request finished HTTP/1.1 GET http://127.0.0.1:57794/echo?id=OmNI8q3kG7uSMmiTJ39hhw - 101 - - 102.7483ms
[0.124s] [Microsoft.AspNetCore.Server.Kestrel.Connections] [Debug] Connection id "0HN3V2A5OEBUC" disconnecting.
[0.124s] [Microsoft.AspNetCore.Server.Kestrel.Connections] [Debug] Connection id "0HN3V2A5OEBUC" stopped.
[0.124s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets] [Debug] Connection id "0HN3V2A5OEBUC" resumed.
[0.125s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets] [Debug] Connection id "0HN3V2A5OEBUC" sending FIN because: "The Socket transport's send loop completed gracefully."
[0.126s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Error] Error while sending a message.
System.Net.WebSockets.WebSocketException (0x80004005): The remote party closed the WebSocket connection without completing the close handshake.
 ---> System.IO.IOException: Unable to write data to the transport connection: Broken pipe.
 ---> System.Net.Sockets.SocketException (32): Broken pipe
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Net.Http.HttpConnection.RawConnectionStream.WaitWithConnectionCancellationAsync(ValueTask task, HttpConnection connection, CancellationToken cancellationToken)
   at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, Task lockTask, CancellationToken cancellationToken)
   at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, Task lockTask, CancellationToken cancellationToken)
   at System.Net.WebSockets.WebSocketExtensions.SendMultiSegmentAsync(WebSocket webSocket, ReadOnlySequence`1 buffer, WebSocketMessageType webSocketMessageType, CancellationToken cancellationToken) in /_/src/SignalR/common/Shared/WebSocketExtensions.cs:line 48
   at Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport.StartSending(WebSocket socket, Boolean ignoreFirstCanceled) in /_/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/WebSocketsTransport.cs:line 562
[0.127s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Send loop stopped.
[0.127s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Receive loop stopped.
[0.127s] [Microsoft.AspNetCore.SignalR.Tests.EndToEndTests] [Information] Sent message
[0.129s] [Microsoft.AspNetCore.SignalR.Tests.EndToEndTests] [Information] Test threw exception
System.Net.WebSockets.WebSocketException (2): The remote party closed the WebSocket connection without completing the close handshake. ---> System.IO.IOException: Unable to write data to the transport connection: Broken pipe.
 ---> System.Net.Sockets.SocketException (32): Broken pipe
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.CreateException(SocketError error, Boolean forAsyncThrow)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.SendAsyncForNetworkStream(Socket socket, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.SendAsyncForNetworkStream(ReadOnlyMemory`1 buffer, SocketFlags socketFlags, CancellationToken cancellationToken)
   at System.Net.Sockets.NetworkStream.WriteAsync(ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnection.WriteToStreamAsync(ReadOnlyMemory`1 source, Boolean async)
   at System.Net.Http.HttpConnection.WriteWithoutBufferingAsync(ReadOnlyMemory`1 source, Boolean async)
   at System.Net.Http.HttpConnection.RawConnectionStream.WriteAsync(ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, Task lockTask, CancellationToken cancellationToken)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecuteFromThreadPool(Thread threadPoolThread)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
   at System.Threading.Thread.StartCallback()
--- End of stack trace from previous location ---

   --- End of inner exception stack trace ---
   at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, Task lockTask, CancellationToken cancellationToken)
   at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, Task lockTask, CancellationToken cancellationToken)
   at System.Net.WebSockets.ManagedWebSocket.SendCloseFrameAsync(WebSocketCloseStatus closeStatus, String closeStatusDescription, CancellationToken cancellationToken)
   at System.Net.WebSockets.ManagedWebSocket.CloseOutputAsyncCore(WebSocketCloseStatus closeStatus, String statusDescription, CancellationToken cancellationToken)
   at System.Net.WebSockets.ManagedWebSocket.CloseWithReceiveErrorAndThrowAsync(WebSocketCloseStatus closeStatus, WebSocketError error, String errorMessage, Exception innerException)
   at System.Net.WebSockets.ManagedWebSocket.ReceiveAsyncPrivate[TResult](Memory`1 payloadBuffer, CancellationToken cancellationToken)
   at System.Net.WebSockets.ManagedWebSocket.ReceiveAsyncPrivate[TResult](Memory`1 payloadBuffer, CancellationToken cancellationToken)
   at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
   at Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport.StartReceiving(WebSocket socket) in /_/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/WebSocketsTransport.cs:line 461
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.GetReadAsyncResult()
   at System.IO.Pipelines.PipeReaderExtensions.ReadAsync(PipeReader pipeReader, Int32 numBytes) in D:\a\_work\1\s\src\SignalR\common\testassets\Tests.Utils\PipeReaderExtensions.cs:line 89
   at Microsoft.AspNetCore.InternalTesting.TaskExtensions.TimeoutAfter[T](Task`1 task, TimeSpan timeout, String filePath, Int32 lineNumber) in /_/src/Shared/TaskExtensions.cs:line 88
   at Microsoft.AspNetCore.SignalR.Tests.EndToEndTests.<>c__DisplayClass8_0.<<ConnectionCanSendAndReceiveDifferentMessageSizesWebSocketsTransport>g__ReceiveMessage|1>d.MoveNext() in /_/src/SignalR/server/SignalR/test/EndToEndTests.cs:line 344
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.SignalR.Tests.EndToEndTests.ConnectionCanSendAndReceiveDifferentMessageSizesWebSocketsTransport(Int32 length) in /_/src/SignalR/server/SignalR/test/EndToEndTests.cs:line 355
[0.129s] [Microsoft.AspNetCore.SignalR.Tests.EndToEndTests] [Information] Disposing Connection
[0.129s] [Microsoft.AspNetCore.Http.Connections.Client.HttpConnection] [Debug] Disposing HttpConnection.
[0.129s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Information] Transport is stopping.
[0.130s] [Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport] [Debug] Transport stopped.
[0.130s] [Microsoft.AspNetCore.Http.Connections.Client.HttpConnection] [Information] HttpConnection Disposed.
[0.130s] [Microsoft.AspNetCore.SignalR.Tests.EndToEndTests] [Information] Disposed Connection
[0.130s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets] [Debug] Connection id "0HN3V2A5OEBUB" received FIN.
[0.130s] [Microsoft.AspNetCore.Server.Kestrel.Connections] [Debug] Connection id "0HN3V2A5OEBUB" disconnecting.
[0.130s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets] [Debug] Connection id "0HN3V2A5OEBUB" sending FIN because: "The Socket transport's send loop completed gracefully."
[0.131s] [Microsoft.Extensions.Hosting.Internal.Host] [Debug] Hosting stopping
[0.131s] [Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionManager] [Verbose] Ending connection heartbeat.
[0.131s] [Microsoft.Hosting.Lifetime] [Information] Application is shutting down...
[0.132s] [Microsoft.AspNetCore.Server.Kestrel.Connections] [Debug] Connection id "0HN3V2A5OEBUB" stopped.
[0.132s] [Microsoft.AspNetCore.SignalR.Tests.InProcessTestServer] [Information] Test server shut down
[0.132s] [Microsoft.Extensions.Hosting.Internal.Host] [Debug] Hosting stopped
[0.134s] [Microsoft.AspNetCore.SignalR.Tests.EndToEndTests] [Error] Test threw an exception.
Xunit.Sdk.FailException: Assert.Fail(): 1 error(s) logged.
Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport - ErrorSendingMessage - Error while sending a message.
===================
System.Net.WebSockets.WebSocketException (0x80004005): The remote party closed the WebSocket connection without completing the close handshake.
 ---> System.IO.IOException: Unable to write data to the transport connection: Broken pipe.
 ---> System.Net.Sockets.SocketException (32): Broken pipe
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Net.Http.HttpConnection.RawConnectionStream.WaitWithConnectionCancellationAsync(ValueTask task, HttpConnection connection, CancellationToken cancellationToken)
   at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, Task lockTask, CancellationToken cancellationToken)
   at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, Task lockTask, CancellationToken cancellationToken)
   at System.Net.WebSockets.WebSocketExtensions.SendMultiSegmentAsync(WebSocket webSocket, ReadOnlySequence`1 buffer, WebSocketMessageType webSocketMessageType, CancellationToken cancellationToken) in /_/src/SignalR/common/Shared/WebSocketExtensions.cs:line 48
   at Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport.StartSending(WebSocket socket, Boolean ignoreFirstCanceled) in /_/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/WebSocketsTransport.cs:line 562
===================
   at Xunit.Assert.Fail(String message) in /_/src/xunit.assert/Asserts/FailAsserts.cs:line 28
   at Microsoft.AspNetCore.SignalR.Tests.VerifyNoErrorsScope.Dispose() in D:\a\_work\1\s\src\Shared\SignalR\VerifyNoErrorScope.cs:line 47
   at Microsoft.AspNetCore.SignalR.Tests.InProcessTestServer`1.DisposeAsync() in D:\a\_work\1\s\src\Shared\SignalR\InProcessTestServer.cs:line 157
   at Microsoft.AspNetCore.SignalR.Tests.InProcessTestServer`1.DisposeAsync() in D:\a\_work\1\s\src\Shared\SignalR\InProcessTestServer.cs:line 164
   at Microsoft.AspNetCore.SignalR.Tests.EndToEndTests.ConnectionCanSendAndReceiveDifferentMessageSizesWebSocketsTransport(Int32 length) in /_/src/SignalR/server/SignalR/test/EndToEndTests.cs:line 368
   at Xunit.Sdk.TestInvoker`1.<>c__DisplayClass48_0.<<InvokeTestMethodAsync>b__1>d.MoveNext() in /_/src/xunit.execution/Sdk/Frameworks/Runners/TestInvoker.cs:line 264
--- End of stack trace from previous location ---
   at Xunit.Sdk.ExecutionTimer.AggregateAsync(Func`1 asyncAction) in /_/src/xunit.execution/Sdk/Frameworks/ExecutionTimer.cs:line 48
   at Xunit.Sdk.ExceptionAggregator.RunAsync(Func`1 code) in /_/src/xunit.core/Sdk/ExceptionAggregator.cs:line 90
[0.134s] [TestLifetime] [Information] Finished test ConnectionCanSendAndReceiveDifferentMessageSizesWebSocketsTransport-4096032 in 0.1332352s

Build

https://dev.azure.com/dnceng-public/public/_build/results?buildId=689433

@amcasey amcasey added test-failure area-signalr Includes: SignalR clients and servers labels May 28, 2024
@amcasey
Copy link
Member Author

amcasey commented May 28, 2024

@amcasey
Copy link
Member Author

amcasey commented May 28, 2024

This also looks interesting, but it might just reflect truncated input?

 ---> System.Net.WebSockets.WebSocketException (0x80004005): The WebSocket received compressed frame when compression is not enabled.
   at System.Net.WebSockets.ManagedWebSocket.CloseWithReceiveErrorAndThrowAsync(WebSocketCloseStatus closeStatus, WebSocketError error, String errorMessage, Exception innerException)
   at System.Net.WebSockets.ManagedWebSocket.ReceiveAsyncPrivate[TResult](Memory`1 payloadBuffer, CancellationToken cancellationToken)
   at System.Net.WebSockets.ManagedWebSocket.ReceiveAsyncPrivate[TResult](Memory`1 payloadBuffer, CancellationToken cancellationToken)
   at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
   at Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsServerTransport.StartReceiving(WebSocket socket) in /_/src/SignalR/common/Http.Connections/src/Internal/Transports/WebSocketsServerTransport.cs:line 140
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.GetReadAsyncResult()
   at Microsoft.AspNetCore.SignalR.Tests.EchoConnectionHandler.OnConnectedAsync(ConnectionContext connection) in /_/src/SignalR/server/SignalR/test/EchoConnectionHandler.cs:line 16
   at Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionContext.ExecuteApplication(ConnectionDelegate connectionDelegate) in /_/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionContext.cs:line 636

@BrennanConroy
Copy link
Member

BrennanConroy commented May 29, 2024

I don't think you realized that this test has only failed on the unmerged runtime update PR
#55852

And seems to have happened with dotnet/runtime@aabefea...ce1477b

@amcasey
Copy link
Member Author

amcasey commented May 29, 2024

Nope. Thanks for checking!

@amcasey amcasey closed this as completed May 29, 2024
@amcasey
Copy link
Member Author

amcasey commented May 29, 2024

#55953

@BrennanConroy
Copy link
Member

Potentially fixed by dotnet/runtime#102776

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-signalr Includes: SignalR clients and servers test-failure
Projects
None yet
Development

No branches or pull requests

2 participants