[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