[tor-bugs] #19969 [Core Tor/Tor]: tor client does not immediately open new circuits after standby

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Oct 31 03:38:34 UTC 2016


#19969: tor client does not immediately open new circuits after standby
-------------------------------------------------+-------------------------
 Reporter:  weasel                               |          Owner:
     Type:  defect                               |         Status:
                                                 |  needs_review
 Priority:  High                                 |      Milestone:  Tor:
                                                 |  0.3.0.x-final
Component:  Core Tor/Tor                         |        Version:  Tor:
                                                 |  0.2.8.6
 Severity:  Normal                               |     Resolution:
 Keywords:  regression 029-backport              |  Actual Points:
  028-backport                                   |
Parent ID:                                       |         Points:  2
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+-------------------------

Comment (by arma):

 Awesome. It builds for me and runs in a trivial test. The code looks
 plausible -- though I admit that there could be bugs in the way the patch
 calls the libevent stuff and I wouldn't know it.

 I think you're right that the patch should ultimately make its way into
 0.2.8 -- this is the current stable, and folks on crummy network
 connections are really hurting from this regression (if I were them I
 would be sticking to 0.2.7 at present, which is a poor idea for other
 reasons).

 To be thorough, if this bug is what we think it is, then there are cases
 where the rest of the things in run_main_loop_once() never get called.
 Those are:

 1)
 {{{
   /* All active linked conns should get their read events activated,
    * so that libevent knows to run their callbacks. */
   SMARTLIST_FOREACH(active_linked_connection_lst, connection_t *, conn,
                     event_active(conn->read_event, EV_READ, 1));
   called_loop_once = smartlist_len(active_linked_connection_lst) ? 1 : 0;
 }}}

 Does this one matter? It might. But maybe because it's only about linked
 conns, they will probably only happen when there's other activity too?
 Worth thinking more about before we brush it off.

 2)
 {{{
   /* Make sure we know (about) what time it is. */
   update_approx_time(time(NULL));
 }}}
 No worries, this one happens in second_elapsed_callback() too.

 3)
 {{{
   connection_ap_attach_pending(0);
 }}}
 which is what your patch is about.

 That's all of them, right?

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


More information about the tor-bugs mailing list