{"action":"created","issue":{"url":"https://api.github.com/repos/monero-project/kovri/issues/932","repository_url":"https://api.github.com/repos/monero-project/kovri","labels_url":"https://api.github.com/repos/monero-project/kovri/issues/932/labels{/name}","comments_url":"https://api.github.com/repos/monero-project/kovri/issues/932/comments","events_url":"https://api.github.com/repos/monero-project/kovri/issues/932/events","html_url":"https://github.com/monero-project/kovri/pull/932","id":337167357,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk4NDQ3NDUw","number":932,"title":"SSU: extend session lock for handling packets","user":{"login":"coneiric","id":33737923,"node_id":"MDQ6VXNlcjMzNzM3OTIz","avatar_url":"https://avatars0.githubusercontent.com/u/33737923?v=4","gravatar_id":"","url":"https://api.github.com/users/coneiric","html_url":"https://github.com/coneiric","followers_url":"https://api.github.com/users/coneiric/followers","following_url":"https://api.github.com/users/coneiric/following{/other_user}","gists_url":"https://api.github.com/users/coneiric/gists{/gist_id}","starred_url":"https://api.github.com/users/coneiric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coneiric/subscriptions","organizations_url":"https://api.github.com/users/coneiric/orgs","repos_url":"https://api.github.com/users/coneiric/repos","events_url":"https://api.github.com/users/coneiric/events{/privacy}","received_events_url":"https://api.github.com/users/coneiric/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-06-29T23:54:33Z","updated_at":"2018-06-30T18:42:59Z","closed_at":"2018-06-30T18:42:59Z","author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/monero-project/kovri/pulls/932","html_url":"https://github.com/monero-project/kovri/pull/932","diff_url":"https://github.com/monero-project/kovri/pull/932.diff","patch_url":"https://github.com/monero-project/kovri/pull/932.patch"},"body":"Extends sessions' lock to first access of internal sessions map. Prevents callers from different threads processing the same session packet multiple times.\r\n\r\nRan a number of live tests, and this patch appears to resolve the Bytestream overread issue. \r\n\r\nOne router without this patch crashed from the overread error.\r\n\r\n* recompiled with the patch\r\n* restarted without getting another overread error\r\n* used the same NetDb with both routers, so both should have the same view of the network\r\n* client tunnels succeed with the patched router\r\n\r\nOther live tests have been running with patched routers for several hours each, without crashing from the overread error.\r\n\r\nResolves #823\r\n\r\n---\r\n**By submitting this pull-request, I confirm the following:**\r\n\r\n- I have read and understood the developer guide in [kovri-docs](https://github.com/monero-project/kovri-docs).\r\n- I have checked that another pull-request for this purpose does not exist.\r\n- I have considered and confirmed that this submission will be valuable to others.\r\n- I accept that this submission may not be used and that this pull-request may be closed by the will of the maintainer.\r\n- I give this submission freely under the BSD 3-clause license.\r\n---\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/monero-project/kovri/issues/comments/401559035","html_url":"https://github.com/monero-project/kovri/pull/932#issuecomment-401559035","issue_url":"https://api.github.com/repos/monero-project/kovri/issues/932","id":401559035,"node_id":"MDEyOklzc3VlQ29tbWVudDQwMTU1OTAzNQ==","user":{"login":"coneiric","id":33737923,"node_id":"MDQ6VXNlcjMzNzM3OTIz","avatar_url":"https://avatars0.githubusercontent.com/u/33737923?v=4","gravatar_id":"","url":"https://api.github.com/users/coneiric","html_url":"https://github.com/coneiric","followers_url":"https://api.github.com/users/coneiric/followers","following_url":"https://api.github.com/users/coneiric/following{/other_user}","gists_url":"https://api.github.com/users/coneiric/gists{/gist_id}","starred_url":"https://api.github.com/users/coneiric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coneiric/subscriptions","organizations_url":"https://api.github.com/users/coneiric/orgs","repos_url":"https://api.github.com/users/coneiric/repos","events_url":"https://api.github.com/users/coneiric/events{/privacy}","received_events_url":"https://api.github.com/users/coneiric/received_events","type":"User","site_admin":false},"created_at":"2018-06-30T18:42:59Z","updated_at":"2018-06-30T18:42:59Z","author_association":"CONTRIBUTOR","body":"> I won't NACK this change outright but I will NACK the references to resolving #823\r\n\r\nI'll close this PR, the whole point of it was to resolve #823, and it doesn't do that. The bottleneck tradeoff you mentioned isn't worth it, since I was mistaken about this solving the issue.\r\n\r\nAlso, a router crashed from the overread assertion again today. So, I'll go through the trace you posted, and the logs from the crashed router. Will try to come up with testnet scenario to reproduce without relying on chance."}}
{"actor":{"display_login":"coneiric"}}