{"action":"created","issue":{"url":"https://api.github.com/repos/sociomantic-tsunami/dhtproto/issues/109","repository_url":"https://api.github.com/repos/sociomantic-tsunami/dhtproto","labels_url":"https://api.github.com/repos/sociomantic-tsunami/dhtproto/issues/109/labels{/name}","comments_url":"https://api.github.com/repos/sociomantic-tsunami/dhtproto/issues/109/comments","events_url":"https://api.github.com/repos/sociomantic-tsunami/dhtproto/issues/109/events","html_url":"https://github.com/sociomantic-tsunami/dhtproto/issues/109","id":293134873,"node_id":"MDU6SXNzdWUyOTMxMzQ4NzM=","number":109,"title":"I/O errors with neo protocol when app reconnects to DHT nodes","user":{"login":"joseph-wakeling-sociomantic","id":6409224,"node_id":"MDQ6VXNlcjY0MDkyMjQ=","avatar_url":"https://avatars3.githubusercontent.com/u/6409224?v=4","gravatar_id":"","url":"https://api.github.com/users/joseph-wakeling-sociomantic","html_url":"https://github.com/joseph-wakeling-sociomantic","followers_url":"https://api.github.com/users/joseph-wakeling-sociomantic/followers","following_url":"https://api.github.com/users/joseph-wakeling-sociomantic/following{/other_user}","gists_url":"https://api.github.com/users/joseph-wakeling-sociomantic/gists{/gist_id}","starred_url":"https://api.github.com/users/joseph-wakeling-sociomantic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joseph-wakeling-sociomantic/subscriptions","organizations_url":"https://api.github.com/users/joseph-wakeling-sociomantic/orgs","repos_url":"https://api.github.com/users/joseph-wakeling-sociomantic/repos","events_url":"https://api.github.com/users/joseph-wakeling-sociomantic/events{/privacy}","received_events_url":"https://api.github.com/users/joseph-wakeling-sociomantic/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-01-31T12:09:24Z","updated_at":"2018-06-11T14:27:22Z","closed_at":"2018-06-11T14:27:22Z","author_association":"CONTRIBUTOR","body":"This problem was observed with a test application interacting with 2 test neo DHT nodes, during a `dht.neo.getAll` request.  App logging reported the following I/O errors (seems to be one per DHT node):\r\n\r\n```\r\nError [dhtproto.client.request.internal.GetHashRange] - I/O error: Expected non-zero errno after failure (connection hung up on read) @ ./submodules/swarm/src/swarm/neo/protocol/socket/MessageReceiver.d:558\r\nError [dhtproto.client.request.internal.GetHashRange] - I/O error: Expected non-zero errno after failure (connection hung up on read) @ ./submodules/swarm/src/swarm/neo/protocol/socket/MessageReceiver.d:558\r\n```\r\n\r\nA different error that shows up sometimes (in addition to the `GetHashRange` errors) is:\r\n\r\n```\r\nError [dhtproto.client.request.internal.GetHashRange] - I/O error: Connection reset by peer (write error) @ ./submodules/swarm/src/swarm/neo/protocol/socket/MessageSender.d:399\r\n```\r\n\r\nSteps to reproduce:\r\n\r\n* start neo DHT node(s) and copy data to channels\r\n\r\n* start application that reads these channels, let it read\r\n\r\n* kill application and restart it\r\n\r\n* repeat until the error starts appearing\r\n\r\nRestarting the DHT nodes appears to fix things (apparently without requiring the app itself to restart).  Restarting only _one_ of the two DHT nodes results in only one of the `non-zero errno` errors occurring at a time (rather than two at a time); restarting the second DHT node then stops the errors entirely."},"comment":{"url":"https://api.github.com/repos/sociomantic-tsunami/dhtproto/issues/comments/396262848","html_url":"https://github.com/sociomantic-tsunami/dhtproto/issues/109#issuecomment-396262848","issue_url":"https://api.github.com/repos/sociomantic-tsunami/dhtproto/issues/109","id":396262848,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NjI2Mjg0OA==","user":{"login":"gavin-norman-sociomantic","id":2863963,"node_id":"MDQ6VXNlcjI4NjM5NjM=","avatar_url":"https://avatars1.githubusercontent.com/u/2863963?v=4","gravatar_id":"","url":"https://api.github.com/users/gavin-norman-sociomantic","html_url":"https://github.com/gavin-norman-sociomantic","followers_url":"https://api.github.com/users/gavin-norman-sociomantic/followers","following_url":"https://api.github.com/users/gavin-norman-sociomantic/following{/other_user}","gists_url":"https://api.github.com/users/gavin-norman-sociomantic/gists{/gist_id}","starred_url":"https://api.github.com/users/gavin-norman-sociomantic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gavin-norman-sociomantic/subscriptions","organizations_url":"https://api.github.com/users/gavin-norman-sociomantic/orgs","repos_url":"https://api.github.com/users/gavin-norman-sociomantic/repos","events_url":"https://api.github.com/users/gavin-norman-sociomantic/events{/privacy}","received_events_url":"https://api.github.com/users/gavin-norman-sociomantic/received_events","type":"User","site_admin":false},"created_at":"2018-06-11T14:27:22Z","updated_at":"2018-06-11T14:27:22Z","author_association":"CONTRIBUTOR","body":"I'll close this. We can repoen (or create new issues) if it pops up again when we start testing dhtproto neo-alpha-5."}}
{"actor":{"display_login":"gavin-norman-sociomantic"}}