After recovering the corrupted data (parity error) with recover_with_loss, the queue got into a curious state — you can send data to it, but any attempt to read gets stuck forever (or until timeout).
Basically, in this code snippet the execution hangs in the call to recv:
let (mut sender, mut receiver) = yaque::channel("queue").unwrap();
sender.send(b"some data").await.unwrap();
let data = receiver.recv().await.unwrap();
I'm not familiar with the internal data representation to make any judgement about what's wrong, but it looks like it should never have happened, right?
queue.tar.gz
After recovering the corrupted data (parity error) with
recover_with_loss, the queue got into a curious state — you can send data to it, but any attempt to read gets stuck forever (or until timeout).Basically, in this code snippet the execution hangs in the call to
recv:I'm not familiar with the internal data representation to make any judgement about what's wrong, but it looks like it should never have happened, right?
queue.tar.gz