Circuit reactor has to enqueue cells due to backpressure
The new arti-bench
parallelism feature in !243 (merged) made arti spit out these fun log lines:
2022-01-18T13:39:53.986243Z WARN tor_proto::circuit::reactor: Circ 3.1: having to enqueue cell due to backpressure: ChanCell { circid: CircId(3153006678), msg: Relay(Relay) }
2022-01-18T13:39:54.152447Z WARN tor_proto::circuit::reactor: Circ 3.1: having to enqueue cell due to backpressure: ChanCell { circid: CircId(3153006678), msg: Relay(Relay) }
2022-01-18T13:39:54.296883Z WARN tor_proto::circuit::reactor: Circ 3.1: having to enqueue cell due to backpressure: ChanCell { circid: CircId(3153006678), msg: Relay(Relay) }
This shouldn't be happening, and indicates a bug somewhere where we aren't checking whether the circuit's channel is full before trying to send a message to it.