[tor-bugs] #27381 [Core Tor/Tor]: Bad consensus diffs on 0.3.4 and later

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Aug 29 12:43:59 UTC 2018


#27381: Bad consensus diffs on 0.3.4 and later
------------------------------+--------------------------------
     Reporter:  teor          |      Owner:  teor
         Type:  defect        |     Status:  assigned
     Priority:  Medium        |  Milestone:  Tor: 0.3.4.x-final
    Component:  Core Tor/Tor  |    Version:
     Severity:  Normal        |   Keywords:  tor-auth, 034-must
Actual Points:                |  Parent ID:
       Points:                |   Reviewer:
      Sponsor:                |
------------------------------+--------------------------------
 An 0.3.4 authority triggered this error on another authority:
 {{{
 Summary: nodes
 Detail: chutney/tools/warnings.sh /Users/base/chutney/net/nodes.1535545138
 Warning: Could not apply consensus diff received from server
 '127.0.0.1:7001' Number: 1
 Warning: Expected:
 D086F055796593B54352BA551F2CFC59A7CB9CE1C0E0BDC339C7B16BEB233D41; found:
 C81D53C1D18C0889500FB727B40C69E4716D7E9C8F3D8731D0F43B2F44BC03B1 Number: 1
 Warning: Refusing to apply consensus diff because the base consensus
 doesn't match the digest as found in the consensus diff header. Number: 1
 }}}

 But the authority that delivered the bad consensus diff seems fine:
 {{{
 Aug 29 22:19:16.813 [notice] Time to vote.
 Aug 29 22:19:16.817 [notice] Choosing valid-after time in vote as
 2018-08-29 12:19:20: consensus_set=1, last_interval=10
 Aug 29 22:19:16.834 [notice] Vote posted.
 Aug 29 22:19:16.847 [notice] Uploaded a vote to dirserver 127.0.0.1:7002
 Aug 29 22:19:16.855 [notice] Uploaded a vote to dirserver 127.0.0.1:7003
 Aug 29 22:19:16.857 [notice] Uploaded a vote to dirserver 127.0.0.1:7000
 Aug 29 22:19:17.818 [notice] Time to fetch any votes that we're missing.
 Aug 29 22:19:18.700 [notice] Got a signature from 127.0.0.1. Queuing it
 for the next consensus.
 Aug 29 22:19:18.822 [notice] Time to compute a consensus.
 Aug 29 22:19:18.826 [notice] Computed bandwidth weights for Case 2b1
 (Wgg=weight_scale, Wmd=Wgd) with v10: G=1 M=1 E=1 D=1 T=4
 Aug 29 22:19:18.829 [notice] Bandwidth-weight Case 1 is verified and
 valid.
 Aug 29 22:19:18.835 [notice] Computed bandwidth weights for Case 2b1
 (Wgg=weight_scale, Wmd=Wgd) with v10: G=1 M=1 E=1 D=1 T=4
 Aug 29 22:19:18.840 [notice] Bandwidth-weight Case 1 is verified and
 valid.
 Aug 29 22:19:18.843 [notice] Added a signature for test000a from pending.
 Aug 29 22:19:18.850 [notice] Added 2 pending signatures while building
 consensus.
 Aug 29 22:19:18.850 [notice] Consensus computed; uploading signature(s)
 Aug 29 22:19:18.855 [notice] Signature(s) posted.
 Aug 29 22:19:18.865 [notice] Uploaded signature(s) to dirserver
 127.0.0.1:7002
 Aug 29 22:19:18.867 [notice] Uploaded signature(s) to dirserver
 127.0.0.1:7003
 Aug 29 22:19:18.880 [notice] Uploaded signature(s) to dirserver
 127.0.0.1:7000
 Aug 29 22:19:19.177 [notice] Got a signature from 127.0.0.1. Adding it to
 the pending consensus.
 Aug 29 22:19:19.179 [notice] Added a signature for test003aOLD from
 127.0.0.1.
 Aug 29 22:19:19.228 [notice] Got a signature from 127.0.0.1. Adding it to
 the pending consensus.
 Aug 29 22:19:19.229 [notice] Added a signature for test002aOLD from
 127.0.0.1.
 Aug 29 22:19:19.828 [notice] Time to fetch any signatures that we're
 missing.
 Aug 29 22:19:20.829 [notice] Time to publish the consensus and discard old
 votes
 Aug 29 22:19:20.835 [notice] Published ns consensus
 Aug 29 22:19:20.854 [notice] Published microdesc consensus
 Aug 29 22:19:26.839 [notice] Time to vote.
 }}}

 As does the authority that received the bad diff, until it gets the diff:
 {{{
 Aug 29 22:19:17.146 [notice] Time to vote.
 Aug 29 22:19:17.150 [notice] Choosing valid-after time in vote as
 2018-08-29 12:19:20: consensus_set=1, last_interval=10
 Aug 29 22:19:17.160 [notice] Vote posted.
 Aug 29 22:19:17.174 [notice] Uploaded a vote to dirserver 127.0.0.1:7000
 Aug 29 22:19:17.175 [notice] Uploaded a vote to dirserver 127.0.0.1:7001
 Aug 29 22:19:17.178 [notice] Uploaded a vote to dirserver 127.0.0.1:7002
 Aug 29 22:19:18.146 [notice] Time to fetch any votes that we're missing.
 Aug 29 22:19:18.703 [notice] Got a signature from 127.0.0.1. Queuing it
 for the next consensus.
 Aug 29 22:19:18.861 [notice] Got a signature from 127.0.0.1. Queuing it
 for the next consensus.
 Aug 29 22:19:19.146 [notice] Time to compute a consensus.
 Aug 29 22:19:19.149 [notice] Computed bandwidth weights for Case 2b1
 (Wgg=weight_scale, Wmd=Wgd) with v10: G=1 M=1 E=1 D=1 T=4
 Aug 29 22:19:19.151 [notice] Bandwidth-weight Case 1 is verified and
 valid.
 Aug 29 22:19:19.154 [notice] Computed bandwidth weights for Case 2b1
 (Wgg=weight_scale, Wmd=Wgd) with v10: G=1 M=1 E=1 D=1 T=4
 Aug 29 22:19:19.156 [notice] Bandwidth-weight Case 1 is verified and
 valid.
 Aug 29 22:19:19.158 [notice] Added a signature for test000a from pending.
 Aug 29 22:19:19.162 [notice] Added a signature for test001a from pending.
 Aug 29 22:19:19.166 [notice] Added 4 pending signatures while building
 consensus.
 Aug 29 22:19:19.167 [notice] Consensus computed; uploading signature(s)
 Aug 29 22:19:19.170 [notice] Signature(s) posted.
 Aug 29 22:19:19.181 [notice] Uploaded signature(s) to dirserver
 127.0.0.1:7002
 Aug 29 22:19:19.194 [notice] Uploaded signature(s) to dirserver
 127.0.0.1:7001
 Aug 29 22:19:19.198 [notice] Uploaded signature(s) to dirserver
 127.0.0.1:7000
 Aug 29 22:19:19.231 [notice] Got a signature from 127.0.0.1. Adding it to
 the pending consensus.
 Aug 29 22:19:19.232 [notice] Added a signature for test002aOLD from
 127.0.0.1.
 Aug 29 22:19:20.146 [notice] Time to fetch any signatures that we're
 missing.
 Aug 29 22:19:21.148 [notice] Time to publish the consensus and discard old
 votes
 Aug 29 22:19:21.152 [notice] Published ns consensus
 Aug 29 22:19:21.158 [notice] Published microdesc consensus
 Aug 29 22:19:21.180 [warn] Refusing to apply consensus diff because the
 base consensus doesn't match the digest as found in the consensus diff
 header.
 Aug 29 22:19:21.181 [warn] Expected:
 D086F055796593B54352BA551F2CFC59A7CB9CE1C0E0BDC339C7B16BEB233D41; found:
 C81D53C1D18C0889500FB727B40C69E4716D7E9C8F3D8731D0F43B2F44BC03B1
 Aug 29 22:19:21.181 [warn] Could not apply consensus diff received from
 server '127.0.0.1:7001'
 Aug 29 22:19:27.147 [notice] Time to vote.
 }}}

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


More information about the tor-bugs mailing list