You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If I change poll_shutdown to poll_flush, Tokio would go asleep forever sporadically (if you are lucky enough, the first speed test attempt would immediately trigger this) and iperf3 would receive nothing, tokio-console said that both two tasks (copy a -> b, copy b -> a) are parked and idle, one had no unused waker, while the other one had two unused wakers.
When I force terminate iperf3, Tokio could be woken up normally for the I/O Error.
Maybe I did something wrong and I'm looking forward to corrections or suggestions or tips.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Version
1.45.0 ~ 1.46.1
Platform
Linux HANTONG-DEV 6.15.4-x64v3-xanmod1 #0~20250627.g1f365b0 SMP PREEMPT_DYNAMIC Fri Jun 27 15:24:34 UTC x86_64 GNU/Linux
Description
Imagine a scenario of performing bidirectional copying between two TcpStreams using tokio.
Inside poll_copy:
The example is available here: https://github.com/hanyu-dev/tokio-splice2, please comment out https://github.com/hanyu-dev/tokio-splice2/blob/b7fcec03bbd53c5329c2727bfa8e86e5b8c0e2a6/src/splice.rs#L574-L575 (or change to
poll_flush
).Just run
cargo run --release --example proxy
, start a iperf3 serveriperf3 -s -p 5202
and do some speed tests withiperf3 -c 127.0.0.1 -Z -t 5 -p 5201 -R
(must be-R
).If I change
poll_shutdown
topoll_flush
, Tokio would go asleep forever sporadically (if you are lucky enough, the first speed test attempt would immediately trigger this) and iperf3 would receive nothing,tokio-console
said that both two tasks (copy a -> b, copy b -> a) are parked and idle, one had no unused waker, while the other one had two unused wakers.When I force terminate iperf3, Tokio could be woken up normally for the I/O Error.
Maybe I did something wrong and I'm looking forward to corrections or suggestions or tips.
Beta Was this translation helpful? Give feedback.
All reactions