{"action":"created","issue":{"url":"https://api.github.com/repos/telehash/telehash-c/issues/58","labels_url":"https://api.github.com/repos/telehash/telehash-c/issues/58/labels{/name}","comments_url":"https://api.github.com/repos/telehash/telehash-c/issues/58/comments","events_url":"https://api.github.com/repos/telehash/telehash-c/issues/58/events","html_url":"https://github.com/telehash/telehash-c/issues/58","id":85860670,"number":58,"title":"test_ext_peer sometimes fails","user":{"login":"utamaro","id":6481635,"avatar_url":"https://avatars.githubusercontent.com/u/6481635?v=3","gravatar_id":"","url":"https://api.github.com/users/utamaro","html_url":"https://github.com/utamaro","followers_url":"https://api.github.com/users/utamaro/followers","following_url":"https://api.github.com/users/utamaro/following{/other_user}","gists_url":"https://api.github.com/users/utamaro/gists{/gist_id}","starred_url":"https://api.github.com/users/utamaro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/utamaro/subscriptions","organizations_url":"https://api.github.com/users/utamaro/orgs","repos_url":"https://api.github.com/users/utamaro/repos","events_url":"https://api.github.com/users/utamaro/events{/privacy}","received_events_url":"https://api.github.com/users/utamaro/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-06-07T05:29:09Z","updated_at":"2015-08-12T22:52:07Z","closed_at":null,"body":"https://travis-ci.org/utamaro/telehash-c/builds/65747029\r\n\r\nhttps://github.com/utamaro/telehash-c\r\nis exactly same as telehash/tehash-c.\r\n\r\ntest_ext_peer sometimes fails.\r\nThis fail seems to happen when  occuring a handshake again due to `src/link.c:258 link_receive_handshake() old/bad at:` error\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/telehash/telehash-c/issues/comments/130471124","html_url":"https://github.com/telehash/telehash-c/issues/58#issuecomment-130471124","issue_url":"https://api.github.com/repos/telehash/telehash-c/issues/58","id":130471124,"user":{"login":"natevw","id":265902,"avatar_url":"https://avatars.githubusercontent.com/u/265902?v=3","gravatar_id":"","url":"https://api.github.com/users/natevw","html_url":"https://github.com/natevw","followers_url":"https://api.github.com/users/natevw/followers","following_url":"https://api.github.com/users/natevw/following{/other_user}","gists_url":"https://api.github.com/users/natevw/gists{/gist_id}","starred_url":"https://api.github.com/users/natevw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/natevw/subscriptions","organizations_url":"https://api.github.com/users/natevw/orgs","repos_url":"https://api.github.com/users/natevw/repos","events_url":"https://api.github.com/users/natevw/events{/privacy}","received_events_url":"https://api.github.com/users/natevw/received_events","type":"User","site_admin":false},"created_at":"2015-08-12T22:52:07Z","updated_at":"2015-08-12T22:52:07Z","body":"Did some more code reading, log reviewing and general experimentation this afternoon:\r\n\r\n1. adding a continuous `while (!link_up(…)) peer_connect(…)` loop in the tests did not result in any permanent hangs across a large number of test runs\r\n2. after disabling the \"old/bad\" check in `link_receive_handshake`, the tests never failed in the way covered by this ticket (though the percentage failing due to #68 rose)\r\n\r\nSo despite all the waffling over whether the \"old/bad handshake\" warnings were even relevant, we now have two strong pieces of evidence implicating something about the handshake \"at\" values:\r\n\r\n- the `sleep(1)` hack discussed above at https://github.com/telehash/telehash-c/issues/58#issuecomment-128490386\r\n- the hack to disable the check entirely\r\n\r\nNext step is to gain a better understanding of the exact handshake flow — particularly the even/odd ordering, which I still suspect is the case. Basically, figure out the differences in handshake flow in passing vs. failing, in order to clearly explain how the parity [or whatever ends up being the culprit] matters."}}