[tor-bugs] #24661 [Core Tor/Tor]: accept a reasonably live consensus for guard selection

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Nov 23 07:19:58 UTC 2018


#24661: accept a reasonably live consensus for guard selection
-------------------------------------------------+-------------------------
 Reporter:  catalyst                             |          Owner:  teor
     Type:  defect                               |         Status:
                                                 |  needs_review
 Priority:  Medium                               |      Milestone:  Tor:
                                                 |  0.4.0.x-final
Component:  Core Tor/Tor                         |        Version:  Tor:
                                                 |  0.3.0.1-alpha
 Severity:  Normal                               |     Resolution:
 Keywords:  bootstrap, clock-skew,               |  Actual Points:
  s8-bootstrap, s8-errors, ux, 035-backport-     |
  maybe, 034-backport-maybe-not, 033-backport-   |
  maybe-not, 033-triage-20180320, 034-roadmap-   |
  proposed, 034-triage-20180328,                 |
  034-included-20180328, 034-deferred-20180602,  |
  035-removed-20180711                           |
Parent ID:  #23605                               |         Points:  1
 Reviewer:                                       |        Sponsor:
                                                 |  Sponsor8-can
-------------------------------------------------+-------------------------

Comment (by teor):

 When I set my clock 12 hours behind, I see this error with maint-0.3.5 and
 my branch:
 {{{
 $ src/app/tor
 Nov 23 05:07:03.296 [notice] Tor 0.3.5.5-alpha-dev (git-a9820f072bf1bd79)
 running on Darwin with Libevent 2.1.8-stable, OpenSSL 1.0.2p, Zlib 1.2.11,
 Liblzma 5.2.4, and Libzstd 1.3.7.
 ...
 Nov 23 05:07:03.000 [notice] Bootstrapped 0%: Starting
 Nov 23 05:07:03.000 [notice] Starting with guard context "default"
 Nov 23 05:07:04.000 [notice] Bootstrapped 5%: Connecting to directory
 server
 Nov 23 05:07:05.000 [notice] Bootstrapped 10%: Finishing handshake with
 directory server
 Nov 23 05:07:06.000 [notice] Bootstrapped 15%: Establishing an encrypted
 directory connection
 Nov 23 05:07:06.000 [notice] Bootstrapped 20%: Asking for networkstatus
 consensus
 Nov 23 05:07:06.000 [notice] Bootstrapped 25%: Loading networkstatus
 consensus
 Nov 23 05:07:10.000 [notice] I learned some more directory information,
 but not enough to build a circuit: We have no usable consensus.
 Nov 23 05:07:10.000 [notice] Bootstrapped 40%: Loading authority key certs
 Nov 23 05:07:12.000 [warn] Our clock is 10 hours, 52 minutes behind the
 time published in the consensus network status document (2018-11-23
 06:00:00 UTC).  Tor needs an accurate clock to work correctly. Please
 check your time and date settings!
 Nov 23 05:07:12.000 [warn] Received microdesc flavor consensus with skewed
 time (CONSENSUS): It seems that our clock is behind by 10 hours, 52
 minutes, or that theirs is ahead. Tor requires an accurate clock to work:
 please check your time, timezone, and date settings.
 Nov 23 05:07:12.000 [warn] Problem bootstrapping. Stuck at 40%: Loading
 authority key certs. (Clock skew -39169 in microdesc flavor consensus from
 CONSENSUS; CLOCK_SKEW; count 1; recommendation warn; host ? at ?)
 }}}

 When I set my clock 12 hours ahead, on maint-0.3.5 I see:
 {{{
 $ src/app/tor
 Nov 24 05:09:33.482 [notice] Tor 0.3.5.5-alpha-dev (git-a9820f072bf1bd79)
 running on Darwin with Libevent 2.1.8-stable, OpenSSL 1.0.2p, Zlib 1.2.11,
 Liblzma 5.2.4, and Libzstd 1.3.7.
 ...
 Nov 24 05:09:33.000 [notice] Bootstrapped 0%: Starting
 Nov 24 05:09:33.000 [notice] Starting with guard context "default"
 Nov 24 05:09:34.000 [notice] Bootstrapped 5%: Connecting to directory
 server
 Nov 24 05:09:35.000 [notice] Bootstrapped 10%: Finishing handshake with
 directory server
 Nov 24 05:09:36.000 [notice] Bootstrapped 15%: Establishing an encrypted
 directory connection
 Nov 24 05:09:36.000 [notice] Bootstrapped 20%: Asking for networkstatus
 consensus
 Nov 24 05:09:37.000 [notice] Bootstrapped 25%: Loading networkstatus
 consensus
 Nov 24 05:09:41.000 [notice] I learned some more directory information,
 but not enough to build a circuit: We have no usable consensus.
 Nov 24 05:09:42.000 [notice] Bootstrapped 40%: Loading authority key certs
 Nov 24 05:09:44.000 [notice] The current consensus has no exit nodes. Tor
 can only build internal paths, such as paths to onion services.
 Nov 24 05:09:44.000 [notice] Bootstrapped 45%: Asking for relay
 descriptors for internal paths
 Nov 24 05:09:44.000 [notice] I learned some more directory information,
 but not enough to build a circuit: We need more microdescriptors: we have
 0/6279, and can only build 0% of likely paths. (We have 0% of guards bw,
 0% of midpoint bw, and 0% of end bw (no exits in consensus, using mid) =
 0% of path bw.)
 ...
 Nov 24 05:09:49.000 [notice] Bootstrapped 50%: Loading relay descriptors
 for internal paths
 Nov 24 05:09:51.000 [notice] The current consensus contains exit nodes.
 Tor can build exit and internal paths.
 Nov 24 05:09:53.000 [notice] Bootstrapped 57%: Loading relay descriptors
 Nov 24 05:09:57.000 [notice] Bootstrapped 65%: Loading relay descriptors
 Nov 24 05:10:36.000 [notice] Bootstrapped 73%: Loading relay descriptors
 Nov 24 05:11:08.000 [notice] Bootstrapped 78%: Loading relay descriptors
 Nov 24 05:11:08.000 [notice] Bootstrapped 80%: Connecting to the Tor
 network
 Nov 24 05:11:09.000 [warn] Failed to find node for hop #1 of our path.
 Discarding this circuit.
 Nov 24 05:11:09.000 [notice] Our circuit 0 (id: 34) died due to an invalid
 selected path, purpose General-purpose client. This may be a torrc
 configuration issue, or a bug.
 ...
 Nov 24 05:11:15.000 [notice] Bootstrapped 85%: Finishing handshake with
 first hop
 Nov 24 05:11:15.000 [warn] Failed to find node for hop #1 of our path.
 Discarding this circuit.
 ...
 }}}

 And on this branch I see:
 {{{
 $ src/app/tor
 Nov 24 05:13:01.656 [notice] Tor 0.3.5.5-alpha-dev (git-805f75182a87286a)
 running on Darwin with Libevent 2.1.8-stable, OpenSSL 1.0.2p, Zlib 1.2.11,
 Liblzma 5.2.4, and Libzstd 1.3.7.
 ...
 Nov 24 05:13:02.000 [notice] Bootstrapped 0%: Starting
 Nov 24 05:13:02.000 [notice] Starting with guard context "default"
 Nov 24 05:13:03.000 [notice] Bootstrapped 5%: Connecting to directory
 server
 Nov 24 05:13:03.000 [notice] Bootstrapped 10%: Finishing handshake with
 directory server
 Nov 24 05:13:04.000 [notice] Bootstrapped 15%: Establishing an encrypted
 directory connection
 Nov 24 05:13:05.000 [notice] Bootstrapped 20%: Asking for networkstatus
 consensus
 Nov 24 05:13:05.000 [notice] Bootstrapped 25%: Loading networkstatus
 consensus
 Nov 24 05:13:09.000 [notice] I learned some more directory information,
 but not enough to build a circuit: We have no usable consensus.
 Nov 24 05:13:09.000 [notice] Bootstrapped 40%: Loading authority key certs
 Nov 24 05:13:11.000 [notice] The current consensus has no exit nodes. Tor
 can only build internal paths, such as paths to onion services.
 Nov 24 05:13:11.000 [notice] Bootstrapped 45%: Asking for relay
 descriptors for internal paths
 Nov 24 05:13:11.000 [notice] I learned some more directory information,
 but not enough to build a circuit: We need more microdescriptors: we have
 0/6251, and can only build 0% of likely paths. (We have 0% of guards bw,
 0% of midpoint bw, and 0% of end bw (no exits in consensus, using mid) =
 0% of path bw.)
 Nov 24 05:13:13.000 [notice] Bootstrapped 50%: Loading relay descriptors
 for internal paths
 Nov 24 05:13:15.000 [notice] The current consensus contains exit nodes.
 Tor can build exit and internal paths.
 Nov 24 05:13:19.000 [notice] Bootstrapped 57%: Loading relay descriptors
 Nov 24 05:13:19.000 [notice] Bootstrapped 63%: Loading relay descriptors
 Nov 24 05:13:19.000 [notice] Bootstrapped 68%: Loading relay descriptors
 Nov 24 05:13:19.000 [notice] Bootstrapped 75%: Loading relay descriptors
 Nov 24 05:13:19.000 [notice] Bootstrapped 80%: Connecting to the Tor
 network
 Nov 24 05:13:19.000 [notice] Bootstrapped 90%: Establishing a Tor circuit
 Nov 24 05:13:21.000 [notice] Bootstrapped 100%: Done
 }}}

 So this particular bug appears to be fixed.

 I opened #28591 for the "future consensus" case.

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


More information about the tor-bugs mailing list