[tor-bugs] #21056 [Core Tor/Tor]: Could not pick one of the responsible hidden service directories, because we requested them all recently without success.
Tor Bug Tracker & Wiki
blackhole at torproject.org
Thu Dec 22 17:03:08 UTC 2016
#21056: Could not pick one of the responsible hidden service directories, because
we requested them all recently without success.
--------------------------+------------------------------------
Reporter: joeyh | Owner:
Type: defect | Status: new
Priority: High | Milestone: Tor: 0.3.0.x-final
Component: Core Tor/Tor | Version: Tor: 0.2.9.8
Severity: Normal | Resolution:
Keywords: tor-hs | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
--------------------------+------------------------------------
Comment (by s7r):
I see exactly the same thing, the descriptor is fetched from the HSDir
with status 200 OK, but Tor thinks all the intro points are not usuable:
{{{
[info] rend_cache_store_v2_desc_as_client(): Service descriptor with
service ID [scrubbed] has no usable intro points. Discarding it.
}}}
This happens with all descriptors fetched from the entire HSDir set, and
once all are fetched an onion service becomes unavailable to a client (but
works perfectly fine from others).
The thing is, it's not a strict rule that it happens only when you open
more concurrent socks requests. It happens (is true rarely but still
happens) with a single socks request as well. Sometimes when opening
multiple socks requests part of them fail, part of them work, until Tor
thinks it tried the last HSDir unsuccessfully and after that all requests
fail, even if sent one at a time. Here are some numbers, note that
concurrent requests are always isolated, the remote onion I connect to is
always the same and were performed consecutively.
Result of total number of 20 requests in batches of 5 simultaneously (14
OK, 6 FAILED):
{{{
Status code distribution:
[200] 14 responses
Error distribution:
[2] Get http://[scrubbed].onion: proxy: SOCKS5 proxy at 127.0.0.1:9150
failed to connect: TTL expired
[1] Get http://[scrubbed].onion: proxy: SOCKS5 proxy at 127.0.0.1:9150
failed to connect: host unreachable
[3] Get http://[scrubbed].onion: proxy: SOCKS5 proxy at 127.0.0.1:9150
failed to connect: host unreachable
}}}
Result of total number of 100 requests in batches of 5 simultaneously (18
OK, 82 FAILED):
{{{
Status code distribution:
[200] 18 responses
Error distribution:
[75] Get http://[scrubbed].onion: proxy: SOCKS5 proxy at 127.0.0.1:9150
failed to connect: host unreachable
[1] Get http://[scrubbed].onion: proxy: SOCKS5 proxy at 127.0.0.1:9150
failed to connect: host unreachable
[1] Get http://[scrubbed].onion: proxy: SOCKS5 proxy at 127.0.0.1:9150
failed to connect: host unreachable
[5] Get http://[scrubbed].onion: proxy: SOCKS5 proxy at 127.0.0.1:9150
failed to connect: TTL expired
}}}
Result of total number of 50 requests, one request at a time (49 OK, 1
FAILED):
{{{
Status code distribution:
[200] 49 responses
Error distribution:
[1] Get http://[scrubbed].onion: proxy: SOCKS5 proxy at 127.0.0.1:9150
failed to connect: TTL expired
}}}
Repeating total of 50 requests, one at a time (26 OK, 24 FAILED):
{{{
Status code distribution:
[200] 26 responses
[24] Get http://[scrubbed].onion: proxy: SOCKS5 proxy at 127.0.0.1:9150
failed to connect: host unreachable
}}}
Total of 100 requests, in batches of 20 simultaneously (100 FAILED):
{{{
Error distribution:
[100] Get http://[scrubbed].onion: proxy: SOCKS5 proxy at 127.0.0.1:9150
failed to connect: host unreachable
}}}
If you request 6 or more simultaneously you are almost guaranteed to have
100% failed connections. With 5 or less simultaneously depends on your
luck I guess, maybe 20% are failed, maybe 60%, maybe 100%.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/21056#comment:5>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list