[tor-bugs] #14881 [Core Tor/Tor]: incorrect defaults when producing bandwidth-weights line in directory footer

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Oct 27 00:28:27 UTC 2016


#14881: incorrect defaults when producing bandwidth-weights line in directory
footer
-------------------------------------------------+-------------------------
 Reporter:  robgjansen                           |          Owner:  pastly
     Type:  defect                               |         Status:  closed
 Priority:  Medium                               |      Milestone:  Tor:
                                                 |  0.3.0.x-final
Component:  Core Tor/Tor                         |        Version:  Tor:
                                                 |  0.2.7
 Severity:  Normal                               |     Resolution:  fixed
 Keywords:  027-triaged-1-in, 028-triaged,       |  Actual Points:
  pre028-patch, tor-sponsorU-orphan,             |
  TorCoreTeam-postponed-201604, nickm-           |
  deferred-20161005, review-group-10             |
Parent ID:                                       |         Points:  3
 Reviewer:  mikeperry                            |        Sponsor:
                                                 |  SponsorU-can
-------------------------------------------------+-------------------------

Comment (by pastly):

 I've tested this in chutney now. One set of tests was run at the tip of
 current master, which includes this ticket, and is commit 48d7b69. The
 other set is a few commits back, does not include this ticket, and is
 commit 5a1779b.

 I ran basic-min, bridges-ipv6-min, bridges-min, hs-ipv6, hs-min, ipv6
 -exit-min, mixed, single-onion, and single-onion-ipv6.

 I wrote a script to see what nodes, if any, fail to bootstrap based on the
 presense of "Bootstrapped 100" in notice.log. The following output is the
 same with and without this ticket.

 {{{
 ./nodes.basic-min/000a/ probably failed to bootstrap
 ./nodes.basic-min/001a/ probably failed to bootstrap
 ./nodes.basic-min/002r/ probably failed to bootstrap
 ./nodes.bridges-ipv6-min/000a/ probably failed to bootstrap
 ./nodes.bridges-ipv6-min/001ba/ probably failed to bootstrap
 ./nodes.bridges-ipv6-min/002r/ probably failed to bootstrap
 ./nodes.bridges-min/000a/ probably failed to bootstrap
 ./nodes.bridges-min/001ba/ probably failed to bootstrap
 ./nodes.bridges-min/002r/ probably failed to bootstrap
 ./nodes.ipv6-exit-min/000a/ probably failed to bootstrap
 ./nodes.ipv6-exit-min/001a/ probably failed to bootstrap
 ./nodes.ipv6-exit-min/002r/ probably failed to bootstrap
 }}}

 `make test-network-all` says all PASS with and without this ticket.

 -----------

 With this ticket, the authorities output lines like the following.

 {{{
 Oct 26 18:53:35.000 [notice] Time to compute a consensus.
 Oct 26 18:53:35.000 [notice] Computed bandwidth weights for Case 2b1
 (Wgg=weight_scale, Wmd=Wgd) with v10: G=1 M=1 E=1 D=1 T=4
 Oct 26 18:53:35.000 [notice] Bandwidth-weight Case 1 is verified and
 valid.
 Oct 26 18:53:35.000 [notice] Computed bandwidth weights for Case 2b1
 (Wgg=weight_scale, Wmd=Wgd) with v10: G=1 M=1 E=1 D=1 T=4
 Oct 26 18:53:35.000 [notice] Bandwidth-weight Case 1 is verified and
 valid.
 Oct 26 18:53:35.000 [notice] Consensus computed; uploading signature(s)
 Oct 26 18:53:35.000 [notice] Signature(s) posted.
 Oct 26 18:53:35.000 [notice] Uploaded signature(s) to dirserver
 127.0.0.1:7001
 Oct 26 18:53:35.000 [notice] Got a signature from 127.0.0.1. Adding it to
 the pending consensus.
 Oct 26 18:53:35.000 [notice] Added a signature for test001a from
 127.0.0.1.
 Oct 26 18:53:36.000 [notice] Time to fetch any signatures that we're
 missing.
 Oct 26 18:53:36.000 [notice] Time to publish the consensus and discard old
 votes
 Oct 26 18:53:36.000 [notice] Published ns consensus
 }}}

 And the `bandwidth-weights` line in the consensus is always

 {{{
 bandwidth-weights Wbd=3333 Wbe=0 Wbg=0 Wbm=10000 Wdb=10000 Web=10000
 Wed=3333 Wee=10000 Weg=3333 Wem=10000 Wgb=10000 Wgd=3333 Wgg=10000
 Wgm=10000 Wmb=10000 Wmd=3333 Wme=0 Wmg=0 Wmm=10000
 }}}

 -----------

 Without this ticket, the authorities output lines like the following.

 {{{
 Oct 26 19:55:59.000 [notice] Time to compute a consensus.
 Oct 26 19:55:59.000 [warn] Consensus with empty bandwidth: G=0 M=0 E=0 D=0
 T=0
 Oct 26 19:55:59.000 [warn] Consensus with empty bandwidth: G=0 M=0 E=0 D=0
 T=0
 Oct 26 19:55:59.000 [notice] Consensus computed; uploading signature(s)
 Oct 26 19:55:59.000 [notice] Signature(s) posted.
 Oct 26 19:55:59.000 [warn] No available nodes when trying to choose node.
 Failing.
 Oct 26 19:55:59.000 [warn] No available nodes when trying to choose node.
 Failing.
 Oct 26 19:55:59.000 [warn] Failed to find node for hop 1 of our path.
 Discarding this circuit.
 Oct 26 19:55:59.000 [notice] Uploaded signature(s) to dirserver
 127.0.0.1:7001
 Oct 26 19:55:59.000 [notice] Got a signature from 127.0.0.1. Adding it to
 the pending consensus.
 Oct 26 19:55:59.000 [notice] Added a signature for test001a from
 127.0.0.1.
 Oct 26 19:56:00.000 [notice] Time to fetch any signatures that we're
 missing.
 Oct 26 19:56:00.000 [warn] No available nodes when trying to choose node.
 Failing.
 Oct 26 19:56:00.000 [warn] No available nodes when trying to choose node.
 Failing.
 Oct 26 19:56:00.000 [warn] Failed to find node for hop 1 of our path.
 Discarding this circuit.
 Oct 26 19:56:01.000 [notice] Time to publish the consensus and discard old
 votes
 Oct 26 19:56:01.000 [notice] Published ns consensus

 }}}

 And there is no bandwidth-weights line.

 -----------

 I hope this helps answer some questions.

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


More information about the tor-bugs mailing list