Search Issue Tracker

Fixed

Fixed in 2.2.1

Votes

1

Found in [Package]

2.1.0

Issue ID

UTRANS-17

Regression

No

Connection loss due to OS TCP buffer overflow when using Unity.Transport

Package: Unity Transport Package

-

How to reproduce:
1. Download and open the attached "SeparationDemo"
2. Enter Play mode
3. Observe the Console window

Expected outcome: No errors appear
Actual outcome: "Overflow of OS send buffer while trying to send data to 127.0.0.1. Closing connection." error appears

Reproduced with: 2022.3.12f1, 2023.1.18f1, 2023.2.0b15, 2023.3.0a10
Could not test with: 2021.3 (Project breaks when downgrading)
Reproduced on: MacOS (Ventura 13.4)

  1. Resolution Note (fix version 2.2.1):

    Issue resolved by buffering unsent traffic directly in the send queue. Thus if the OS buffers are full, traffic will accumulate in the send queue. If that in turns fills up, then calls to BeginSend will now return a SendQueueFull error, which can be handled appropriately by the user (e.g. by putting the traffic in some external queue). Netcode for GameObjects already handles this error code gracefully. Send queue size is also configurable which provides another way of dealing with the condition.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.