Opened 12 years ago

Last modified 7 years ago

#447 closed defect (Fixed)

Directory information not kept up to date

Reported by: taral Owned by:
Priority: Low Milestone: 0.2.1.x-final
Component: Core Tor/Tor Version: 0.1.2.14
Severity: Keywords:
Cc: taral, nickm, plebno, arma Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Jun 05 23:14:10.928 [notice] Tor 0.1.2.14 opening log file.
Jun 05 23:14:11.096 [notice] Your Tor server's identity key fingerprint is 'dragon E710 B7B1 BCC6 5FEC E5BA 345C EC8B 81BE A216 318F'
Jun 05 23:14:11.526 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 05 23:14:15.555 [notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.
Jun 05 23:14:24.607 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 05 23:14:54.738 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 05 23:15:03.791 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 05 23:15:08.821 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 05 23:15:09.798 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 05 23:15:09.805 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 05 23:15:13.852 [notice] We now have enough directory information to build circuits.
Jun 05 23:15:18.839 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.
Jun 05 23:15:40.795 [notice] Performing bandwidth self-test...done.
Jun 07 19:51:15.879 [notice] Our directory information is no longer up-to-date enough to build circuits.
Jun 07 19:55:29.929 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 07 20:25:53.705 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 07 20:56:31.611 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 07 21:26:57.203 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 07 21:57:27.637 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 07 22:27:53.741 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 07 22:58:24.316 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 07 23:28:55.848 [notice] I learned some more directory information, but not enough to build a circuit.

It stays stuck here until I poke it:

Jun 07 23:51:32.901 [notice] Application request when we're believed to be offline. Optimistically trying directory fetches again.
Jun 07 23:51:46.292 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 07 23:52:17.430 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 07 23:52:31.504 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 07 23:52:32.514 [notice] I learned some more directory information, but not enough to build a circuit.
Jun 07 23:52:33.512 [notice] We now have enough directory information to build circuits.

Restarting works too. The time delay is usually about the same, just under 2 days. I don't know when this started happening, so I can't tell you if it's due to 0.1.2.14 or not.

[Automatically added by flyspray2trac: Operating System: All]

Child Tickets

Change History (21)

comment:1 Changed 12 years ago by arma

I think your Tor is actually doing the right thing -- after a few days of
inactivity we stop fetching directory stuff, because you haven't needed any
of it recently.

But the log entries are a bug.

comment:2 Changed 12 years ago by taral

Inactivity? I have a registered tor node -- doesn't the thru-traffic count as activity?

comment:3 Changed 12 years ago by taral

Once this mode is entered, it takes *far* too long to get back enough directory information. I would really appreciate a way to tell tor to always keep live directory information. Currently I am poking it once a day with a crontab.

comment:4 Changed 12 years ago by plebno

I have the same problem. Whenever my tor server enters this state, it's throughput decreases significantly (see http://extern.tribut.de/bug-reports/theseus.tribut.de-if_eth0-day.png).

comment:5 Changed 12 years ago by arma

Do you have your DirPort set, or is it 0?

comment:6 Changed 12 years ago by taral

DirPort is not set at all.

comment:7 Changed 12 years ago by plebno

DirPort 9042

comment:8 Changed 12 years ago by nickm

We've rewritten the directory fetch logic pretty extensively in 0.2.0.x, but there may still be cases
where we ought to be fetching directory info, but we aren't. The "rep_hist_circuit_building_dormant()" function
decides whether to fetch, but apparently some times it's deciding wrong.

I'll take a closer look at it to try to figure out whether that's what's up.

comment:9 Changed 12 years ago by taral

I'll turn off my auto-poke crontab and see if the problem reproduces on latest tor.

comment:10 Changed 12 years ago by Athaba

It happens here with the latest alpha version.

comment:11 Changed 12 years ago by taral

Yup:

Jan 9 05:00:00.000 (last time tor was poked)
Jan 11 02:54:55.612 [notice] Our directory information is no longer up-to-date enough to build circuits.

comment:12 Changed 12 years ago by taral

Tor version: Debian 0.1.2.18-1

comment:13 Changed 12 years ago by arma

JP: It's likely to continue having this problem in 0.1.2.x. Nick was referring
to 0.2.0.x.

I am guessing that these are several different people experiencing several
different bugs, so it's hard for me to guess what any of them actually are
because we're blending the symptoms together. Hm.

comment:14 Changed 11 years ago by arma

Moved this to the "post 0.2.0" timeframe since I still don't have enough
to know what is actually going on.

See also bug 648.

comment:15 Changed 11 years ago by jasemandude

Roger, bug 675 might offer a solution (since you refer to bug 648), though it relates to 0.2.0.25-rc

JD

comment:16 Changed 11 years ago by alfredch

Is this behaviour related to that bug?
Tor decides to rebuild the directory information, but 'usable descriptor' counter drops gradually to zero and stays at zero. However, the server continues to serve clients as if nothing had happened.

Apr 24 19:15:41.139 [notice] Tor 0.2.0.24-rc (r14425) opening new log file.
Apr 24 19:15:41.139 [notice] Configured hibernation. This interval began at 2008-04-24 12:00:00; the scheduled wake-up time was 2008-04-24 12:00:00; we expect to exhaust our quota for this interval around 2008-04-25 12:00:00; the next interval begins at 2008-04-25 12:00:00 (all times local)
Apr 25 12:00:00.306 [notice] Configured hibernation. This interval began at 2008-04-25 12:00:00; the scheduled wake-up time was 2008-04-25 12:00:00; we expect to exhaust our quota for this interval around 2008-04-26 12:00:00; the next interval begins at 2008-04-26 12:00:00 (all times local)
Apr 26 06:21:20.719 [notice] Our directory information is no longer up-to-date enough to build circuits.
Apr 26 07:05:05.331 [notice] I learned some more directory information, but not enough to build a circuit: We have only 271/1262 usable descriptors.
Apr 26 08:48:45.702 [notice] I learned some more directory information, but not enough to build a circuit: We have only 158/1299 usable descriptors.
Apr 26 10:03:11.738 [notice] I learned some more directory information, but not enough to build a circuit: We have only 63/1299 usable descriptors.
Apr 26 11:17:14.085 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1339 usable descriptors.
Apr 26 12:00:00.713 [notice] Configured hibernation. This interval began at 2008-04-26 12:00:00; the scheduled wake-up time was 2008-04-26 12:00:00; we expect to exhaust our quota for this interval around 2008-04-27 12:00:00; the next interval begins at 2008-04-27 12:00:00 (all times local)
Apr 26 13:16:08.485 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1370 usable descriptors.
Apr 26 13:47:39.913 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1412 usable descriptors.
Apr 26 14:05:46.253 [warn] eventdns rejected address [scrubbed]: error 1.
Apr 26 14:57:14.453 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1408 usable descriptors.
Apr 26 16:44:45.166 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1422 usable descriptors.
Apr 26 17:53:57.726 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1405 usable descriptors.
Apr 26 19:06:08.956 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1409 usable descriptors.
Apr 26 20:40:18.060 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1406 usable descriptors.
Apr 26 22:57:54.775 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1368 usable descriptors.
Apr 26 23:49:06.386 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1369 usable descriptors.
Apr 27 01:27:33.848 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1343 usable descriptors.
Apr 27 02:05:05.798 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1307 usable descriptors.
Apr 27 04:24:09.209 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1268 usable descriptors.
Apr 27 06:13:31.363 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1246 usable descriptors.
Apr 27 07:00:48.032 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1243 usable descriptors.
Apr 27 07:52:04.310 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1264 usable descriptors.
Apr 27 08:52:46.012 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1278 usable descriptors.
Apr 27 10:43:46.695 [notice] I learned some more directory information, but not enough to build a circuit: We have only 0/1316 usable descriptors.

comment:17 Changed 11 years ago by taral

What you posted looks like what I used to see, except when I saw it that info on descriptors wasn't available at the time.

comment:18 Changed 10 years ago by arma

Is anybody experiencing this still with 0.2.0.34 or 0.2.1.14-rc or later?

comment:19 Changed 10 years ago by arma

I'm going to close this as fixed, especially since I just opened a new variant of
it in bug 1136.

comment:20 Changed 10 years ago by arma

flyspray2trac: bug closed.

comment:21 Changed 7 years ago by nickm

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