2

ENV

multipass version
multipass   1.11.1+mac
multipassd  1.11.1+mac

Mac Apple M1
MacOS 12.5.1

Update: If you run into this issue, have a look at Lima Linux maybe it can help you in running Ubuntu on MacOS.

curl hangs half way through a large file(small file no problem) , if the server(multipass vm) is running in multipass on different computers on different vLAN.

Steps

  1. Create multipass vm and mount from the same folder:
multipass launch --name myvm --network=en0
multipass mount . myvm:~/speed
  1. Generate a large file:
base64 /dev/urandom | head -c 100000 > file.txt
echo "\The end" >> file.txt
  1. run web server server in multipass vm:
multipass shell myvm
cd speed
python3 -m http.server
  1. Curl to multipass mvm
curl <ip>/file.txt
In my case: `curl 192.170.1.231/file`
7AVzmECVWNbcShP+TE+/6AM/KZWc12AzLKvtctv0pqeSW0SNDW3OSM82SkzF+/UExUUBH4dxlIcM
dObLOlLgz9WfoiEtvZ4Hbx/yq85C+WwnFr2Trhu75qmFrg8Ht8t/x+MyDfI0MyuGw91tKqFgHL4F

Now it hangs, what to do?

If you run this python3 -m http.server on the host computer it works, just not from multipass vm.

If I use Wireshark I can see something standing out right about where it hangs:

10287   0.000580    0.000580    64  192.168.1.22    192.170.1.231   TCP 54  53941 → 80 [RST] Seq=1 Win=0 Len=0

4818    0.004338    0.004338    62  192.170.1.231   192.168.1.22    TCP 1514    [TCP Previous segment not captured] 80 → 50623 [ACK] Seq=84853 Ack=86 Win=65152 Len=1448 TSval=1019606200 TSecr=2732723127 [TCP segment of a reassembled PDU]

4820    0.000249    0.000249    64  192.168.1.22    192.170.1.231   TCP 78  [TCP Dup ACK 4817#1] 50623 → 80 [ACK] Seq=86 Ack=67477 Win=131072 Len=0 TSval=2732723132 TSecr=1019605978 SLE=84853 SRE=86301

4821    0.000057    0.000057    64  192.168.1.22    192.170.1.231   TCP 78  [TCP Dup ACK 4817#2] 50623 → 80 [ACK] Seq=86 Ack=67477 Win=131072 Len=0 TSval=2732723132 TSecr=1019605978 SLE=84853 SRE=87749

4822    0.002414    0.002414    62  192.170.1.231   192.168.1.22    TCP 1514    [TCP Fast Retransmission] 80 → 50623 [ACK] Seq=67477 Ack=86 Win=65152 Len=1448 TSval=1019606202 TSecr=2732723132 [TCP segment of a reassembled PDU]

4823    0.000001    0.000001    62  192.170.1.231   192.168.1.22    TCP 1514    [TCP Out-Of-Order] 80 → 50623 [ACK] Seq=68925 Ack=86 Win=65152 Len=1448 TSval=1019606203 TSecr=2732723132 [TCP segment of a reassembled PDU]

4827    0.002141    0.002141    62  192.170.1.231   192.168.1.22    TCP 1514    [TCP Out-Of-Order] 80 → 50623 [ACK] Seq=70373 Ack=86 Win=65152 Len=1448 TSval=1019606205 TSecr=2732723135 [TCP segment of a reassembled PDU]

4829    0.000165    0.000165    62  192.170.1.231   192.168.1.22    TCP 1514    [TCP Retransmission] 80 → 50623 [PSH, ACK] Seq=71821 Ack=86 Win=65152 Len=1448 TSval=1019606205 TSecr=2732723135

4830    0.000002    0.000002    62  192.170.1.231   192.168.1.22    TCP 1514    [TCP Retransmission] 80 → 50623 [ACK] Seq=73269 Ack=86 Win=65152 Len=1448 TSval=1019606205 TSecr=2732723135

4831    0.000000    0.000000    62  192.170.1.231   192.168.1.22    TCP 1514    [TCP Retransmission] 80 → 50623 [ACK] Seq=74717 Ack=86 Win=65152 Len=1448 TSval=1019606205 TSecr=2732723135

Thanks

Chris G.
  • 23,930
  • 48
  • 177
  • 302

0 Answers0