{"action":"created","issue":{"url":"https://api.github.com/repos/slavapestov/factor/issues/1419","labels_url":"https://api.github.com/repos/slavapestov/factor/issues/1419/labels{/name}","comments_url":"https://api.github.com/repos/slavapestov/factor/issues/1419/comments","events_url":"https://api.github.com/repos/slavapestov/factor/issues/1419/events","html_url":"https://github.com/slavapestov/factor/issues/1419","id":99014884,"number":1419,"title":"gc bug repro on mac64","user":{"login":"erg","id":27430,"avatar_url":"https://avatars.githubusercontent.com/u/27430?v=3","gravatar_id":"","url":"https://api.github.com/users/erg","html_url":"https://github.com/erg","followers_url":"https://api.github.com/users/erg/followers","following_url":"https://api.github.com/users/erg/following{/other_user}","gists_url":"https://api.github.com/users/erg/gists{/gist_id}","starred_url":"https://api.github.com/users/erg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erg/subscriptions","organizations_url":"https://api.github.com/users/erg/orgs","repos_url":"https://api.github.com/users/erg/repos","events_url":"https://api.github.com/users/erg/events{/privacy}","received_events_url":"https://api.github.com/users/erg/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/slavapestov/factor/labels/crash","name":"crash","color":"DDDDDD"},{"url":"https://api.github.com/repos/slavapestov/factor/labels/gc","name":"gc","color":"DDDDDD"},{"url":"https://api.github.com/repos/slavapestov/factor/labels/macosx","name":"macosx","color":"DDDDDD"},{"url":"https://api.github.com/repos/slavapestov/factor/labels/vm","name":"vm","color":"DDDDDD"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2015-08-04T17:06:07Z","updated_at":"2015-08-04T19:59:43Z","closed_at":"2015-08-04T19:54:48Z","body":"After the latest VM patches (execellent work!), Factor crashes on continuations tests.\r\n\r\n```factor\r\n10 [ \"continuations\" test ] times\r\n```\r\n\r\nSetting the callstack size larger than 4k seems to fix the problem. You could try with a smaller callstack on linux and see how it crashes. In fact, some good unit tests would be to give ridiculously small vm parameters (see ``\"runtime-cli-args\" help``) and ensure things crash the right way.\r\n\r\n```\r\n./Factor.app/Contents/MacOS/factor -callstack=8192\r\n```\r\n\r\nThe error thrown is not the correct one for a callstack overflow, but maybe it's hard to make it throw the right one?\r\n\r\n```\r\nType :help for debugging help.\r\nMust Fail: { [ f throw ] }\r\nUnit Test: { { } [ [ \"4\" throw ] ignore-errors gc gc ] }\r\nUnit Test: { { t } [ 10 [ recurse ] replicate [ ] all? ] }\r\nfatal_error: Memory protection fault during gc: 0x100384448\r\nLauncher error:\r\nProcess exited with error code T{ signal { n 6 } }\r\n\r\nLaunch descriptor:\r\n\r\nT{ process\r\n    { command { \"./factor\" \"-run=mason.test\" } }\r\n    { environment H{ } }\r\n    { environment-mode +append-environment+ }\r\n    { stdin +closed+ }\r\n    { stdout \"../test-log\" }\r\n    { stderr +stdout+ }\r\n    { group +new-group+ }\r\n    { timeout T{ duration { hour 4 } } }\r\n    { status T{ signal { n 6 } } }\r\n}\r\n```\r\n\r\n@bjourne "},"comment":{"url":"https://api.github.com/repos/slavapestov/factor/issues/comments/127738208","html_url":"https://github.com/slavapestov/factor/issues/1419#issuecomment-127738208","issue_url":"https://api.github.com/repos/slavapestov/factor/issues/1419","id":127738208,"user":{"login":"bjourne","id":142475,"avatar_url":"https://avatars.githubusercontent.com/u/142475?v=3","gravatar_id":"","url":"https://api.github.com/users/bjourne","html_url":"https://github.com/bjourne","followers_url":"https://api.github.com/users/bjourne/followers","following_url":"https://api.github.com/users/bjourne/following{/other_user}","gists_url":"https://api.github.com/users/bjourne/gists{/gist_id}","starred_url":"https://api.github.com/users/bjourne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bjourne/subscriptions","organizations_url":"https://api.github.com/users/bjourne/orgs","repos_url":"https://api.github.com/users/bjourne/repos","events_url":"https://api.github.com/users/bjourne/events{/privacy}","received_events_url":"https://api.github.com/users/bjourne/received_events","type":"User","site_admin":false},"created_at":"2015-08-04T19:59:43Z","updated_at":"2015-08-04T19:59:43Z","body":"The `-callstack` argument doesn't matter in this case. Only `stack_reserved` does which is how much space is left between the top of the stack and the end after a stack overflow. I honestly have no idea why changing `stack_reserved` fixes the bug, or if it does not. :) But if it makes the test pass then that's good."}}