Closed
Description
The new mheap allocation takes 256 MB of virtual memory and the ulimit-respecting code does not deal with that so programs running under ulimits fail. More generally, the ulimit is used to size the heap, but we have significant memory resources outside the heap - like goroutine stacks! - that must fall under the limit too. https://golang.org/cl/7672044 has an attempt at this. It mostly works, but it fails with SIGBUS on OS X in the net/http short test. I have not yet tried it on Linux - perhaps a gdb will be more helpful there.