Opened 5 years ago

Closed 3 years ago

#16455 closed defect (not a bug)

not all get_consensus() relays are in get_server_descriptors()

Reported by: cypherpunks Owned by: atagar
Priority: Low Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: get_consensus, get_server_descriptors, mismatch
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

The reverse is to expected and it's often up to 1000 relays.
However, the mismatch in this case is often anywhere from 1 to 100 relays.

How to replicate:

Code highlighting:

serverdescriptors_dict = dict((str(x.fingerprint), x) for x in DescriptorDownloader().get_server_descriptors().run())
consensus_list = [x for x in DescriptorDownloader().get_consensus().run()]

mismatch_count = len([x.fingerprint for x in consensus_list if x.fingerprint not in serverdescriptors_dict])

Here are the results from multiple runs:

88
16
91
1
1
86
1
88
90
90
17

Unclear where this bug is, it could be in the TOR protocol itself perhaps.

Child Tickets

Change History (9)

comment:1 Changed 5 years ago by cypherpunks

Forgot to mention: The use of str.upper() has no effect, so this bug is not related to wrong case in fingerprints.

comment:2 Changed 5 years ago by atagar

Component: StemTor
Priority: normalminor

Not a Stem issue. We just report what's in the tor consensus or server descriptors. Sending over to the main Tor component.

comment:3 Changed 5 years ago by nickm

Resolution: not a bug
Status: newclosed

Not a tor issue either, I think. It is totally legit for there to be a relay listed in the consensus that your Tor client doesn't currently have a descriptor for. (This can happen if, for example, you didn't download it yet.)

comment:4 Changed 5 years ago by atagar

Resolution: not a bug
Status: closedreopened

Hi Nick. Reopening since I think you misunderstook the question a tad - this isn't for fetching a descriptor from the control port. Rather, he's downloading them from the dirauths.

Certainly still might be 'no issue', just different.

comment:5 Changed 4 years ago by teor

Milestone: Tor: 0.2.???

comment:6 Changed 3 years ago by teor

Milestone: Tor: 0.2.???Tor: 0.3.???

Milestone renamed

comment:7 Changed 3 years ago by nickm

Keywords: tor-03-unspecified-201612 added
Milestone: Tor: 0.3.???Tor: unspecified

Finally admitting that 0.3.??? was a euphemism for Tor: unspecified all along.

comment:8 Changed 3 years ago by nickm

Keywords: tor-03-unspecified-201612 removed

Remove an old triaging keyword.

comment:9 Changed 3 years ago by nickm

Resolution: not a bug
Severity: Normal
Status: reopenedclosed

Still not a bug: it's totally possible for a download to fail when something is in the consensus.

Note: See TracTickets for help on using tickets.