Opened 11 months ago

Last modified 4 months ago

#27381 assigned defect

Bad consensus diffs on 0.3.4 and later [with chutney]

Reported by: teor Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: tor-auth, regression, teor-unreached-2019-03-08
Cc: Actual Points:
Parent ID: #26310 Points:
Reviewer: Sponsor:

Description

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.

Child Tickets

Change History (10)

comment:1 Changed 11 months ago by teor

Parent ID: #27146

comment:2 Changed 11 months ago by arma

Well, that's exciting -- on the main Tor network, currently only moria1 is on a version past 0.3.3.x. So this seems like a good ticket to understand better before we ask authorities to upgrade. :)

comment:3 Changed 10 months ago by teor

Keywords: 034-must removed
Milestone: Tor: 0.3.4.x-finalTor: 0.3.5.x-final

I think this is a chutney timing issue, and shouldn't appear on the public network. Let's try it and see.

comment:4 Changed 10 months ago by nickm

Sponsor: Sponsor8-can

Noting some tickets in 0.3.5 milestone as 8-can. These include tickets that are bugfixes on bugs caused by earlier sponsor8 work.

comment:5 Changed 8 months ago by nickm

Summary: Bad consensus diffs on 0.3.4 and laterBad consensus diffs on 0.3.4 and later [with chutney]

comment:6 Changed 8 months ago by teor

Parent ID: #27146#26310

Looks like #26310

comment:7 Changed 6 months ago by gaba

Sponsor: Sponsor8-can

comment:8 Changed 5 months ago by nickm

Keywords: regression added

comment:9 Changed 4 months ago by teor

Keywords: teor-unreached-2019-03-08 added
Owner: teor deleted

I'd like to do these tickets, but not in the next few months.

comment:10 Changed 4 months ago by teor

Milestone: Tor: 0.3.5.x-finalTor: unspecified
Note: See TracTickets for help on using tickets.