Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2020-06-13T15:52:37Zhttps://gitlab.torproject.org/legacy/trac/-/issues/33757Fix log message when multiple tors try the same data directory2020-06-13T15:52:37ZteorFix log message when multiple tors try the same data directoryWhen a user launches two tor processes in the same data directory, they get these confusing logs:
```
Mar 29 17:45:08.000 [warn] It looks like another Tor process is running with the same data directory. Waiting 5 seconds to see if it g...When a user launches two tor processes in the same data directory, they get these confusing logs:
```
Mar 29 17:45:08.000 [warn] It looks like another Tor process is running with the same data directory. Waiting 5 seconds to see if it goes away.
Mar 29 17:45:13.000 [err] No, it's still there. Exiting.
Mar 29 17:45:13.000 [err] set_options(): Bug: Acting on config options left us in a broken state. Dying. (on Tor 0.4.2.7 )
Mar 29 17:45:13.000 [err] Reading config failed--see warnings above.
Mar 29 19:55:41.000 [notice] Catching signal TERM, exiting cleanly.
```
Full logs:
https://lists.torproject.org/pipermail/tor-relays/2020-March/018306.html
I don't think the bug log should be there.Tor: 0.4.4.x-finalGeorge KadianakisGeorge Kadianakishttps://gitlab.torproject.org/legacy/trac/-/issues/32961Backport the diagnostic logs for is_possible_guard crash2020-06-13T15:49:59ZteorBackport the diagnostic logs for is_possible_guard crashLet's backport this PR to diagnose the #32868 is_possible_guard crash:
* 0.3.5: https://github.com/torproject/tor/pull/1661Let's backport this PR to diagnose the #32868 is_possible_guard crash:
* 0.3.5: https://github.com/torproject/tor/pull/1661Tor: 0.4.2.x-finalteorteorhttps://gitlab.torproject.org/legacy/trac/-/issues/32165On first boot, Tor mistakenly tells me "The current consensus has no exit nodes"2020-06-13T15:47:00ZRoger DingledineOn first boot, Tor mistakenly tells me "The current consensus has no exit nodes"Starting up 0.4.3.0-alpha-dev (git-71daad1692bc3f24) without any cached-* files in my DataDirectory, I get:
```
Oct 20 04:44:56.026 [notice] Bootstrapped 30% (loading_status): Loading networkstatus consensus
Oct 20 04:44:56.636 [notice] ...Starting up 0.4.3.0-alpha-dev (git-71daad1692bc3f24) without any cached-* files in my DataDirectory, I get:
```
Oct 20 04:44:56.026 [notice] Bootstrapped 30% (loading_status): Loading networkstatus consensus
Oct 20 04:44:56.636 [notice] I learned some more directory information, but not enough to build a circuit: We have no usable consensus.
Oct 20 04:44:56.758 [notice] Bootstrapped 40% (loading_keys): Loading authority key certs
Oct 20 04:44:56.936 [notice] The current consensus has no exit nodes. Tor can only build internal paths, such as paths to onion services.
Oct 20 04:44:56.936 [notice] Bootstrapped 45% (requesting_descriptors): Asking for relay descriptors
Oct 20 04:44:56.936 [notice] I learned some more directory information, but not enough to build a circuit: We need more microdescriptors: we have 0/5841, 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.)
Oct 20 04:44:57.337 [notice] Bootstrapped 50% (loading_descriptors): Loading relay descriptors
Oct 20 04:44:57.592 [notice] The current consensus contains exit nodes. Tor can build exit and internal paths.
Oct 20 04:44:58.178 [notice] Bootstrapped 58% (loading_descriptors): Loading relay descriptors
```
It's that "The current consensus has no exit nodes." line that is out of place.Tor: 0.4.4.x-finalAlexander Færøyahf@torproject.orgAlexander Færøyahf@torproject.orghttps://gitlab.torproject.org/legacy/trac/-/issues/31644NumPrimaryGuards is set to 6, but the log file keep reports that is missing d...2020-06-13T15:45:17Zs7rNumPrimaryGuards is set to 6, but the log file keep reports that is missing descriptors for 1/3 of our primary entry guardsA Tor instance running with `NumPrimaryGuards = 6` and `NumEntryGuards = 2` will report:
```
Sep 05 03:22:50.000 [notice] Our directory information is no longer up-to-date enough to build circuits: We're missing descriptors for 1/3 of o...A Tor instance running with `NumPrimaryGuards = 6` and `NumEntryGuards = 2` will report:
```
Sep 05 03:22:50.000 [notice] Our directory information is no longer up-to-date enough to build circuits: We're missing descriptors for 1/3 of our primary entry guards (total microdescriptors: 6515/6541).
Sep 05 03:22:50.000 [notice] I learned some more directory information, but not enough to build a circuit: We're missing descriptors for 1/3 of our primary entry guards (total microdescriptors: 6515/6541).
```
We expect to run with 6 primary entry guards and use 2/6 of them all the time, so it should complain about missing descriptors for 1/6 or our primary entry guards. Or maybe this param is not processed correctly and updated in the state file.
When `NumPrimaryGuards` changes its value, we should sample more guards as primary in the existent state file, or create one if it doesn't exist with the right number of primary guards.Tor: unspecifiedhttps://gitlab.torproject.org/legacy/trac/-/issues/29780Run travis with python2 and python32020-06-13T15:39:23ZteorRun travis with python2 and python3We should make sure all of tor's test python scripts run in environments where python3 is the default.
(Scripts are also allowed to explicitly require python3. But they can't depend on python2, because it is end of life on 1 Jan 2020.)
...We should make sure all of tor's test python scripts run in environments where python3 is the default.
(Scripts are also allowed to explicitly require python3. But they can't depend on python2, because it is end of life on 1 Jan 2020.)
We should be able to copy the python bits of our chutney travis config into Tor.
Let's just pick the newest python 3?Tor: unspecifiedhttps://gitlab.torproject.org/legacy/trac/-/issues/29261Create consensus parameters to turn off all stats and individual stats2020-06-13T15:37:41ZteorCreate consensus parameters to turn off all stats and individual statsWhen we implement statistics in PrivCount, we'll want to turn off our existing statistics. Let's create consensus parameters for each statistic, and maybe also ExtraInfoStatistics.
We want to make this change as early as possible, so th...When we implement statistics in PrivCount, we'll want to turn off our existing statistics. Let's create consensus parameters for each statistic, and maybe also ExtraInfoStatistics.
We want to make this change as early as possible, so that Tor versions don't publish less safe statistics forever.Tor: unspecifiedhttps://gitlab.torproject.org/legacy/trac/-/issues/28113notify systemd if shutdown will be longer than 30 seconds2020-06-13T15:33:03ZAlex Xunotify systemd if shutdown will be longer than 30 secondscurrently systemd just kills tor if the user sets ShutdownWaitLength more than 30 seconds. we should tell systemd not to kill tor.currently systemd just kills tor if the user sets ShutdownWaitLength more than 30 seconds. we should tell systemd not to kill tor.Tor: unspecifiedAlex XuAlex Xuhttps://gitlab.torproject.org/legacy/trac/-/issues/24661accept a reasonably live consensus for guard selection2020-06-13T16:06:33ZTaylor Yuaccept a reasonably live consensus for guard selectionClients with clocks skewed far enough in the future to never get a live consensus, but still have a reasonably live one, end up downloading descriptors and then getting stuck on guard selection. This is a rather bad user experience beca...Clients with clocks skewed far enough in the future to never get a live consensus, but still have a reasonably live one, end up downloading descriptors and then getting stuck on guard selection. This is a rather bad user experience because bootstrap progress appears to get stuck at 80% or 85% even though something rather fundamental (time of day) is wrong.
It's not clear that a reasonably live consensus is dangerous to use for guard selection, so always accept a reasonably live consensus instead of a live one for guard selection.
Ticket #2878 covers the case of deferring descriptor downloads if the consensus isn't live, which would also improve the UX but might not be necessary if we implement the solution in this ticket.Tor: 0.3.5.x-finalteorteor