[tor-bugs] #4710 [Tor Relay]: Tor does not convert TCP socket exhaustion to END_STREAM_REASON_RESOURCELIMIT

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Tue Dec 13 02:22:04 UTC 2011


#4710: Tor does not convert TCP socket exhaustion to
END_STREAM_REASON_RESOURCELIMIT
-----------------------+----------------------------------------------------
 Reporter:  mikeperry  |          Owner:     
     Type:  defect     |         Status:  new
 Priority:  normal     |      Milestone:     
Component:  Tor Relay  |        Version:     
 Keywords:             |         Parent:     
   Points:             |   Actualpoints:     
-----------------------+----------------------------------------------------
 Moritz has reported the appearance of warns to the effect of "[warn] Error
 binding network socket: Address already in use" recently as a result of
 the PID feedback experiment. We could implement a feedback cap for nodes
 that hit this exhaustion, if we could detect it using stream end reasons
 (#4709).

 However, in errno_to_stream_end_reason(), it looks like Tor does not have
 a case covering "Address already in use" (EADDRINUSE and possibly also
 EADDRNOTAVAIL), which seems to be the errno Moritz's Ubuntu server is
 choosing when it runs out of TCP source ports.

 I'd add these cases myself, but I am not sure if it should be an E_CASE or
 S_CASE, and I'm also not sure if the TCP source port exhaustion errno is
 always the same EADDRINUSE across all platforms, or just on Linux. It
 seems like a weird choice to me.

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/4710>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list