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
└── tokio v1.43.0
└── tokio-macros v2.5.0 (proc-macro)
Platform
RHEL 8
x86_64
Intel CascadeLake
Description
The MPSC channel receiver is failing to receive messages when being repeatedly polled. I notice that it will receive exactly 128 elements (4 underlying blocks) before failing.
Here is a reproduction. Note that the select! macro simplifies the code here, but the issue also reproduces if the select! is replaced by a custom future that repeatedly invokes Future::poll on the Receiver object, verifying that the select! isn't a factor.
This is due to Tokio's coop feature where Tokio attempts to force tasks to yield. The channel will return Pending until the task yields to the runtime.
Version
Platform
RHEL 8
x86_64
Intel CascadeLake
Description
The MPSC channel receiver is failing to receive messages when being repeatedly polled. I notice that it will receive exactly 128 elements (4 underlying blocks) before failing.
Here is a reproduction. Note that the
select!
macro simplifies the code here, but the issue also reproduces if theselect!
is replaced by a custom future that repeatedly invokesFuture::poll
on theReceiver
object, verifying that theselect!
isn't a factor.The output is as follows. No logging is observed after 128 elements have been received.
The text was updated successfully, but these errors were encountered: