Skip to content

Websocket high bandwith transfer: Client shutdown does not send a closing handshake as it shutdowns (SIGTERM), causing the server to error. #6389

@VasilisThePikachu

Description

@VasilisThePikachu
[DEBG] net: "[::1]:52071": Status changed to Disconnected, reason: "Client shutting down"
[INFO] net: "[::1]:52071": Disconnected ("Client shutting down")
[DEBG] net.transfer: Cleaning up connection for channel "1861180297712488418/1d427d70-7663-40ba-b9b0-473a39659e7f" that disconnected
[DEBG] srv: Last client disconnected, pausing automatically.
[DEBG] play_time: Saved 2 trackers for MyraTheAvali
[ERRO] net.transfer: Error reading transfer socket: System.Net.WebSockets.WebSocketException (0x80004005): The remote party closed the WebSocket connection without completing the close handshake.
   at System.Net.WebSockets.ManagedWebSocket.ThrowEOFUnexpected()
   at System.Net.WebSockets.ManagedWebSocket.EnsureBufferContainsAsync(Int32 minimumRequiredBytes, CancellationToken cancellationToken)
   at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   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 Robust.Shared.Network.Transfer.TransferImplWebSocket.ReadThread() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Network/Transfer/TransferImplWebSocket.cs:line 55
[ERRO] net.transfer: Error reading transfer socket: System.Net.WebSockets.WebSocketException (0x80004005): The remote party closed the WebSocket connection without completing the close handshake.
   at System.Net.WebSockets.ManagedWebSocket.ThrowEOFUnexpected()
   at System.Net.WebSockets.ManagedWebSocket.EnsureBufferContainsAsync(Int32 minimumRequiredBytes, CancellationToken cancellationToken)
   at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   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 Robust.Shared.Network.Transfer.TransferImplWebSocket.ReadThread() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Network/Transfer/TransferImplWebSocket.cs:line 55
  1. Setup websockets
  2. Connect to the server
  3. Press alt + f4, or your operating systems close button.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions