{"action":"created","issue":{"url":"https://api.github.com/repos/ofi-cray/libfabric-cray/issues/1020","repository_url":"https://api.github.com/repos/ofi-cray/libfabric-cray","labels_url":"https://api.github.com/repos/ofi-cray/libfabric-cray/issues/1020/labels{/name}","comments_url":"https://api.github.com/repos/ofi-cray/libfabric-cray/issues/1020/comments","events_url":"https://api.github.com/repos/ofi-cray/libfabric-cray/issues/1020/events","html_url":"https://github.com/ofi-cray/libfabric-cray/pull/1020","id":185192566,"number":1020,"title":"prov/gni: various shutdown related fixes","user":{"login":"hppritcha","id":7818666,"avatar_url":"https://avatars.githubusercontent.com/u/7818666?v=3","gravatar_id":"","url":"https://api.github.com/users/hppritcha","html_url":"https://github.com/hppritcha","followers_url":"https://api.github.com/users/hppritcha/followers","following_url":"https://api.github.com/users/hppritcha/following{/other_user}","gists_url":"https://api.github.com/users/hppritcha/gists{/gist_id}","starred_url":"https://api.github.com/users/hppritcha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hppritcha/subscriptions","organizations_url":"https://api.github.com/users/hppritcha/orgs","repos_url":"https://api.github.com/users/hppritcha/repos","events_url":"https://api.github.com/users/hppritcha/events{/privacy}","received_events_url":"https://api.github.com/users/hppritcha/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ofi-cray/libfabric-cray/labels/needs-to-be-merged-upstream","name":"needs-to-be-merged-upstream","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/ofi-cray/libfabric-cray/milestones/11","html_url":"https://github.com/ofi-cray/libfabric-cray/milestones/1.5.0","labels_url":"https://api.github.com/repos/ofi-cray/libfabric-cray/milestones/11/labels","id":2066353,"number":11,"title":"1.5.0","description":"release 1.5.0 milestone.  A date will be set once the 1.5.0 milestone upstream has a date.","creator":{"login":"hppritcha","id":7818666,"avatar_url":"https://avatars.githubusercontent.com/u/7818666?v=3","gravatar_id":"","url":"https://api.github.com/users/hppritcha","html_url":"https://github.com/hppritcha","followers_url":"https://api.github.com/users/hppritcha/followers","following_url":"https://api.github.com/users/hppritcha/following{/other_user}","gists_url":"https://api.github.com/users/hppritcha/gists{/gist_id}","starred_url":"https://api.github.com/users/hppritcha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hppritcha/subscriptions","organizations_url":"https://api.github.com/users/hppritcha/orgs","repos_url":"https://api.github.com/users/hppritcha/repos","events_url":"https://api.github.com/users/hppritcha/events{/privacy}","received_events_url":"https://api.github.com/users/hppritcha/received_events","type":"User","site_admin":false},"open_issues":16,"closed_issues":7,"state":"open","created_at":"2016-10-12T21:35:21Z","updated_at":"2016-10-25T18:10:28Z","due_on":null,"closed_at":null},"comments":5,"created_at":"2016-10-25T18:10:28Z","updated_at":"2016-10-25T19:26:37Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ofi-cray/libfabric-cray/pulls/1020","html_url":"https://github.com/ofi-cray/libfabric-cray/pull/1020","diff_url":"https://github.com/ofi-cray/libfabric-cray/pull/1020.diff","patch_url":"https://github.com/ofi-cray/libfabric-cray/pull/1020.patch"},"body":"Turns out some of the criterion tests which intentionally\r\ndo things to check for errors, etc. have a tendency to\r\nbring out some issues in the destruction of objects within\r\nthe GNI provider when EPs, domains, etc. are closed and\r\nthere are outstanding transactions/GNI RX CQEs etc. still\r\noutstanding.\r\n\r\nOne of the ways that these shutdowns with GNI objects still\r\nqueued up (like CQEs on GNI hw cqs) would seg fault when\r\na thread tried to process CQEs that were associated with a VC\r\nthat was being destroyed by another thread.  The most frequent\r\nsignature was a thread trying to access the flag field of a VC\r\nstruct in, for example _gnix_vc_rx_schedule.\r\n\r\nCurrently it is criterion tests which are trying to check edge\r\ncases that hit these kind of problems.\r\n@sungeunchoi \r\n@ztiffany \r\n\r\nuse a nic based freelist for vc's\r\n\r\nSigned-off-by: Howard Pritchard <howardp@lanl.gov>"},"comment":{"url":"https://api.github.com/repos/ofi-cray/libfabric-cray/issues/comments/256149856","html_url":"https://github.com/ofi-cray/libfabric-cray/pull/1020#issuecomment-256149856","issue_url":"https://api.github.com/repos/ofi-cray/libfabric-cray/issues/1020","id":256149856,"user":{"login":"jswaro","id":10633422,"avatar_url":"https://avatars.githubusercontent.com/u/10633422?v=3","gravatar_id":"","url":"https://api.github.com/users/jswaro","html_url":"https://github.com/jswaro","followers_url":"https://api.github.com/users/jswaro/followers","following_url":"https://api.github.com/users/jswaro/following{/other_user}","gists_url":"https://api.github.com/users/jswaro/gists{/gist_id}","starred_url":"https://api.github.com/users/jswaro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jswaro/subscriptions","organizations_url":"https://api.github.com/users/jswaro/orgs","repos_url":"https://api.github.com/users/jswaro/repos","events_url":"https://api.github.com/users/jswaro/events{/privacy}","received_events_url":"https://api.github.com/users/jswaro/received_events","type":"User","site_admin":false},"created_at":"2016-10-25T19:26:37Z","updated_at":"2016-10-25T19:26:37Z","body":"If the VC wasn't on the list, then the access of the flag field wouldn't be an issue. Maybe I am not understanding the issue as well as I could. \r\n\r\nIt seems like the crux of the issue is the list, not the flag field. \r\n\r\n> I'm not sure what the issue with using atomic bitwise operations with the uint64_t is. \r\nThere are a hundred ways to skin a cat, but do we want to reproduce those methods multiple times? I think your approach is simple and effective, but we already have a solution to the problem. \r\n\r\nUnless there is a good motivation for it, having multiple implementations of the same functionality means they both need to be fixed when a bug is found. "}}
{"actor":{"display_login":"jswaro"}}