On my laptop, after waking up from a suspend, this loop in libtiny_client sometimes loops forever without selecting any of the branches:
loop {
let mut read_buf: [u8; 1024] = [0; 1024];
select! {
cmd = rcv_cmd.next() => {
...
}
bytes = read_half.read(&mut read_buf).fuse() => {
...
}
ping_ev = rcv_ping_evs_fused.next() => {
...
}
}
}
Basically the select! doesn't really select any of the branches, and doesn't panic either. In the next loop it does the same, causing this to loop forever without doing anything.
Not sure if I'm misusing select! here, or this is a select! bug.
It's also a bit hard to reproduce. For example, if I hibernate my desktop and run it again this does not happen. Only on my laptop I was able to reproduce this.
On my laptop, after waking up from a suspend, this loop in libtiny_client sometimes loops forever without selecting any of the branches:
Basically the
select!doesn't really select any of the branches, and doesn't panic either. In the next loop it does the same, causing this to loop forever without doing anything.Not sure if I'm misusing
select!here, or this is aselect!bug.It's also a bit hard to reproduce. For example, if I hibernate my desktop and run it again this does not happen. Only on my laptop I was able to reproduce this.