Opened 12 months ago

Closed 10 months ago

Last modified 5 months ago

#20501 closed enhancement (fixed)

Scan 0.2.9.x relays to see if they're serving an out-of-date consensus?

Reported by: arma Owned by: atagar
Priority: Medium Milestone:
Component: Core Tor/DocTor Version:
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

In #20499 we see a potential bug where relays opt to stop getting directory information.

How pervasive is this bug in practice?

Doing a scan of these relays to see which consensus they give us could be quite enlightening.

Also, once we have a module in our scanners to do this test, it would probably be wise to automate running it every so often, as an early (ok, not so early really) warning system to catch regressions.

(In theory all 0.2.9 relays should be caching directory stuff now, right?)

Child Tickets

Attachments (4)

results.txt (301.9 KB) - added by atagar 12 months ago.
Results from scanning network for stale directories.
results_micro.txt (304.1 KB) - added by atagar 12 months ago.
Results for microdescriptor consensuses.
check_stale_consensus.py (864 bytes) - added by atagar 10 months ago.
Script as of 12/9/16.
results.2.txt (306.1 KB) - added by atagar 10 months ago.
Results as of 12/9/16.

Download all attachments as: .zip

Change History (23)

comment:1 Changed 12 months ago by arma

(I think all of the relays cache dir stuff, and serve it over their ORPort via begindir, but not all of them will have an open dirport, and I think atagar might find it easier to do the test via their dirport. Looking first at relays that are easy to test is fine by me.)

comment:2 Changed 12 months ago by atagar

Hi Roger, seems 0.3.0.0 is having issues. 20 of 5002 relays with a DirPort are serving stale consensus data. In total there's 22 relays running 0.3.0.0-alpha-dev so this is just about all of them..

FC64CD763F8C1A319BFBBF62551684F4E1E42332 (0.3.0.0-alpha-dev): consensus expired at 2016-10-28T16:00:00
F864BDEB66C8A11E209456846499C2F995435797 (0.3.0.0-alpha-dev): consensus expired at 2016-10-24T07:00:00
EF887B1997DD786E47CBCAA3F445212467356EBE (0.3.0.0-alpha-dev): consensus expired at 2016-10-22T03:00:00
EF65A4EFF948EA429430FDB834AB9C5F992E81F6 (0.3.0.0-alpha-dev): consensus expired at 2016-10-28T16:00:00
D5B8C38539C509380767D4DE20DE84CF84EE8299 (0.2.9.4-alpha): consensus expired at 2016-10-21T16:00:00
CCC158EA3BB02E4E443BD1F317457CC9E845B050 (0.3.0.0-alpha-dev): consensus expired at 2016-10-28T15:00:00
C79552275DFCD486B942510EF663ED36ACA1A84B (0.3.0.0-alpha-dev): consensus expired at 2016-10-27T12:00:00
B210DF76804619395044D139E826D4AAC939CADB (0.3.0.0-alpha-dev): consensus expired at 2016-10-28T15:00:00
ABF5C38A93F2D7E77A226871AB0ADB052279B48F (0.3.0.0-alpha-dev): consensus expired at 2016-10-30T13:00:00
A6B0521C4C1FB91FB66398AAD523AD773E82E77E (0.3.0.0-alpha-dev): consensus expired at 2016-10-28T03:00:00
A69221A7EC7498D2F88A0FB795261013FA36CAAE (0.3.0.0-alpha-dev): consensus expired at 2016-10-26T23:00:00
9E0B9F902F83E96C352E3B9ECEA4B60B1301A7A1 (0.3.0.0-alpha-dev): consensus expired at 2016-10-20T03:00:00
7FF5DF2E673F4F171C6DB99BA0FA2D9F32A17152 (0.2.9.4-alpha): consensus expired at 2016-10-24T22:00:00
51377C496818552E263583A44C796DF3FB0BC71B (0.3.0.0-alpha-dev): consensus expired at 2016-10-28T02:00:00
48288B0E2473F54A8B9029E0231F2D2F7F7967FD (0.3.0.0-alpha-dev): consensus expired at 2016-10-26T22:00:00
41F07731207742860D43AC426FBAE2F3947BD1CA (0.3.0.0-alpha-dev): consensus expired at 2016-10-26T16:00:00
3DE567C1350C0E858C6147AECB06EA9B3EAF3261 (0.2.9.2-alpha): consensus expired at 2016-10-13T07:00:00
38A42B8D7C0E6346F4A4821617740AEE86EA885B (0.3.0.0-alpha-dev): consensus expired at 2016-10-28T02:00:00
2D49BA84E74E373CD73CDEB09227FDF116155A07 (0.3.0.0-alpha-dev): consensus expired at 2016-10-28T15:00:00
198E72D653B790F7BED7247812C1F96F7CCE56FF (0.3.0.0-alpha-dev): consensus expired at 2016-10-27T02:00:00

Full results are attached to this ticket. Here's the script...

import datetime

from stem.descriptor import DocumentHandler
from stem.descriptor.remote import get_consensus, get_server_descriptors

results_file = open('/home/atagar/results.txt', 'w')

for desc in get_server_descriptors():
  if desc.dir_port:
    results_file.write('%s (%s): ' % (desc.fingerprint, desc.tor_version))
    results_file.flush()

    try:
      consensus = get_consensus(
        endpoints = [(desc.address, desc.dir_port)],
        document_handler = DocumentHandler.BARE_DOCUMENT,
        timeout = 30,
      ).run()[0]
    except Exception as exc:
      results_file.write('failed (%s)\n' % exc)
      continue

    if datetime.datetime.now() > consensus.valid_until:
      results_file.write('consensus expired at %s\n' % consensus.valid_until.isoformat())
    else:
      results_file.write('currrent\n')

Also, once we have a module in our scanners to do this test

This script took 639 minutes to run (yikes!). Downloading 5002 consensuses is a non-trivial load on the network so not something I think we should run on an ongoing fashion unless we have reason to suspect a regression.

I think all of the relays cache dir stuff, and serve it over their ORPort...

This requires teaching Stem to talk with tor's ORPort (which I'd love!). Yawning thought this wouldn't be hard to do.

https://trac.torproject.org/projects/tor/ticket/18856

Did you have any other questions?

Changed 12 months ago by atagar

Attachment: results.txt added

Results from scanning network for stale directories.

comment:3 Changed 12 months ago by rubiate

Would you be able to repeat the scan for the microdesc consensuses? (armadev told me on #tor-dev to ask). There are definitely relays that have a perfectly valid normal consensus but a stale microdesc consensus, and I think the microdesc consensus being out of date is a more prevalent issue (and I'm told a bigger issue because more clients use them).

The best (worst?) example I found (just checking random ones from the consensus) is this one:

7BB160A8F54BD74F3DA5F2CE701E8772B841859D (0.2.9.3-alpha): currrent

It's microdesc consensus was valid-until 2016-09-28 22:00:00

Last edited 12 months ago by rubiate (previous) (diff)

comment:4 Changed 12 months ago by atagar

Tor didn't implement a method of getting microdescriptors via the DirPort...

https://trac.torproject.org/projects/tor/ticket/9271

There's a todo note in the spec about adding an option for getting microdescriptor consensuses...

https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt#n3506

comment:5 in reply to:  4 Changed 12 months ago by arma

Replying to atagar:

Tor didn't implement a method of getting microdescriptors via the DirPort...

https://trac.torproject.org/projects/tor/ticket/9271

There's a todo note in the spec about adding an option for getting microdescriptor consensuses...

https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt#n3506

http://77.247.181.162/tor/status-vote/current/consensus-microdesc works fine for me. So I think it is implemented. (If you or somebody wanted to open a ticket for getting dir-spec.txt updated, that would be grand.)

comment:6 Changed 12 months ago by atagar

Oh neat! I'll add this to the spec and Stem later - will kick off a scan afterward.

comment:7 Changed 12 months ago by atagar

Spec updated and stem can fetch them. Only change to the above script was to add 'microdescriptor = True' to the get_consensus() call. 0.2.9.4 certainly does have an issue...

% grep 'consensus expired' /home/atagar/results_micro.txt
E64DAA637261410A49C0785E37A100D5BF0D4E1E (0.2.9.4-alpha): consensus expired at 2016-11-02T17:00:00
A9D1F803E1E21094D6EC643909FD033D805ADA88 (0.2.9.4-alpha): consensus expired at 2016-11-01T15:00:00
ED6E43F07ABE87C017BD80D4BA24E41F8FF32E94 (0.2.9.4-alpha): consensus expired at 2016-11-01T13:00:00
E2D82421FDF9F17D02D2E640BF31F3E650D585CF (0.2.9.4-alpha): consensus expired at 2016-11-01T09:00:00
FC9AC8EA0160D88BCCFDE066940D7DD9FA45495B (0.2.9.4-alpha): consensus expired at 2016-11-03T09:00:00
FC5DABC0086E959673F32B76EB46EAA2E7F06A87 (0.2.9.4-alpha): consensus expired at 2016-11-03T08:00:00
FBA48003F44D7C623ADA8CE46AA6EAEDDF851AD3 (0.2.9.4-alpha): consensus expired at 2016-11-03T08:00:00
F833F100DA6A7B4DB58CC171B22B0A27DBC30321 (0.2.9.2-alpha-dev): consensus expired at 2016-11-02T02:00:00
F409FA7902FD89270E8DE0D7977EA23BC38E5887 (0.2.9.4-alpha): consensus expired at 2016-11-03T09:00:00
F00EC2E0A2CA79A57FE7A0918A087987747D772D (0.2.9.4-alpha): consensus expired at 2016-10-26T03:00:00
EF812C2498DE0ABB5367C30E8544F668C464517C (0.2.9.4-alpha): consensus expired at 2016-11-03T14:00:00
ED4B0DBA79AEF5521564FA0231455DCFDDE73BB6 (0.2.9.3-alpha): consensus expired at 2016-11-03T09:00:00
EC639EDAA5121B47DBDF3D6B01A22E48A8CB6CC7 (0.2.9.4-alpha): consensus expired at 2016-11-02T17:00:00
17CC33287E23F4B0CD8B0C947B48E437AFCA9B2C (0.2.9.4-alpha): consensus expired at 2016-11-03T07:00:00
E747773C61CF671A222EB913DE17DA33074A6D76 (0.2.9.4-alpha): consensus expired at 2016-10-18T20:00:00
E431079AB7766ACE208442474D7E4009932432AA (0.2.9.3-alpha): consensus expired at 2016-11-02T17:00:00
E382042E06A0A68AFC533E5AD5FB6867A12DF9FF (0.2.9.4-alpha): consensus expired at 2016-10-30T12:00:00
DEE5298B3BA18CDE651421CD2DCB34A4A69F224D (0.2.9.4-alpha): consensus expired at 2016-11-03T08:00:00
DE134FC8E5CC4EC8A5DE66934E70AC9D70267197 (0.2.9.2-alpha): consensus expired at 2016-09-20T15:00:00
D97E20FE8F445A7C8F1E9556B1E6AD9B00CD05B7 (0.2.9.2-alpha): consensus expired at 2016-10-26T01:00:00
D8C050523145AC33F37B58695319BAAF0B8884A7 (0.2.9.3-alpha): consensus expired at 2016-10-31T11:00:00
D7DB8E82604F806766FC3F80213CF719A0481D0B (0.2.9.2-alpha): consensus expired at 2016-10-15T01:00:00
D5B8C38539C509380767D4DE20DE84CF84EE8299 (0.2.9.4-alpha): consensus expired at 2016-10-21T15:00:00
D46175487C332CC602F7D1A44D7BA73348C6C49E (0.2.9.3-alpha): consensus expired at 2016-10-06T02:00:00
D3A947CDB219DC9F7DB0B28F6E503D26AA1DCB35 (0.2.9.3-alpha): consensus expired at 2016-10-12T09:00:00
CFBBA0D858F02E40B1432A65F6D13C9BDFE7A46B (0.2.9.3-alpha-dev): consensus expired at 2016-10-17T19:00:00
CEF0D7CB4A8619C4E5D0F75FFFB30961469D3E6D (0.2.9.4-alpha): consensus expired at 2016-10-29T03:00:00
CE0584F8FF2AAACB28E233AD380CA5C386CAF645 (0.2.9.4-alpha): consensus expired at 2016-11-01T21:00:00
CD87B5554B4FFCE6038A4508794127219766C6F5 (0.2.7.6): consensus expired at 2016-11-01T09:00:00
CBC6EB0E7299FB2A84FCF61AED02D4458291AA90 (0.2.9.4-alpha): consensus expired at 2016-10-28T17:00:00
C9B68C802CA20C3E4FA46D77153D6EDC80F13CF5 (0.2.9.4-alpha): consensus expired at 2016-11-03T03:00:00
C9933B3725239B6FAB5227BA33B30BE7B48BB485 (0.2.9.3-alpha): consensus expired at 2016-11-03T09:00:00
4B084AD6A0BA70761A333829F52042BB6EA009AF (0.2.9.4-alpha): consensus expired at 2016-11-02T05:00:00
C818E0A91101ED0B302557089729C585B53292E3 (0.2.9.4-alpha): consensus expired at 2016-11-03T14:00:00
C804BE8FB1C7C42D43C4A5E2039E77AA0FF3A8B4 (0.2.9.2-alpha): consensus expired at 2016-10-15T11:00:00
C6DC18B9700A2B8A11071A0050BB21BF751C379D (0.2.9.4-alpha): consensus expired at 2016-11-02T05:00:00
BC630CBBB518BE7E9F4E09712AB0269E9DC7D626 (0.2.9.4-alpha): consensus expired at 2016-11-03T00:00:00
B7EC0C02D7D9F1E31B0C251A6B058880778A0CD1 (0.2.9.2-alpha): consensus expired at 2016-08-26T12:00:00
B70629C29A032979E5AD00CC51D2330845AAFD6A (0.2.9.4-alpha): consensus expired at 2016-10-27T03:00:00
B0B29389B594841812B4282F6C939035C60D5300 (0.2.9.4-alpha): consensus expired at 2016-11-02T20:00:00
B01B7973207B1FD2F71D51D1B51B89EE77035CF4 (0.2.9.2-alpha): consensus expired at 2016-09-09T13:00:00
AED76373324653A0522DF30550BA31902B2CFA44 (0.2.9.4-alpha): consensus expired at 2016-10-28T03:00:00
AE55CEC84B700FEF3FB40D5ADAEECBBC10F60D15 (0.2.9.3-alpha): consensus expired at 2016-10-18T09:00:00
AD2DD2C1A293A0DB01330B5E5DA5E37B946A42FA (0.2.9.4-alpha): consensus expired at 2016-10-29T20:00:00
ACDC459DA2B1237289DDD713680682DAF393A187 (0.2.9.4-alpha): consensus expired at 2016-10-27T00:00:00
ACD889D86E02EDDAB1AFD81F598C0936238DC6D0 (0.2.9.4-alpha): consensus expired at 2016-11-03T09:00:00
ABCB4965F1FEE193602B50A365425105C889D3F8 (0.2.9.4-alpha): consensus expired at 2016-11-03T14:00:00
A6DD1938D3D6FD03B5F1F96A79C1651291FE636D (0.2.9.4-alpha): consensus expired at 2016-10-29T03:00:00
A556D1F290B643E6B6E6B2D119F041308D2E9C26 (0.2.9.4-alpha): consensus expired at 2016-11-03T17:00:00
A4928A5E9544D814522B7BC8DAEA513E099F6514 (0.2.9.4-alpha-dev): consensus expired at 2016-10-27T22:00:00
A40E1C039224FA8072C7C84F729236FD738C69DA (0.2.9.4-alpha): consensus expired at 2016-11-02T01:00:00
9FBEB75E8BC142565F12CBBE078D63310236A334 (0.2.9.4-alpha): consensus expired at 2016-11-02T06:00:00
9DA76A2AE6D08900B92D7F59E37814C7CE3056E5 (0.2.9.3-alpha-dev): consensus expired at 2016-10-13T16:00:00
9A68B85A02318F4E7E87F2828039FBD5D75B0142 (0.2.9.4-alpha): consensus expired at 2016-11-03T00:00:00
9844B981A80B3E4B50897098E2D65167E6AEF127 (0.2.9.3-alpha-dev): consensus expired at 2016-10-17T19:00:00
9712386010B1E579E750CEF612BD084DA4AAC1E0 (0.2.9.2-alpha-dev): consensus expired at 2016-09-15T16:00:00
9285B22F7953D7874604EEE2B470609AD81C74E9 (0.2.9.3-alpha-dev): consensus expired at 2016-10-17T19:00:00
9030DCF419F6E2FBF84F63CBACBA0097B06F557E (0.2.9.2-alpha): consensus expired at 2016-08-26T12:00:00
8FF2E7B7BF4C121D1F49D6606987C5802DDB9577 (0.2.9.4-alpha): consensus expired at 2016-10-26T12:00:00
896364B7996F5DFBA0E15D1A2E06D0B98B555DD6 (0.2.9.4-alpha): consensus expired at 2016-10-28T01:00:00
88D5F0BD87F9BC1A96FCBFDCEDB1C0E6BAB1D14E (0.2.9.4-alpha): consensus expired at 2016-11-01T23:00:00
8096552438C9B8AB82BDCB8D5896128B61AAFAF9 (0.2.9.4-alpha): consensus expired at 2016-11-03T14:00:00
7FF5DF2E673F4F171C6DB99BA0FA2D9F32A17152 (0.2.9.4-alpha): consensus expired at 2016-10-19T12:00:00
7F1D94E2C36F8CC595C2AB00022A5AE38171D50B (0.2.9.4-alpha): consensus expired at 2016-10-30T12:00:00
7BB160A8F54BD74F3DA5F2CE701E8772B841859D (0.2.9.3-alpha): consensus expired at 2016-09-28T22:00:00
7B8B083157372DB2994FEB5B075BBAE22BA2DC4F (0.2.9.4-alpha): consensus expired at 2016-10-31T16:00:00
7796D80C962044E4AEAEE94BACDA2E152591F6C5 (0.2.9.4-alpha): consensus expired at 2016-10-27T00:00:00
6DE61A6F72C1E5418A66BFED80DFB63E4C77668F (0.2.9.4-alpha): consensus expired at 2016-11-02T06:00:00
68CECB9ECDF5EFE8FF23C25B926D756FB346FD92 (0.2.9.4-alpha): consensus expired at 2016-11-02T05:00:00
5FE7E83A85BFEF7BB2894D9483C9754DC1052067 (0.2.9.4-alpha): consensus expired at 2016-11-03T16:00:00
5EB8D862E70981B8690DEDEF546789E26AB2BD24 (0.2.9.3-alpha): consensus expired at 2016-09-28T22:00:00
5CE3AD8AD04ADE66C0037A3CF5F7F7A40D48A20B (0.2.9.4-alpha): consensus expired at 2016-10-23T19:00:00
58DCF0E6048D1003BFD0CFF2D0F4E9E1F75A96ED (0.2.9.4-alpha): consensus expired at 2016-10-26T05:00:00
4E021F36F95EDD4F93F824020E3C5BFEA7B595CC (0.2.9.3-alpha): consensus expired at 2016-10-20T15:00:00
4888770464F0E900EFEF1BA181EA873D13F7713C (0.2.9.3-alpha): consensus expired at 2016-09-28T22:00:00
3DE567C1350C0E858C6147AECB06EA9B3EAF3261 (0.2.9.2-alpha): consensus expired at 2016-08-25T15:00:00
3B4FA23831CC69C136418B0305381A5103A3B470 (0.2.9.4-alpha): consensus expired at 2016-11-04T03:00:00
3A720B6E420E6A8133A0B7A4C37C08B9C9DEE5FD (0.2.9.2-alpha-dev): consensus expired at 2016-09-16T01:00:00
39B6A1DE99D2DD649632CABB6C72827664E3CB29 (0.2.9.4-alpha): consensus expired at 2016-11-04T04:00:00
3711E80B5B04494C971FB0459D4209AB7F2EA799 (0.2.9.3-alpha-dev): consensus expired at 2016-10-17T19:00:00
35442E6538EEEC0CC34C23C1FFB6045DCDA22128 (0.2.9.4-alpha): consensus expired at 2016-11-03T17:00:00
32828476F4F84E15C42B4C360A5CD8DE4C3C2BE7 (0.2.9.3-alpha): consensus expired at 2016-11-03T18:00:00
2F9A6B5ADBE91EC69F55AAFB7DC49619D31B8324 (0.2.9.3-alpha-dev): consensus expired at 2016-10-29T11:00:00
21281A01279875A67C4FD2C6B125AC0587CBF9F9 (0.2.9.4-alpha): consensus expired at 2016-11-04T04:00:00
1685874B7B91E5C6184CF7CC5ADF8D983F150AD5 (0.2.9.2-alpha): consensus expired at 2016-09-09T13:00:00
1602E42D1DE3C7B3EF042F357F906DE55FA6C7C6 (0.2.9.2-alpha): consensus expired at 2016-11-02T14:00:00
14F92FF956105932E9DEC5B82A7778A0B1BD9A52 (0.2.9.3-alpha): consensus expired at 2016-09-28T22:00:00
10FDA609624925659622F89107C8494B6033A7FA (0.2.9.4-alpha): consensus expired at 2016-10-31T14:00:00
0FDAC93946A066C87BBB6A955B2893879A788CDE (0.2.9.4-alpha): consensus expired at 2016-11-04T06:00:00
00AD0313351C07411F44C0A78FC54C3EBAE23265 (0.2.9.4-alpha): consensus expired at 2016-10-31T17:00:00

That's the majority of 0.2.9.4 relays. Results attached.

Changed 12 months ago by atagar

Attachment: results_micro.txt added

Results for microdescriptor consensuses.

comment:8 Changed 11 months ago by atagar

Resolution: implemented
Status: newclosed

Gonna resolve this. Feel free to reopen if you need anything else.

comment:9 Changed 11 months ago by arma

Can we get this check integrated into doctor, e.g. once a week or once a month?

Or is the better plan to get teor to run it as part of his periodic fallbackdir checks?

comment:10 Changed 11 months ago by atagar

The fallback checks sound better. Scanning the whole network took over ten hours so not something we'd run on a daily basis. If it's sufficient to just check fallbacks that's a lot more targeted.

comment:11 Changed 11 months ago by teor

It's not sufficient to just scan the fallbacks, but it's certainly necessary.
I'd hate to hard-code something that delivered stale consensuses.

comment:12 Changed 11 months ago by teor

Resolution: implemented
Status: closedreopened

Hi atagar,

This script only works if your machine is in the UTC timezone.
If your machine is in a negative timezone, it succeeds when it should actually fail.
If your machine is in a positive timezone (like mine), it fails when it should actually succeed.

It needs to use datetime.datetime.utcnow(), because valid_until is in UTC.

I'm reopening this to let you weigh in on the impact, but I doubt we want to re-run the scan.

comment:13 Changed 11 months ago by atagar

Resolution: implemented
Status: reopenedclosed

Gotcha, thanks for the catch. If folks want me to re-run the scan then happy to do so but think we got basically what we want from it. Feel free if you'd care to request a re-run.

comment:14 Changed 11 months ago by teor

No, that's ok, false negatives for consensuses that expired 0-N hours ago (N in 0-8, I'm guessing) are ok.

I'm effectively re-running it for all the fallback whitelist in #18828, I'll post an update to #20509.

comment:15 Changed 11 months ago by teor

Resolution: implemented
Status: closedreopened

Hi atagar,

Can you re-run this check on microdesc consensuses with the UTC fix?

I found one relay on 0.2.9.5-alpha that has a stale microdesc consensus but good full consensus (#20909). I'd like to know how prevalent this issue is.

comment:16 Changed 10 months ago by atagar

Done. See attached for the new script and results.

% grep 'consensus expired' /home/atagar/results.txt
F7D3EF888541DDE246D36F4E7C8E90F24618910E (0.2.9.4-alpha): consensus expired at 2016-11-24T17:00:00
E2D82421FDF9F17D02D2E640BF31F3E650D585CF (0.2.9.4-alpha): consensus expired at 2016-11-01T09:00:00
DE134FC8E5CC4EC8A5DE66934E70AC9D70267197 (0.2.9.2-alpha): consensus expired at 2016-09-20T15:00:00
D8C050523145AC33F37B58695319BAAF0B8884A7 (0.2.9.3-alpha): consensus expired at 2016-10-31T11:00:00
D7DB8E82604F806766FC3F80213CF719A0481D0B (0.2.9.4-alpha): consensus expired at 2016-11-15T12:00:00
D3A947CDB219DC9F7DB0B28F6E503D26AA1DCB35 (0.2.9.3-alpha): consensus expired at 2016-10-12T09:00:00
D00B407AAB8A7EA4F4A693DBCFAEC568CD1C73FD (0.2.9.3-alpha): consensus expired at 2016-10-21T09:00:00
CD87B5554B4FFCE6038A4508794127219766C6F5 (0.2.7.6): consensus expired at 2016-11-01T09:00:00
C9933B3725239B6FAB5227BA33B30BE7B48BB485 (0.2.9.3-alpha): consensus expired at 2016-12-07T09:00:00
C804BE8FB1C7C42D43C4A5E2039E77AA0FF3A8B4 (0.2.9.2-alpha): consensus expired at 2016-10-15T11:00:00
C1EC88BADCA06600EB29B5970A2F2E36AE2C74D9 (0.2.9.4-alpha): consensus expired at 2016-11-10T05:00:00
BC630CBBB518BE7E9F4E09712AB0269E9DC7D626 (0.2.9.4-alpha): consensus expired at 2016-12-07T05:00:00
BAC3DF79D0ED728BA28750C461CDE7DB5A252686 (0.2.9.4-alpha): consensus expired at 2016-12-02T05:00:00
B7EC0C02D7D9F1E31B0C251A6B058880778A0CD1 (0.2.9.2-alpha): consensus expired at 2016-08-26T12:00:00
B0B29389B594841812B4282F6C939035C60D5300 (0.2.9.5-alpha): consensus expired at 2016-12-07T20:00:00
AD2DD2C1A293A0DB01330B5E5DA5E37B946A42FA (0.2.9.4-alpha): consensus expired at 2016-11-20T23:00:00
A0A1ED8B8851D55B3D61F0A629073E7BDC9B1765 (0.2.9.4-alpha): consensus expired at 2016-11-11T20:00:00
A04E9AD7A1117D65CC121BA084F564D63871DD09 (0.2.9.4-alpha): consensus expired at 2016-11-29T19:00:00
9E8A4792F296EA6A8E18C43F3BEE9C0BFF908E5E (0.2.7.6): consensus expired at 2016-12-07T12:00:00
9DA76A2AE6D08900B92D7F59E37814C7CE3056E5 (0.2.9.3-alpha-dev): consensus expired at 2016-10-13T16:00:00
9352B29095DAEEA31779DEF58380EA54CC135FE0 (0.2.8.0-alpha-dev): consensus expired at 2016-12-07T17:00:00
9030DCF419F6E2FBF84F63CBACBA0097B06F557E (0.2.9.2-alpha): consensus expired at 2016-08-26T12:00:00
896364B7996F5DFBA0E15D1A2E06D0B98B555DD6 (0.2.9.4-alpha): consensus expired at 2016-10-28T01:00:00
873305DDF95D5050506CF070D2DF82057F4B1AFA (0.2.9.3-alpha): consensus expired at 2016-12-07T07:00:00
7FF5DF2E673F4F171C6DB99BA0FA2D9F32A17152 (0.2.9.5-alpha): consensus expired at 2016-12-07T21:00:00
7B8B083157372DB2994FEB5B075BBAE22BA2DC4F (0.2.9.4-alpha): consensus expired at 2016-10-31T16:00:00
6A29FD8C00D573E6C1D47852345B0E5275BA3307 (0.2.9.5-alpha): consensus expired at 2016-12-07T22:00:00
61AABA610B1E809F29933473223244C75B6B382D (0.2.9.4-alpha): consensus expired at 2016-11-11T21:00:00
51C0ACFE82D5491640645F9544FA370203ACF1D6 (0.2.9.4-alpha): consensus expired at 2016-12-07T09:00:00
510176C07005D47B23E6796F02C93241A29AA0E9 (0.2.9.3-alpha): consensus expired at 2016-12-07T09:00:00
4E021F36F95EDD4F93F824020E3C5BFEA7B595CC (0.2.9.3-alpha): consensus expired at 2016-10-20T15:00:00
4B084AD6A0BA70761A333829F52042BB6EA009AF (0.2.9.5-alpha): consensus expired at 2016-12-08T00:00:00
47F9F5F1611449A867167EEDF8EE4A63ABAAF5B2 (0.2.9.4-alpha): consensus expired at 2016-12-07T09:00:00
3DE567C1350C0E858C6147AECB06EA9B3EAF3261 (0.2.9.4-alpha): consensus expired at 2016-11-07T02:00:00
39B6A1DE99D2DD649632CABB6C72827664E3CB29 (0.2.9.5-alpha): consensus expired at 2016-12-07T22:00:00
2E41628D99ABE14A53B8C5EE43BB08EBD0404AC4 (0.2.7.6): consensus expired at 2016-12-07T10:00:00
29A309ECFA2B2292890B2179B8DB18350A38BA97 (0.2.9.2-alpha): consensus expired at 2016-12-07T08:00:00
1DB25DF59DAA01B5BE3D3CEB8AFED115940EBE8B (0.2.9.6-rc): consensus expired at 2016-12-08T02:00:00
1B9FACF25E17D26E307EA7CFA7D455B144B032E5 (0.2.9.5-alpha): consensus expired at 2016-12-08T02:00:00
19C21CB287610ED457B92E65D057B3AE75E19318 (0.2.8.9): consensus expired at 2016-12-07T10:00:00
10FDA609624925659622F89107C8494B6033A7FA (0.2.9.4-alpha): consensus expired at 2016-10-31T14:00:00

Do you need anything else?

Changed 10 months ago by atagar

Attachment: check_stale_consensus.py added

Script as of 12/9/16.

Changed 10 months ago by atagar

Attachment: results.2.txt added

Results as of 12/9/16.

comment:17 Changed 10 months ago by teor

Resolution: fixed
Status: reopenedclosed

Thanks atagar, that's enough to help us work out what to do with #20909.

comment:18 Changed 10 months ago by atagar

Great, glad to hear it. :)

comment:19 Changed 5 months ago by arma

On #20909, I asked for somebody to do another run of the script. Maybe that is you? :)

Note: See TracTickets for help on using tickets.