[tor-bugs] #10169 [Tor]: Extend OOM handler to cover channels/connection buffers
Tor Bug Tracker & Wiki
blackhole at torproject.org
Tue Feb 25 15:48:40 UTC 2014
#10169: Extend OOM handler to cover channels/connection buffers
------------------------+----------------------------------------
Reporter: nickm | Owner:
Type: defect | Status: needs_review
Priority: major | Milestone: Tor: 0.2.5.x-final
Component: Tor | Version:
Resolution: | Keywords: tor-relay oom 024-backport
Actual Points: | Parent ID:
Points: |
------------------------+----------------------------------------
Comment (by nickm):
Replying to [comment:13 andrea]:
> Code review for NickM's bug10169_023 branch:
>
>
https://gitweb.torproject.org/nickm/tor.git/shortlog/refs/heads/bug10169_023
>
91ec6f7269bd7a5b73629f38e9779e84a0fb84f2..79c234e0e3fa22d76029bd3b5e2c52072709cff3
>
> 91ec6f7269bd7a5b73629f38e9779e84a0fb84f2:
> - I don't like the name buf_get_oldest_chunk_timestamp() for a function
that
> returns an age rather than a timestamp.
Okay, let's change that in the 0.2.5 version.
> - Can anything horrible happen with all this if the clock gets reset?
We could kill the wrong circuits if the clock goes backwards and then
doesn't catch up with itself before we hit an OOM.
> - Perhaps it would be wise to use clock_gettime(CLOCK_MONOTONIC, ...)
where
> available if we aren't doing so already.
Can that be an 0.2.5 only thing? Doing a portable monotonic timer is a
bit tricksy. On Linux, you want clock_gettime(CLOCK_MONOTONIC_COARSE).
On OSX, you want mach_absolute_time(). On other Unix, you want
clock_gettime(CLOCK_MONOTONIC) if possible. On Windows, there's a
complicated mishmash of things using QueryPerformanceCounter(),
GetTickCount64(), and GetTickCount(). As a fallback, you can use
gettimeofday() and check the result to make sure it doesn't go backwards.
I guess we could do just the fallback check-and-latch in 0.2.3/0.2.4, and
aim for the more complex ones in 0.2.5 or later?
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/10169#comment:14>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list