{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/14700","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/14700/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/14700/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/14700/events","html_url":"https://github.com/JuliaLang/julia/pull/14700","id":127061205,"number":14700,"title":"Increase the signal stack size on AArch64","user":{"login":"yuyichao","id":712232,"avatar_url":"https://avatars.githubusercontent.com/u/712232?v=3","gravatar_id":"","url":"https://api.github.com/users/yuyichao","html_url":"https://github.com/yuyichao","followers_url":"https://api.github.com/users/yuyichao/followers","following_url":"https://api.github.com/users/yuyichao/following{/other_user}","gists_url":"https://api.github.com/users/yuyichao/gists{/gist_id}","starred_url":"https://api.github.com/users/yuyichao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuyichao/subscriptions","organizations_url":"https://api.github.com/users/yuyichao/orgs","repos_url":"https://api.github.com/users/yuyichao/repos","events_url":"https://api.github.com/users/yuyichao/events{/privacy}","received_events_url":"https://api.github.com/users/yuyichao/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/JuliaLang/julia/labels/arm","name":"arm","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-01-16T23:24:05Z","updated_at":"2016-01-17T15:05:38Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/JuliaLang/julia/pulls/14700","html_url":"https://github.com/JuliaLang/julia/pull/14700","diff_url":"https://github.com/JuliaLang/julia/pull/14700.diff","patch_url":"https://github.com/JuliaLang/julia/pull/14700.patch"},"body":"The default size is too small for libunwind and causes a stack overflow. (The symptom is error/segfault on exit due to random corruption of heap memory, a lot of the time a segfault in `__cxa_finalize`).\r\n\r\nAlso add a guard page to the signal stack making it easier to detect such problems in the future. (Segfault instead of weird corruption...)\r\n\r\nP.S. The default size for linux x86_64 is also quite small (8k), I'm a little surprised that our signal handler works fine in such a shallow stack....\r\n\r\nc.c. @vtjnash \r\n"},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/172333990","html_url":"https://github.com/JuliaLang/julia/pull/14700#issuecomment-172333990","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/14700","id":172333990,"user":{"login":"yuyichao","id":712232,"avatar_url":"https://avatars.githubusercontent.com/u/712232?v=3","gravatar_id":"","url":"https://api.github.com/users/yuyichao","html_url":"https://github.com/yuyichao","followers_url":"https://api.github.com/users/yuyichao/followers","following_url":"https://api.github.com/users/yuyichao/following{/other_user}","gists_url":"https://api.github.com/users/yuyichao/gists{/gist_id}","starred_url":"https://api.github.com/users/yuyichao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuyichao/subscriptions","organizations_url":"https://api.github.com/users/yuyichao/orgs","repos_url":"https://api.github.com/users/yuyichao/repos","events_url":"https://api.github.com/users/yuyichao/events{/privacy}","received_events_url":"https://api.github.com/users/yuyichao/received_events","type":"User","site_admin":false},"created_at":"2016-01-17T15:05:38Z","updated_at":"2016-01-17T15:05:38Z","body":"Also use a separate function to unblock the signal to save some stack space (`sigset_t` is quite large 128bytes). Note that this alone doesn't really solve the stack overflow on AArch64 though.\r\n\r\n@ViralBShah Maybe http://www.datacentred.co.uk/ ? Not quite the same and more expensive than scaleway if you want to use it all the time (even for the cheapest option). Also couldn't find what hardware they are using.\r\n\r\nWith this patch merged (which somehow mainly causes issue with parallel testing....) the compilation takes ~20min and the whole test suite (with [a few tests disabled](https://github.com/yuyichao/julia/commit/aafd7edab53496fd72a08b4c4dbdbe2a5d75d24c)) takes ~30min to run on my board so it's not too bad for me to run it every night right now.\r\n"}}