Opened 13 years ago

Last modified 7 years ago

#265 closed defect (Fixed)

Tor fails to bootstrap if 24 hours pass without running it

Reported by: arma Owned by:
Priority: High Milestone: 0.1.1.x-final
Component: Core Tor/Tor Version: 0.1.1.12-alpha
Severity: Keywords:
Cc: arma Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

If I run my Tor client, then close it and wait 24 hours, it will fail
to realize that it has enough directory info to try to build circuits.

Restarting the Tor client a bunch of times doesn't seem to fix anything.

I need to rm -rf my .tor directory before it will start working again.

More investigation needed, but I presume the bug is that in one part of
the code it believes something is new enough that it doesn't need to fetch
another one, but in another part of the code it believes it's not new
enough to use.

[Automatically added by flyspray2trac: Operating System: All]

Child Tickets

Change History (6)

comment:1 Changed 13 years ago by nickm

Oh, fun! Here's the bug.

When 2/3 cached network statuses are older than 24 hours, they are still valid (and
they remain valid until the 48 hour mark). But this means that when we compute which
descriptors are recommended by >1/2 of the authorities, we'll decide that only the old
ones are valid, so we won't bother downloading them. So we won't have enough router
descriptors.

I think the solution is to bring NETWORKSTATUS_MAX_SKEW more in line with ROUTER_MAX_AGE.
But before I do, I think we should think about this a little more to think about whether
it really solves the problem.

comment:2 Changed 13 years ago by nickm

Also, the reason weasel and I couldn't reproduce is that the behavior only occurs when
the cached-status objects are over 24 hours old, but less than 48.

comment:3 Changed 13 years ago by nickm

Possibly, NETWORKSTATUS_MAX_SKEW should be *less* than ROUTER_MAX_AGE.

comment:4 Changed 13 years ago by arma

The fix was to raise ROUTER_MAX_AGE to 48 hours, and to ensure that
network-status entries don't include descriptors that are more than
24 hours old. Now we'll believe in descriptors that we have rather
than get trapped feeling happy with the network-statuses that we have
but not wanting to fetch any descriptors.

comment:5 Changed 13 years ago by arma

flyspray2trac: bug closed.

comment:6 Changed 7 years ago by nickm

Component: Tor ClientTor
Note: See TracTickets for help on using tickets.