Directory authority retries parsing incorrect vote infinitely
This morning, I found gabelmoo filling its logs with these warnings (info-level logs only included where it seemed useful):
Jan 22 11:19:46.397 [notice] Tor 0.2.1.11-alpha (r18193) opening log file. [...] Jan 23 01:50:01.080 [notice] Time to vote. Jan 23 01:50:01.108 [notice] Choosing valid-after time in vote as 2009-01-23 01:00:00: consensus_set=1, last_interval=3600 Jan 23 01:50:01.359 [notice] Vote posted. Jan 23 01:50:19.559 [warn] Got a vote from an authority (nickname rgnx, address 208.83.223.34) with authority key ID 0F06AD141 ABB617AEA5A51663BB2F295DCB13521. This key ID is not recognized. Known v3 key IDs are: E2A2AF570166665D738736D0DD58169CC61D8A8B, 14C131DFC5C6F93646BE72FA1401C02A8DF2E8B4, E8A9C45EDE6D711294FADF8E7951F4DE6CA56B58, 27B6B5996C426270A5C95488AA5BCEB6BCC86956, 81349FC1F2DBA2C2C11B45CB9706637D480AB913, 585769C78764D58426B8B52B6651A5A71137189A Jan 23 01:50:59.743 [notice] Uploaded a vote to dirserver 80.190.246.100:80 Jan 23 01:50:59.866 [notice] Uploaded a vote to dirserver 194.109.206.212:80 Jan 23 01:51:00.072 [notice] Uploaded a vote to dirserver 128.31.0.34:9031 Jan 23 01:51:00.161 [notice] Uploaded a vote to dirserver 216.224.124.114:9030 Jan 23 01:51:12.885 [notice] Uploaded a vote to dirserver 86.59.21.38:80 Jan 23 01:52:31.246 [notice] Time to fetch any votes that we're missing. Jan 23 01:52:31.246 [notice] We're missing votes from 2 authorities. Asking every other authority for a copy. Jan 23 01:52:31.452 [info] connection_dir_client_reached_eof(): Got votes (size 913169) from server 86.59.21.38:80 Jan 23 01:52:31.508 [warn] Error decoding descriptor digest "UpcKF+KfBAgnHr+IyNP009-01-2" Jan 23 01:52:31.522 [warn] Error reading network-status vote: signature does not match. Jan 23 01:52:31.524 [warn] Couldn't parse vote: length was 457268 Jan 23 01:52:31.533 [warn] Error decoding descriptor digest "UpcKF+KfBAgnHr+IyNP009-01-2" Jan 23 01:52:31.547 [warn] Error reading network-status vote: signature does not match. Jan 23 01:52:31.548 [warn] Couldn't parse vote: length was 457268 Jan 23 01:52:31.557 [warn] Error decoding descriptor digest "UpcKF+KfBAgnHr+IyNP009-01-2" Jan 23 01:52:31.571 [warn] Error reading network-status vote: signature does not match. Jan 23 01:52:31.572 [warn] Couldn't parse vote: length was 457268 [...] Jan 23 12:03:23.635 [warn] Error decoding descriptor digest "UpcKF+KfBAgnHr+IyNP009-01-2" Jan 23 12:03:23.648 [warn] Error reading network-status vote: signature does not match. Jan 23 12:03:23.650 [warn] Couldn't parse vote: length was 457268
This problem recurred at a rate of about 42 times per second (!) until I killed it at 12:03. gabelmoo was unresponsive at that time: Tor weather reported it couldn't ping it, gabelmoo didn't vote, and the Tor process had to be killed with -9.
In the last votes that gabelmoo wrote (at 00:55), there is the correct line that probably should have been parsed:
r Unnamed St3/Fe5maZRmmctLe/Mh9jU0rYk UpcKF+KfBAgnHr+IyNPOYbOzMCA 2009-01-22 13:10:15 99.21.76.207 9001 9030
The first question is where the ten characters # in "UpcKF+KfBAgnHr+IyNP##########9 (closed)-01-2" went missing.
The second, and more important question is why gabelmoo tries to re-parse the incorrect vote over and over again.
[Automatically added by flyspray2trac: Operating System: Other Linux]