[tor-bugs] #16585 [Tor]: relay stops forwarding all traffic when client function cannot establish circuits -- scheduler_run() starvation

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Sep 1 23:17:05 UTC 2015


#16585: relay stops forwarding all traffic when client function cannot establish
circuits -- scheduler_run() starvation
---------------------------+--------------------------------
     Reporter:  starlight  |      Owner:
         Type:  defect     |     Status:  new
     Priority:  major      |  Milestone:  Tor: 0.2.7.x-final
    Component:  Tor        |    Version:  Tor: 0.2.6.10
   Resolution:             |   Keywords:  PostFreeze027
Actual Points:             |  Parent ID:
       Points:             |
---------------------------+--------------------------------

Comment (by starlight):

 Replying to [comment:14 mikeperry]:
 > What if there are more sources of this type of side-channel caused by
 other slow and/or sensitive operations? Perhaps the actual channel
 send+recv handling is what should be done in a worker thread, rather than
 as a scheduled event, to avoid leaking any such side-channel in such an
 obvious way to the wire.

 This seems a good solution to me.  Have cell-forwarding run in a dedicated
 thread separate from all the various other transaction types.  Perhaps is
 not overly difficult since most everything runs as libevent transactions.
 A separate libevent thread for cell forwarding with brief-hold locks to
 protect cell queues could perhaps be the structure.

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


More information about the tor-bugs mailing list