canonical / multipass

Multipass orchestrates virtual Ubuntu instances
https://multipass.run
GNU General Public License v3.0
7.52k stars 631 forks source link

Bridged Network TCP Bug on macOS Host #3479

Open wallpunch opened 2 months ago

wallpunch commented 2 months ago

Describe the bug On a macOS host, TCP connections bound to an instance's bridged network interface hang after about 50kb data are received.

To Reproduce

  1. multipass set local.bridged-network=en0
  2. multipass launch -n test --bridged
  3. multipass exec test -- curl https://canonical.com -o /dev/null --interface enp0s2 (Sometimes need to repeat Step 3 a few times before it hangs. I don't think it's a curl bug as I've seen the same issue using netcat and even sockets directly.)

Expected behavior All TCP data from the server should be received. (The curl request should complete.)

Logs bug.log

Additional info

Additional context The bug does not always occur. It seems more likely to occur when the incoming data arrives very rapidly. It only occurs when more than approximately 50kb are transmitted by the server.

The bug does not occur if the bridged interface is not explicitly bound to (i.e. curl 'https://canonical.com' -o /dev/null never hangs).

luis4a0 commented 2 months ago

Hi @wallpunch, thanks for reporting. This seems to be another case of https://github.com/canonical/multipass/issues/3038. Unfortunately, we don't have a solution for this yet. But stay tuned to #3038 for news. Thanks!

luis4a0 commented 2 months ago

Closing of duplicate of #3038.

luis4a0 commented 2 months ago

Reopening because we are not 100% sure it's the same issue as #3038.