Lately (in the past few days) the dir auths are not getting all 9 signatures on the same document. Frequently we're getting 5 that sign one and 4 that sign a different one.
Some more digging shows that it's the ns consensus that they're disagreeing about, and the microdesc consensus is actually doing fine:
Jun 24 18:00:00.337 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 6 (dannenberg longclaw bastet moria1 dizum Faravahar). 3 (tor26 maatuska gabelmoo) of the authorities we know didn't sign it.Jun 24 18:00:00.538 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 6 (dannenberg longclaw bastet moria1 dizum Faravahar). 3 (tor26 maatuska gabelmoo) of the authorities we know didn't sign it.Jun 24 18:00:00.643 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This microdesc one has 9 (dannenberg tor26 longclaw bastet maatuska moria1 dizum gabelmoo Faravahar).Jun 24 18:00:00.871 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This microdesc one has 9 (dannenberg tor26 longclaw bastet maatuska moria1 dizum gabelmoo Faravahar).
I've hacked up moria1 to write out the consensus document that it generates, for each flavor, in legacy/trac#4363 (moved). The theory is that we need to figure out how the ns consensus that we generated differs from the one that the other dir auths generated.
Next step is for moria1 to be the minority voter and me to notice it in time, or for more people to start running the patch in legacy/trac#4363 (moved) and try to catch the bug in action for themselves.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
moria1 has always been in the majority since I started tracking:
Jun 24 19:00:00.338 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 5 (dannenberg longclaw bastet moria1 Faravahar). 4 (tor26 maatuska dizum gabelmoo) of the authorities we know didn't sign it.Jun 24 20:00:00.340 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 7 (dannenberg tor26 longclaw bastet moria1 dizum Faravahar). 2 (maatuska gabelmoo) of the authorities we know didn't sign it.Jun 24 21:00:00.341 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 6 (dannenberg longclaw bastet maatuska moria1 Faravahar). 3 (tor26 dizum gabelmoo) of the authorities we know didn't sign it.Jun 24 22:00:00.343 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 7 (dannenberg longclaw bastet maatuska moria1 dizum Faravahar). 2 (tor26 gabelmoo) of the authorities we know didn't sign it.Jun 24 23:00:00.344 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 7 (dannenberg tor26 longclaw bastet maatuska moria1 Faravahar). 2 (dizum gabelmoo) of the authorities we know didn't sign it.Jun 25 00:00:00.346 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 6 (dannenberg tor26 longclaw bastet moria1 Faravahar). 3 (maatuska dizum gabelmoo) of the authorities we know didn't sign it.Jun 25 01:00:00.348 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 5 (tor26 longclaw bastet moria1 Faravahar). 4 (dannenberg maatuska dizum gabelmoo) of the authorities we know didn't sign it.Jun 25 02:00:00.350 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 6 (dannenberg longclaw bastet maatuska moria1 Faravahar). 3 (tor26 dizum gabelmoo) of the authorities we know didn't sign it.Jun 25 03:00:00.351 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 5 (tor26 longclaw bastet moria1 Faravahar). 4 (dannenberg maatuska dizum gabelmoo) of the authorities we know didn't sign it.Jun 25 04:00:00.354 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 6 (dannenberg longclaw bastet maatuska moria1 Faravahar). 3 (tor26 dizum gabelmoo) of the authorities we know didn't sign it.Jun 25 05:00:00.355 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 6 (dannenberg longclaw bastet maatuska moria1 Faravahar). 3 (tor26 dizum gabelmoo) of the authorities we know didn't sign it.Jun 25 06:00:00.357 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 6 (dannenberg tor26 longclaw bastet moria1 Faravahar). 3 (maatuska dizum gabelmoo) of the authorities we know didn't sign it.Jun 25 07:00:00.358 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 6 (dannenberg longclaw bastet maatuska moria1 Faravahar). 3 (tor26 dizum gabelmoo) of the authorities we know didn't sign it.Jun 25 08:00:00.359 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 5 (dannenberg longclaw bastet moria1 Faravahar). 4 (tor26 maatuska dizum gabelmoo) of the authorities we know didn't sign it.Jun 25 09:00:00.362 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 6 (dannenberg longclaw bastet maatuska moria1 Faravahar). 3 (tor26 dizum gabelmoo) of the authorities we know didn't sign it.Jun 25 10:00:00.363 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 6 (dannenberg longclaw bastet maatuska moria1 Faravahar). 3 (tor26 dizum gabelmoo) of the authorities we know didn't sign it.Jun 25 11:00:00.363 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 6 (dannenberg longclaw bastet maatuska moria1 Faravahar). 3 (tor26 dizum gabelmoo) of the authorities we know didn't sign it.Jun 25 12:00:00.364 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 6 (dannenberg tor26 longclaw bastet moria1 Faravahar). 3 (maatuska dizum gabelmoo) of the authorities we know didn't sign it.Jun 25 13:00:00.583 [info] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 7 (dannenberg tor26 longclaw bastet maatuska moria1 Faravahar). 2 (dizum gabelmoo) of the authorities we know didn't sign it.
Meanwhile the microdesc consensus has been rock solid at 9 signatures each time.
Sounds like getting gabelmoo or dizum to apply the legacy/trac#4363 (moved) patch, or maatuska or tor26 and then lots of patience, is the way forward here.
Jun 25 14:00:00.367 [warn] A consensus needs 5 good signatures from recognized authorities for us to accept it. This ns one has 4 (longclaw bastet moria1 Faravahar). 5 (dannenberg tor26 maatuska dizum gabelmoo) of the authorities we know didn't sign it.
And...drum roll please... the diff, ignoring the missing signatures, is:
If that's the only difference, my guess would be that the authorities are running different versions of Tor, and that there is somehow a difference in how these versions generate the client-versions lines.
That said, I can see no reason in 0.2.9 or 0.3.5 why an authority would ever have different versions lines in the ns and md consensuses.
Maybe it would be helpful to know the votes that led to that particular situation above? And to say the exact Tor versions that the authorities were running at the time?
v3-status-votes is the nine votes that went into making cached-consensus and cached-microdesc-consensus. Whereas my-consensus-* are the two files that moria1 wanted to sign.
If that's the only difference, my guess would be that the authorities are running different versions of Tor, and that there is somehow a difference in how these versions generate the client-versions lines.
That said, I can see no reason in 0.2.9 or 0.3.5 why an authority would ever have different versions lines in the ns and md consensuses.
The three dir auths voting about versions were moria1 (running 0.3.5.0), tor26 (running 0.3.3.7), gabelmoo (running 0.3.3.7).
I have narrowed the bug down to some problem with version sorting and comparison. See my branch is_version_sort_reliable for a test that demonstrates the problem.
This actually didn't belong in needs_review -- the branch I made above is diagnostic, but not actually a fix. I'll take on the fix, though, unless somebody else would like to do it.