{"action":"created","issue":{"url":"https://api.github.com/repos/chapel-lang/chapel/issues/2539","labels_url":"https://api.github.com/repos/chapel-lang/chapel/issues/2539/labels{/name}","comments_url":"https://api.github.com/repos/chapel-lang/chapel/issues/2539/comments","events_url":"https://api.github.com/repos/chapel-lang/chapel/issues/2539/events","html_url":"https://github.com/chapel-lang/chapel/pull/2539","id":106655579,"number":2539,"title":"Add halt to spawn() for CHPL_COMM=ugni","user":{"login":"ronawho","id":1588337,"avatar_url":"https://avatars.githubusercontent.com/u/1588337?v=3","gravatar_id":"","url":"https://api.github.com/users/ronawho","html_url":"https://github.com/ronawho","followers_url":"https://api.github.com/users/ronawho/followers","following_url":"https://api.github.com/users/ronawho/following{/other_user}","gists_url":"https://api.github.com/users/ronawho/gists{/gist_id}","starred_url":"https://api.github.com/users/ronawho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronawho/subscriptions","organizations_url":"https://api.github.com/users/ronawho/orgs","repos_url":"https://api.github.com/users/ronawho/repos","events_url":"https://api.github.com/users/ronawho/events{/privacy}","received_events_url":"https://api.github.com/users/ronawho/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-09-15T21:52:34Z","updated_at":"2015-09-15T21:57:39Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/chapel-lang/chapel/pulls/2539","html_url":"https://github.com/chapel-lang/chapel/pull/2539","diff_url":"https://github.com/chapel-lang/chapel/pull/2539.diff","patch_url":"https://github.com/chapel-lang/chapel/pull/2539.patch"},"body":"spawn doesn't currently work with ugni because we specify FORK_NOCOPY for ugni.\r\nThis means that memory regions registered with the NIC are not duplicated in\r\nthe child processes so we get segfaults.\r\n\r\nUsing FORK_FULLCOPY has it's own problems because it'll copy all of the\r\nregistered memory. On slurm systems we default to 16GB heap, and 2/3 of\r\navailable memory for aprun so we'll either have a really slow fork or get an\r\nOOM. Until we come up with a better solution, we want to at least give the user\r\na better error message so we're adding a halt to the spawn function for ugni.\r\n\r\nNote that we decided on a halt instead of a compilerError since we wanted to\r\nallow code that contained spawn but that never hit it during execution time."},"comment":{"url":"https://api.github.com/repos/chapel-lang/chapel/issues/comments/140558269","html_url":"https://github.com/chapel-lang/chapel/pull/2539#issuecomment-140558269","issue_url":"https://api.github.com/repos/chapel-lang/chapel/issues/2539","id":140558269,"user":{"login":"mppf","id":3653132,"avatar_url":"https://avatars.githubusercontent.com/u/3653132?v=3","gravatar_id":"","url":"https://api.github.com/users/mppf","html_url":"https://github.com/mppf","followers_url":"https://api.github.com/users/mppf/followers","following_url":"https://api.github.com/users/mppf/following{/other_user}","gists_url":"https://api.github.com/users/mppf/gists{/gist_id}","starred_url":"https://api.github.com/users/mppf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mppf/subscriptions","organizations_url":"https://api.github.com/users/mppf/orgs","repos_url":"https://api.github.com/users/mppf/repos","events_url":"https://api.github.com/users/mppf/events{/privacy}","received_events_url":"https://api.github.com/users/mppf/received_events","type":"User","site_admin":false},"created_at":"2015-09-15T21:57:39Z","updated_at":"2015-09-15T21:57:39Z","body":"(re my previous comment - code using the default stdin/stdout/stderr = FORWARD uses vfork and has no problem with ugni right now)"}}