Guards: Bad network causes supposedly good guards to get disabled
Summary
Bad network connectivity during <ClientCirc as Buildable>::extend
(which does the Ntor Handshake with middle/2ndHop and exit/3rdHop relays), causes arti
to disable supposedly perfectly good guards (1st Hop) and halt functioning (fail to select guards, to be exact).
- Possibly related/similar to #1861 (closed)
- Most supposed root cause for #1951 (closed)
Steps to reproduce:
-
Apply this diff to achieve a poor man's simulation of bad network connectivity during the Ntor Handshake(s) with a middle/exit relay (
ExtendNtor*
):diff
diff --git a/crates/tor-circmgr/src/build.rs b/crates/tor-circmgr/src/build.rs index 24b131a18..d34e2733b 100644 --- a/crates/tor-circmgr/src/build.rs +++ b/crates/tor-circmgr/src/build.rs @@ -319,8 +319,9 @@ impl<R: Runtime, C: Buildable + Sync + Send + 'static> Builder<R, C> { guard_status: Arc<GuardStatusHandle>, usage: ChannelUsage, ) -> Result<Arc<C>> { - let action = Action::BuildCircuit { length: path.len() }; - let (timeout, abandon_timeout) = self.timeouts.timeouts(&action); + let _action = Action::BuildCircuit { length: path.len() }; + // For speeding things up + let (timeout, abandon_timeout) = (Duration::from_secs(2), Duration::from_secs(4)); let start_time = self.runtime.now(); // TODO: This is probably not the best way for build_notimeout to diff --git a/crates/tor-circmgr/src/config.rs b/crates/tor-circmgr/src/config.rs index 144cb4157..887ef05e2 100644 --- a/crates/tor-circmgr/src/config.rs +++ b/crates/tor-circmgr/src/config.rs @@ -312,7 +312,8 @@ fn default_max_dirtiness() -> Duration { /// Return the default value for `request_timeout`. fn default_request_timeout() -> Duration { - Duration::from_secs(60) + // For speeding things up + Duration::from_secs(6) } /// Return the default value for `request_max_retries`. diff --git a/crates/tor-guardmgr/src/guard.rs b/crates/tor-guardmgr/src/guard.rs index 063a1017b..2dd06a82f 100644 --- a/crates/tor-guardmgr/src/guard.rs +++ b/crates/tor-guardmgr/src/guard.rs @@ -766,7 +766,8 @@ impl Guard { failure_ratio: ratio, threshold_ratio: DISABLE_THRESHOLD, }; - warn!(guard=?self.id, "Disabling guard: {:.1}% of circuits died under mysterious circumstances, exceeding threshold of {:.1}%", ratio*100.0, (DISABLE_THRESHOLD*100.0)); + // So that logs can be posted + warn!("Disabling guard {}: {:.1}% of circuits died under mysterious circumstances, exceeding threshold of {:.1}%", *self, ratio*100.0, (DISABLE_THRESHOLD*100.0)); self.disabled = Some(reason.into()); } else if ratio > WARN_THRESHOLD && !self.suspicious_behavior_warned { warn!(guard=?self.id, "Questionable guard: {:.1}% of circuits died under mysterious circumstances.", ratio*100.0); diff --git a/crates/tor-proto/src/tunnel/reactor/control.rs b/crates/tor-proto/src/tunnel/reactor/control.rs index 1eeb02cb9..1af6d68e6 100644 --- a/crates/tor-proto/src/tunnel/reactor/control.rs +++ b/crates/tor-proto/src/tunnel/reactor/control.rs @@ -306,6 +306,8 @@ impl<'a> ControlHandler<'a> { params, done, } => { + // A poor man's simulation of bad network connectivity + std::thread::sleep(std::time::Duration::from_secs(8)); let Ok((_id, circ)) = self.reactor.circuits.single_leg_mut() else { // Don't care if the receiver goes away let _ = done.send(Err(tor_error::bad_api_usage!( @@ -345,6 +347,8 @@ impl<'a> ControlHandler<'a> { params, done, } => { + // A poor man's simulation of bad network connectivity + std::thread::sleep(std::time::Duration::from_secs(8)); let Ok((_id, circ)) = self.reactor.circuits.single_leg_mut() else { // Don't care if the receiver goes away let _ = done.send(Err(tor_error::bad_api_usage!(
HEAD
$ git show HEAD commit 2cc1debe194baf130b85a8b7f294d0f11314580b (HEAD -> 1951, origin/main, origin/HEAD, main) Merge: 37c0c70ac 02798ffc1 Author: Jim Newsome <jnewsome@torproject.org> Date: Thu May 1 22:05:22 2025 -0500 Merge branch 'revert-workaround' into 'main' ci: bump shadow for EPOLLRDHUP fix Closes #1972 See merge request tpo/core/arti!2968
-
Optionally delete
~/.local/share/arti/state/guards.json
. This is just to put emphasis on the fact that totally fresh/new guards pulled in from the Tor directory also get disabled forever. -
Run
arti proxy
and wait (check logs for time period) till logs from #1951 (closed) can be seen (Unable to select a guard relay: No usable guards. Rejected 60/60 as down...
), then terminatearti
. -
Optionally relaunch
arti
without changing anything, encounterarti
still failing to select guards. -
"Fix" the bad network (
git stash
) -
Repeat Step 3.
What is the current bug behavior?
- Bad network connectivity during
<ClientCirc as Buildable>::extend
(which does the Ntor Handshake with middle/2ndHop and exit/3rdHop relays), causesarti
to disable supposedly perfectly good guards (1st Hop). - Bad network connectivity persists, and totally fresh/new guards pulled in from the Tor directory are disabled.
-
max_sample_size
is hit, will all the guards in sample being disabled. - Even if network connectivity is restored,
arti
fails to select guards.
What is the expected behavior?
arti
does not disable guards that experience failure owing to environmental conditions (here: bad network), and keeps functioning as usual.
Environment
- Version:
Arti 1.4.3
- Operating system: Arch Linux,
linux-lts 6.12.18-1
- Install method: from git
Relevant logs and/or screenshots:
Pretty long logs
$ alias arti
alias arti='cargo run --profile quicktest --all-features -p arti -- '
$ time arti proxy
Compiling tor-proto v0.30.0 (/home/name-redacted/oss/arti/crates/tor-proto)
Compiling tor-chanmgr v0.30.0 (/home/name-redacted/oss/arti/crates/tor-chanmgr)
Compiling tor-guardmgr v0.30.0 (/home/name-redacted/oss/arti/crates/tor-guardmgr)
Compiling tor-ptmgr v0.30.0 (/home/name-redacted/oss/arti/crates/tor-ptmgr)
Compiling tor-circmgr v0.30.0 (/home/name-redacted/oss/arti/crates/tor-circmgr)
Compiling tor-dirclient v0.30.0 (/home/name-redacted/oss/arti/crates/tor-dirclient)
Compiling tor-hsservice v0.30.0 (/home/name-redacted/oss/arti/crates/tor-hsservice)
Compiling tor-dirmgr v0.30.0 (/home/name-redacted/oss/arti/crates/tor-dirmgr)
Compiling tor-hsclient v0.30.0 (/home/name-redacted/oss/arti/crates/tor-hsclient)
Compiling arti-client v0.30.0 (/home/name-redacted/oss/arti/crates/arti-client)
Compiling tor-hsrproxy v0.30.0 (/home/name-redacted/oss/arti/crates/tor-hsrproxy)
Compiling arti-rpcserver v0.30.0 (/home/name-redacted/oss/arti/crates/arti-rpcserver)
Compiling arti v1.4.3 (/home/name-redacted/oss/arti/crates/arti)
Finished `quicktest` profile [optimized] target(s) in 51.79s
Running `target/quicktest/arti proxy`
2025-05-02T10:03:16Z INFO arti::subcommands::proxy: Starting Arti 1.4.3 in SOCKS proxy mode on localhost port 9150 ...
2025-05-02T10:03:16Z INFO arti_client::client: Using keystore from "/home/name-redacted/.local/share/arti/keystore"
2025-05-02T10:03:16Z INFO tor_hsservice: Using existing identity for service name-redacted: [scrubbed]
2025-05-02T10:03:16Z INFO tor_hsservice: Launching onion service nickname=name-redacted
2025-05-02T10:03:17Z INFO tor_dirmgr: Marked consensus usable.
2025-05-02T10:03:17Z INFO tor_dirmgr: Loaded a good directory from cache.
2025-05-02T10:03:17Z INFO arti::subcommands::proxy: Sufficiently bootstrapped; system SOCKS now functional.
2025-05-02T10:03:17Z INFO arti::socks: Listening on [::1]:9150.
2025-05-02T10:03:17Z INFO arti::socks: Listening on 127.0.0.1:9150.
2025-05-02T10:03:17Z INFO arti::reload_cfg: Successfully reloaded configuration.
2025-05-02T10:03:17Z INFO tor_dirmgr: Marked consensus usable.
2025-05-02T10:03:17Z INFO tor_dirmgr: Directory is complete. attempt=1
2025-05-02T10:03:19Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:03:27Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:03:27Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:03:27Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:03:27Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:03:27Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:03:27Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:03:27Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 2 times, but all attempts failed
Attempt 1: Circuit took too long to build
Attempt 2: Spent too long trying to construct circuits for this request
2025-05-02T10:03:27Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 2 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Spent too long trying to construct circuits for this request
2025-05-02T10:03:27Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 2 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Spent too long trying to construct circuits for this request
2025-05-02T10:03:27Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:03:29Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:03:31Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:03:35Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:03:35Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:03:35Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:03:37Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:03:37Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:03:39Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:03:45Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:03:45Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:03:45Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:03:45Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit took too long to build
Attempt 2: Circuit took too long to build
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:03:45Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:03:45Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:03:45Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:03:45Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:03:45Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:03:47Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:03:47Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:03:55Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:04:02Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:04:02Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:04:02Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:04:02Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:04:02Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:04:02Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:04:02Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 2 times, but all attempts failed
Attempt 1: Circuit took too long to build
Attempt 2: Spent too long trying to construct circuits for this request
2025-05-02T10:04:02Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 2 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Spent too long trying to construct circuits for this request
2025-05-02T10:04:02Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 2 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Spent too long trying to construct circuits for this request
2025-05-02T10:04:04Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:04:05Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:04:05Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:04:05Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:04:05Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:04:06Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:04:06Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:04:20Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:04:27Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:04:27Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:04:27Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:04:27Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Circuit took too long to build
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:04:27Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:04:27Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:04:37Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:04:44Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:04:46Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:04:50Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:04:52Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:04:52Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:05:03Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:05:03Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:05:07Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:05:11Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:05:11Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:05:13Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:05:13Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:05:13Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:05:13Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:05:13Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:05:13Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:05:13Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:05:13Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit took too long to build
Attempt 2: Circuit took too long to build
Attempt 3: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:05:13Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:05:13Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:05:23Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:05:23Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:05:26Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:05:29Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:05:41Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:05:41Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:05:43Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:05:43Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:05:46Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:05:49Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:05:53Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:05:53Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:06:17Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:06:17Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:06:17Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:06:17Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Circuit took too long to build
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:06:17Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:06:17Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:06:25Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:06:35Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:06:37Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:06:39Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:06:55Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:07:13Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:07:14Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:07:15Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:07:25Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:07:31Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:07:33Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:07:41Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:07:41Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:07:41Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:07:41Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:07:41Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:07:41Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:07:41Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit took too long to build
Attempt 2: Circuit took too long to build
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:07:41Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:07:41Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:07:57Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:08:14Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:08:15Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:08:28Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:08:38Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:08:38Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:08:38Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:08:38Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:08:38Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:08:38Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit took too long to build
Attempt 3: Circuit took too long to build
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:08:38Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:08:38Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:08:38Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:08:40Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:09:14Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:09:16Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:09:30Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:09:30Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:09:32Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:09:46Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:09:46Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:09:46Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:09:46Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:09:46Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:09:46Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:09:46Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit took too long to build
Attempt 2: Circuit took too long to build
Attempt 3: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:09:46Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:09:46Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:10:03Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:10:05Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:10:05Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:10:27Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:10:29Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:10:49Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:10:51Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:11:09Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:11:11Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:11:39Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:11:39Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:12:03Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:12:06Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:12:06Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:12:06Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:12:06Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:12:06Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:12:06Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:12:06Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit took too long to build
Attempt 2: Circuit took too long to build
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:12:06Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:12:06Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:12:06Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:12:22Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:12:24Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:12:44Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:12:45Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:12:46Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:12:52Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:12:56Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:13:24Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:13:26Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:14:06Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:14:08Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:14:10Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:14:34Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:14:36Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:15:00Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:15:22Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:15:26Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:15:46Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:15:46Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:15:54Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:16:30Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:16:32Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:16:36Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:16:57Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:16:57Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:16:59Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:17:01Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:17:13Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:17:15Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:17:19Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:17:19Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:17:19Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:17:19Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:17:19Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:17:19Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:17:19Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit took too long to build
Attempt 2: Circuit took too long to build
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:17:19Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:17:19Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:17:51Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:17:51Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:17:53Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:18:09Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:18:12Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:18:13Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:18:15Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:19:03Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:19:13Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:19:29Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:19:31Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:19:37Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:20:07Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:20:07Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:20:26Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:20:28Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:20:32Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:20:44Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:20:46Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:20:50Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:21:28Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:21:28Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:21:38Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:22:06Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:22:36Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:22:38Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:22:52Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:22:52Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:22:52Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:22:52Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:22:52Z WARN tor_circmgr::mgr: All circuit attempts failed due to timeout
2025-05-02T10:22:52Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:22:52Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Circuit took too long to build
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:22:52Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:22:52Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 3: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:23:08Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:23:08Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:23:12Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:23:18Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:23:18Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:23:48Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:23:48Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:23:50Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:24:14Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:24:16Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:24:18Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:24:29Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:24:47Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:24:49Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:24:49Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:24:49Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:24:55Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:24:59Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:25:07Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 58/60 as down, then 2/2 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:25:07Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:25:07Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:25:18Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:25:59Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:26:00Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:26:20Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:26:28Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:26:29Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:26:42Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:26:44Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:26:45Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:26:45Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:26:47Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:26:57Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:27:06Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:27:07Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:27:17Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:28:13Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:28:15Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:28:23Z WARN tor_guardmgr::guard: Disabling guard [scrubbed]: 100.0% of circuits died under mysterious circumstances, exceeding threshold of 70.0%
2025-05-02T10:28:27Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:28:27Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:28:27Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:28:37Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:28:47Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:28:57Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:28:57Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:29:07Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:29:17Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:29:27Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:29:27Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:29:37Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:29:50Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:29:57Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:30:07Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:30:12Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:30:17Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:30:27Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:30:37Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:30:42Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:30:47Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:30:57Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:31:07Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:31:12Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:31:17Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:31:27Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:31:37Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:31:41Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:31:45Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:31:47Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:31:57Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:32:07Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:32:15Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:32:17Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:32:27Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:32:37Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:32:37Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:32:47Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:32:57Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:33:07Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:33:07Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:33:17Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:33:37Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:33:37Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:33:38Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:33:38Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:33:38Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:33:38Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 2 times, but all attempts failed
Attempt 1: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
Attempt 2: Spent too long trying to construct circuits for this request
2025-05-02T10:33:38Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 2 times, but all attempts failed
Attempt 1: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
Attempt 2: Spent too long trying to construct circuits for this request
2025-05-02T10:33:38Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 2 times, but all attempts failed
Attempt 1: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
Attempt 2: Spent too long trying to construct circuits for this request
2025-05-02T10:33:47Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:33:57Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:34:11Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:34:17Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:34:27Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:34:37Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:34:41Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:34:47Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:34:57Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:35:07Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:35:12Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:35:17Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:35:17Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:35:27Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:35:37Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:35:47Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:35:47Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:35:57Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:36:07Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
^C2025-05-02T10:36:08Z INFO tor_hsservice::ipt_mgr: HS service name-redacted: terminating due to shutdown signal
real 33m43.610s
user 5m33.641s
sys 0m11.177s
$ # Relaunch arti without changing anything, cause why not?
$ time arti proxy
Compiling tor-circmgr v0.30.0 (/home/name-redacted/oss/arti/crates/tor-circmgr)
Compiling tor-dirclient v0.30.0 (/home/name-redacted/oss/arti/crates/tor-dirclient)
Compiling tor-hsservice v0.30.0 (/home/name-redacted/oss/arti/crates/tor-hsservice)
Compiling tor-hsclient v0.30.0 (/home/name-redacted/oss/arti/crates/tor-hsclient)
Compiling tor-dirmgr v0.30.0 (/home/name-redacted/oss/arti/crates/tor-dirmgr)
Compiling arti-client v0.30.0 (/home/name-redacted/oss/arti/crates/arti-client)
Compiling tor-hsrproxy v0.30.0 (/home/name-redacted/oss/arti/crates/tor-hsrproxy)
Compiling arti-rpcserver v0.30.0 (/home/name-redacted/oss/arti/crates/arti-rpcserver)
Compiling arti v1.4.3 (/home/name-redacted/oss/arti/crates/arti)
Finished `quicktest` profile [optimized] target(s) in 47.62s
Running `target/quicktest/arti proxy`
2025-05-02T10:40:33Z INFO arti::subcommands::proxy: Starting Arti 1.4.3 in SOCKS proxy mode on localhost port 9150 ...
2025-05-02T10:40:33Z INFO arti_client::client: Using keystore from "/home/name-redacted/.local/share/arti/keystore"
2025-05-02T10:40:33Z INFO tor_hsservice: Using existing identity for service name-redacted: [scrubbed]
2025-05-02T10:40:33Z INFO tor_hsservice: Launching onion service nickname=name-redacted
2025-05-02T10:40:34Z INFO arti::reload_cfg: Successfully reloaded configuration.
2025-05-02T10:40:34Z INFO tor_dirmgr: Marked consensus usable.
2025-05-02T10:40:34Z INFO tor_dirmgr: Loaded a good directory from cache.
2025-05-02T10:40:34Z INFO arti::subcommands::proxy: Sufficiently bootstrapped; system SOCKS now functional.
2025-05-02T10:40:34Z INFO arti::socks: Listening on [::1]:9150.
2025-05-02T10:40:34Z INFO arti::socks: Listening on 127.0.0.1:9150.
2025-05-02T10:40:34Z INFO tor_dirmgr: Marked consensus usable.
2025-05-02T10:40:34Z INFO tor_dirmgr: Directory is complete. attempt=1
2025-05-02T10:40:36Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:40:36Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:37Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:37Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:38Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:39Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:39Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:39Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:40Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:40Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:40:40Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:40:40Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:40:40Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit took too long to build
Attempt 2: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:40:40Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:40:40Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Circuit took too long to build
Attempt 2: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:40:40Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:42Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:43Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:43Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:44Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:40:44Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:45Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:47Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:50Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:51Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:40:51Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
^C2025-05-02T10:40:54Z INFO tor_hsservice::ipt_mgr: HS service name-redacted: terminating due to shutdown signal
real 1m8.923s
user 4m32.783s
sys 0m9.330s
$ # "Fix" the bad network
$ git stash
Saved working directory and index state WIP on 1951: 2cc1debe1 Merge branch 'revert-workaround' into 'main'
$ # Run arti again, this time in normal conditions
$ time arti proxy
Compiling tor-proto v0.30.0 (/home/name-redacted/oss/arti/crates/tor-proto)
Compiling tor-chanmgr v0.30.0 (/home/name-redacted/oss/arti/crates/tor-chanmgr)
Compiling tor-guardmgr v0.30.0 (/home/name-redacted/oss/arti/crates/tor-guardmgr)
Compiling tor-ptmgr v0.30.0 (/home/name-redacted/oss/arti/crates/tor-ptmgr)
Compiling tor-circmgr v0.30.0 (/home/name-redacted/oss/arti/crates/tor-circmgr)
Compiling tor-dirclient v0.30.0 (/home/name-redacted/oss/arti/crates/tor-dirclient)
Compiling tor-hsservice v0.30.0 (/home/name-redacted/oss/arti/crates/tor-hsservice)
Compiling tor-hsclient v0.30.0 (/home/name-redacted/oss/arti/crates/tor-hsclient)
Compiling tor-dirmgr v0.30.0 (/home/name-redacted/oss/arti/crates/tor-dirmgr)
Compiling arti-client v0.30.0 (/home/name-redacted/oss/arti/crates/arti-client)
Compiling tor-hsrproxy v0.30.0 (/home/name-redacted/oss/arti/crates/tor-hsrproxy)
Compiling arti-rpcserver v0.30.0 (/home/name-redacted/oss/arti/crates/arti-rpcserver)
Compiling arti v1.4.3 (/home/name-redacted/oss/arti/crates/arti)
Finished `quicktest` profile [optimized] target(s) in 53.57s
Running `target/quicktest/arti proxy`
2025-05-02T10:42:33Z INFO arti::subcommands::proxy: Starting Arti 1.4.3 in SOCKS proxy mode on localhost port 9150 ...
2025-05-02T10:42:33Z INFO arti_client::client: Using keystore from "/home/name-redacted/.local/share/arti/keystore"
2025-05-02T10:42:33Z INFO tor_hsservice: Using existing identity for service name-redacted: [scrubbed]
2025-05-02T10:42:33Z INFO tor_hsservice: Launching onion service nickname=name-redacted
2025-05-02T10:42:34Z INFO tor_dirmgr: Marked consensus usable.
2025-05-02T10:42:34Z INFO tor_dirmgr: Loaded a good directory from cache.
2025-05-02T10:42:34Z INFO arti::subcommands::proxy: Sufficiently bootstrapped; system SOCKS now functional.
2025-05-02T10:42:34Z INFO arti::socks: Listening on [::1]:9150.
2025-05-02T10:42:34Z INFO arti::socks: Listening on 127.0.0.1:9150.
2025-05-02T10:42:34Z INFO tor_dirmgr: Marked consensus usable.
2025-05-02T10:42:34Z INFO tor_dirmgr: Directory is complete. attempt=1
2025-05-02T10:42:34Z INFO arti::reload_cfg: Successfully reloaded configuration.
2025-05-02T10:42:44Z WARN tor_guardmgr::guard: Could not connect to guard [scrubbed]. We'll retry later, and let you know if it succeeds.
2025-05-02T10:42:44Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:42:54Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:42:54Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:42:54Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:42:56Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:42:57Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:42:58Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:42:59Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:42:59Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:43:04Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:43:05Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:43:05Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:43:07Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:43:07Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:43:14Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:43:18Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:43:21Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:43:23Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:43:24Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:43:28Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:43:32Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:43:34Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:43:34Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:43:34Z WARN tor_circmgr::mgr: Request failed
2025-05-02T10:43:34Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Problem opening a channel to [scrubbed]: Channel for [scrubbed] timed out
Attempt 2: Circuit we were waiting for failed to complete: Problem opening a channel to [scrubbed]: Channel for [scrubbed] timed out
Attempt 3: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:43:34Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 4 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Problem opening a channel to [scrubbed]: Channel for [scrubbed] timed out
Attempt 2: Circuit we were waiting for failed to complete: Problem opening a channel to [scrubbed]: Channel for [scrubbed] timed out
Attempt 3: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
Attempt 4: Spent too long trying to construct circuits for this request
2025-05-02T10:43:34Z WARN tor_circmgr: Failed to build preemptive circuit [scrubbed]: error: Tried to find or build a circuit 3 times, but all attempts failed
Attempt 1: Circuit we were waiting for failed to complete: Problem opening a channel to [scrubbed]: Channel for [scrubbed] timed out
Attempt 2: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
Attempt 3: Spent too long trying to construct circuits for this request
2025-05-02T10:43:34Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:43:44Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:43:44Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:43:48Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:43:49Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:43:54Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:43:54Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:44:00Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:44:01Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:44:04Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:44:14Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:44:14Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:44:14Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:44:20Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
2025-05-02T10:44:24Z WARN tor_circmgr: Problem launching a timeout testing circuit: error: Unable to select a guard relay: No usable guards. Rejected 60/60 as down, then 0/0 as pending, then 0/0 as unsuitable to purpose, then 0/0 with filter.
2025-05-02T10:44:26Z WARN tor_circmgr::hspool: Too many preemptive onion service circuits failed; waiting a while.
^C2025-05-02T10:44:27Z INFO tor_hsservice::ipt_mgr: HS service name-redacted: terminating due to shutdown signal
real 2m47.045s
user 5m20.769s
sys 0m10.764s
$ # Still failing to select a guard(s)
Possible fixes:
Doing something of the sort:
Possible fix
diff --git a/crates/tor-circmgr/src/impls.rs b/crates/tor-circmgr/src/impls.rs
index 7828abde1..de11eb70c 100644
--- a/crates/tor-circmgr/src/impls.rs
+++ b/crates/tor-circmgr/src/impls.rs
@@ -126,6 +126,9 @@ impl<R: Runtime> crate::mgr::AbstractCircBuilder<R> for crate::build::CircuitBui
guard_status.pending(GuardStatus::AttemptAbandoned);
+ const MAX_ATTEMPT: usize = 3;
+ for attempt in 1..=MAX_ATTEMPT {
+
// TODO: We may want to lower the logic for handling
// guard_status and guard_usable into build.rs, so that they
// can be handled correctly on user-selected paths as well.
@@ -157,17 +160,32 @@ impl<R: Runtime> crate::mgr::AbstractCircBuilder<R> for crate::build::CircuitBui
return Err(internal!("Guard usability status cancelled").into());
}
}
- Ok((final_spec, circuit))
+ return Ok((final_spec, circuit));
}
+ Err(e @ Error::CircTimeout(uid)) if attempt != MAX_ATTEMPT => {
+ /* how do we check this? */
+ if experiencing_enough_bad_or_slow_network_such_that_ntor_handshake_cant_not_take_place_within_timeouts() {
+ guard_status.pending(GuardStatus::Failure); // <------------+
+ // An apt GuardStatus from the two ->-----------------------+
+ guard_status.pending(GuardStatus::AttemptAbandoned); // <---+
+ guard_status.commit();
+ return Err(e);
+ } else {
+ // Network is/got good. Suspicious, but lets try again?
+ continue;
+ }
+ },
Err(e) => {
// The attempt failed; the builder should have set the
// pending status on the guard to some value which will
// tell the guard manager whether to blame the guard or not.
guard_status.commit();
- Err(e)
+ return Err(e);
}
}
+
+ }
}
fn launch_parallelism(&self, spec: &TargetCircUsage) -> usize {
If the above is implemented, CircuitBuilder::build_owned
could/should also return, in case of circuit timeouts, an Err((CircTimeout, <ClientCirc as Buildable>))
, from down the function call stack:
Function Call Stack |
---|
CircuitBuilder::build_owned |
Builder::build_owned |
Builder::build_notimeout |
This would mean the <ClientCirc as Buildable>
can be reused for the next ExtendNtor*
, and there's no need for multiple Ntor Handshakes to the 1st Hop, inside Builder::build_notimeout
.