Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: send stream packet 1Mbps get drop rate, the stream is unreliability and unstability #153

Closed
leopard2ic opened this issue Apr 25, 2022 · 7 comments
Labels
🚫 invalid This doesn't seem right

Comments

@leopard2ic
Copy link

leopard2ic commented Apr 25, 2022

What happened?

1 Forward or schedule packet to xquic, send stream packet use function bellow
void client_network_send(void *out_data, size_t out_dlen) {
g_user_stream->send_body = out_data;
g_user_stream->send_body_len = out_dlen;
g_user_stream->send_offset = 0;
client_stream_send(g_user_stream->stream, g_user_stream);
}

2 Send iperf udp packet in limited bandwidth and get the packet lost

iperf -u -c 10.7.0.1 -b 1M -t 10 -p 6001 // drop rate 20%
iperf -u -c 10.7.0.1 -b 2M -t 10 -p 6001 // drop rate 50%

image

3 The stream transport is unreliability and unstability
3.1 server stream segmentation fault
image

3.2 server close stream actively
image

3.3 client stream segmentation fault
1650855941(1)

Steps To Reproduce

1 Forward or schedule packet to xquic
2 send packet with function client_network_send( )
3 use iperf test tool to detect the udp throughput
4 get some drop rate and unstability

Relevant log output

No response

@leopard2ic leopard2ic changed the title [Bug]: stream transport is unreliability and unstability that makes low throughput [Bug]: send packet with transport stream, the stream is unreliability and unstability, iperf get udp drop rate Apr 25, 2022
@leopard2ic leopard2ic changed the title [Bug]: send packet with transport stream, the stream is unreliability and unstability, iperf get udp drop rate [Bug]: send stream packet 1Mbps get drop rate, the stream is unreliability and unstability Apr 25, 2022
@leopard2ic
Copy link
Author

iperf.zip

@Kulsk
Copy link
Collaborator

Kulsk commented Apr 25, 2022

iperf.zip

your keys are invalid, none of the 1-RTT packets could be decrypted, make sure it's available plz

image

@leopard2ic
Copy link
Author

Quic packet is captured on client physical network interface, use ckeys.log ?

@Kulsk Kulsk added the 🤨 need more info We cannot reproduce your problem or further information is requested label Apr 25, 2022
@Kulsk
Copy link
Collaborator

Kulsk commented Apr 25, 2022

Quic packet is captured on client physical network interface, use ckeys.log ?

never worked, maybe you should try to parse the pcap with wireshark on your local machine before upload it

@Kulsk
Copy link
Collaborator

Kulsk commented Apr 25, 2022

is no_encrypt used ?

@Kulsk
Copy link
Collaborator

Kulsk commented Apr 25, 2022

image
image

I tried to grep '====>' on clog and slog, it seems packets numbers are sequential and consistent, none is lost on server rx side

@Kulsk Kulsk added 🚫 invalid This doesn't seem right and removed 🤨 need more info We cannot reproduce your problem or further information is requested labels Apr 25, 2022
@Kulsk Kulsk closed this as completed Apr 25, 2022
@leopard2ic
Copy link
Author

leopard2ic commented Apr 25, 2022

capture file have two steps,
1> 1m udp, clog to 679, slog to 679
2> 2m udp, clog to 197, slog to 154

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🚫 invalid This doesn't seem right
Projects
None yet
Development

No branches or pull requests

2 participants