[tor-bugs] #18050 [Tor]: Relay submitted a descriptor with 0 DirPort due to a self-test race condition

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Jan 13 21:43:14 UTC 2016


#18050: Relay submitted a descriptor with 0 DirPort due to a self-test race
condition
-------------------------------------------------+-------------------------
 Reporter:  teor                                 |          Owner:
     Type:  defect                               |         Status:  new
 Priority:  Medium                               |      Milestone:  Tor:
Component:  Tor                                  |  0.2.8.x-final
 Severity:  Normal                               |        Version:  Tor:
 Keywords:  026-maybe-backport, 027-maybe-       |  0.2.6.10
  backport                                       |     Resolution:
Parent ID:                                       |  Actual Points:
  Sponsor:                                       |         Points:
-------------------------------------------------+-------------------------

Comment (by starlight):

 Looked briefly at local logs and the logic.  Current design appears to
 always publish a descriptor with DirPort=0 during boot.
 `run_scheduled_events()` publishes a changed descriptor once every 60
 seconds, and the typical boot sequence runs the DirPort reachability at
 slightly over 60 seconds from start.

 {{{
 :16:06 Tor[5806]: Self-testing indicates your ORPort is reachable from the
 outside. Excellent. Publishing server descriptor.
 :16:07 Tor[5806]: Bootstrapped 85%: Finishing handshake with first hop
 :16:07 Tor[5806]: Bootstrapped 90%: Establishing a Tor circuit
 :16:08 Tor[5806]: Tor has successfully opened a circuit. Looks like client
 functionality is working.
 :16:08 Tor[5806]: Bootstrapped 100%: Done
 :17:09 Tor[5806]: Self-testing indicates your DirPort is reachable from
 the outside. Excellent.
 }}}

 When this happens just before the consensus vote time at minute 50 of each
 hour, the race condition identified by Teor occurs.  Reexamined half of
 the above events and in all cases problem descriptor was published at
 46-49 minutes.

 Perhaps `consider_publishable_server()` should be adjusted to delay the
 descriptor until the DirPort test is complete.

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


More information about the tor-bugs mailing list