Opened 11 months ago

Last modified 9 months ago

#28702 needs_information defect

bootstrapping slow at times

Reported by: weasel Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version: Tor: 0.3.4.9
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Hi!

Tor 0.3.4.9, on Debian stretch (Thus linked against libssl 1.1.0f-3+deb9u2), sometimes bootstraps slowly.

The times in the following samples are times (in seconds) from process launch (with a non-existing data directory) until PROGRESS=100 is reported in a getinfo status/bootstrap-phase:

9, 9, 7, 45, 11, 16, 17, 9, 21, 6, 10, 15, 44, 15, 15, 15, 7, 14, 7, 8, 12, 8, 14, 13, 8, 8, 11, 6, 8, 8, 35, 16, 11, 7, 7, 9, 7, 8, 13, 10, 8, 10, 14, 12, 15, 6, 7, 8, 91, 24, 13, 10, 10, 10

Most of the bootstraps are quite comfortable in the sub 20s, but there are a few outliers well above 30 seconds.

This is on an unfiltered network, with low latency and plenty of bandwidth.

Child Tickets

TicketStatusOwnerSummaryComponent
#28703newbootstrapping very slow with filtered networkCore Tor/Tor

Attachments (1)

time-tor-bootstrap (1.3 KB) - added by weasel 11 months ago.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 11 months ago by teor

Keywords: s8-bootstrap-maybe added
Milestone: Tor: unspecified
Sponsor: Sponsor8-can

comment:2 Changed 11 months ago by teor

How can I see the logs from these instances?
If we're going to tweak the bootstrap config, it would help to know where bootstrap is failing, and the errors that it gives.

Changed 11 months ago by weasel

Attachment: time-tor-bootstrap added

comment:3 Changed 11 months ago by weasel

Should be easy to get timings and logs.

Run

while : ; do if ! ./time-tor-bootstrap TOR-TIMING ; then d="tor.fail.$(date +%s)"; mkdir "$d"; mv -v tor-test/log* "$d"; fi; echo; echo "X."; sleep 3; done

if all you care about is the cases when we went over the timeout. Run

while : ; do ./time-tor-bootstrap TOR-TIMING ; d="tor.logs.$(date +%s)"; mkdir "$d" && mv -v tor-test/log* "$d"; echo; echo "X."; sleep 3; done

if you care about them all.

Best to run this as a dedicated user, because the code drops files all over . and/or ~.

To drop all but http(s), use something like

# iptables -I OUTPUT -m owner --uid-owner w-test -j DROP
# iptables -I OUTPUT -m owner --uid-owner w-test -p tcp -m multiport --dports 80,443 -j ACCEPT

where w-test is the user in question.

comment:4 Changed 9 months ago by gaba

Keywords: s8-bootstrap-maybe removed
Sponsor: Sponsor8-can

related https://trac.torproject.org/projects/tor/ticket/28703

comment:5 Changed 9 months ago by teor

Status: newneeds_information

We rebuilt the fallback list and released it in Tor 0.3.5.6-rc.

Are Tor versions with the new list faster to bootstrap?

Note: See TracTickets for help on using tickets.