Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #16455

Closed (moved)
(moved)
Open
Created Jun 27, 2015 by cypherpunks@cypherpunks

not all get_consensus() relays are in get_server_descriptors()

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:
  {{{#!python
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.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking