Files
tor/changes
Matt Traudt 3ef7e6f187 sched: Don't get KIST stuck in an infinite loop
When a channel is scheduled and flush cells returns 0 that is no cells to
flush, we flag it back in waiting for cells so it doesn't get stuck in a
possible infinite loop.

It has been observed on moria1 where a closed channel end up in the scheduler
where the flush process returned 0 cells but it was ultimately kept in the
scheduling loop forever. We suspect that this is due to a more deeper problem
in tor where the channel_more_to_flush() is actually looking at the wrong
queue and was returning 1 for an empty channel thus putting the channel in the
"Case 4" of the scheduler which is to go back in pending state thus
re-considered at the next iteration.

This is a fix that allows the KIST scheduler to recover properly from a not
entirelly diagnosed problem in tor.

Fixes #23676

Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-09-29 11:06:31 -04:00
..
2017-09-26 14:51:35 -04:00
2017-09-20 09:45:03 -04:00
2017-09-19 10:03:32 -04:00
2017-09-21 17:34:47 -04:00
2017-09-21 16:27:09 -04:00
2017-09-26 08:57:10 -04:00
2017-09-25 09:29:11 -04:00
2017-09-21 10:42:40 -04:00