aboutsummaryrefslogtreecommitdiff
path: root/changes
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2013-06-16 09:55:44 -0400
committerNick Mathewson <nickm@torproject.org>2013-06-18 10:15:16 -0400
commit2e1fe1fcf93c2a77805048bea5c535ca4456d583 (patch)
tree6a396bc09f558b9611282de2d54a7f7824696095 /changes
parent2a95f3171681ee53c97ccba9d80f4454b462aaa7 (diff)
downloadtor-2e1fe1fcf93c2a77805048bea5c535ca4456d583.tar.gz
tor-2e1fe1fcf93c2a77805048bea5c535ca4456d583.zip
Implement a real OOM-killer for too-long circuit queues.
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.
Diffstat (limited to 'changes')
-rw-r--r--changes/bug9063_redux15
1 files changed, 15 insertions, 0 deletions
diff --git a/changes/bug9063_redux b/changes/bug9063_redux
new file mode 100644
index 0000000000..e6fae72efc
--- /dev/null
+++ b/changes/bug9063_redux
@@ -0,0 +1,15 @@
+ 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.
+