PCCproject / PCC-Uspace

The userspace implementations of PCC.
BSD 3-Clause "New" or "Revised" License
119 stars 61 forks source link

pccclient run error when follow Readme #20

Closed Alexyali closed 3 years ago

Alexyali commented 3 years ago

i follow Readme and test PCC

$ ./app/pccserver recv 1234
$ ./app/pccclient send 127.0.0.1 1234 Vivace

but pccclient soonly run error and stop. the message is shown below

Reset to Vivace Sender
Using Utility Function: Vivace
connect
finished connect
SendRate(Mb/s)  RTT(ms) CTotal  Loss    RecvACK RecvNAK
1       401.236 0.204015        37021   109
pccclient: pcc_vivace_sender.cpp:306: QuicBandwidth PccVivaceSender::ComputeRateChange(const std::vector<UtilityInfo>&): Assertion `!delta_sending_rate.IsZero()' failed.
Aborted (core dumped)

how can i slove this bug? Thanks if you would like to give some advice.

manorzvi commented 3 years ago

Hi,

How did you solve it?

I get the same error all the time:

pccclient: pcc_vivace_sender.cpp:306: QuicBandwidth PccVivaceSender::ComputeRateChange(const std::vector&): Assertion `!delta_sending_rate.IsZero()' failed. Aborted (core dumped)

Alexyali commented 3 years ago

i guess the problem is that in local network, the rtt is extremely low, so pcc cannot calculate rate correctly. i solve the problem by creating a virutal network between the sender and receiver. i use mahimahi to create the network, and set the delay to be 10ms or higher. mahimahi can be installed in ubuntu by running sudo apt install mahimahi another method is to test sender and receiver on two individual PC under the same LAN, it also works.

anilsh commented 1 year ago

Any information on how mahimahi can be used to create the network where sender and receiver can run?