mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 15:43:32 +01:00
2e1fe1fcf9
This implements "algorithm 1" from my discussion of bug #9072: on OOM, find the circuits with the longest queues, and kill them. It's also a fix for #9063 -- without the side-effects of bug #9072. The memory bounds aren't perfect here, and you need to be sure to allow some slack for the rest of Tor's usage. This isn't a perfect fix; the rest of the solutions I describe on codeable.
16 lines
844 B
Plaintext
16 lines
844 B
Plaintext
o Major bugfixes:
|
|
- When we have too much memory queued in circuits (according to a new
|
|
MaxMemInCellQueues option), close the circuits consuming the most
|
|
memory. This prevents us from running out of memory as a relay if
|
|
circuits fill up faster than they can be drained. Fixes
|
|
bug 9063; bugfix on the 54th commit of Tor. This bug is a further
|
|
fix beyond bug 6252, whose fix was merged into 0.2.3.21-rc.
|
|
|
|
Also fixes an earlier approach taken in 0.2.4.13-alpha, where we
|
|
tried to solve this issue simply by imposing an upper limit on the
|
|
number of queued cells for a single circuit. That approach proved to
|
|
be problematic, since there are ways to provoke clients to send a
|
|
number of cells in excess of any such reasonable limit.
|
|
Fixes bug 9072; bugfix on 0.2.4.13-alpha.
|
|
|