Skip to content

runtime: explain or enlarge system stack on ARM #11873

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
mwhudson opened this issue Jul 26, 2015 · 3 comments
Closed

runtime: explain or enlarge system stack on ARM #11873

mwhudson opened this issue Jul 26, 2015 · 3 comments

Comments

@mwhudson
Copy link
Contributor

Currently, the stack provided to us by the operating system is assumed to be 64kb on all platforms except ARM, where it is assumed to be only 8kb. It's not clear why: we should either document this or change it to match what other platforms do.

@mwhudson
Copy link
Contributor Author

FWIW, on ubuntu trusty, processes appear to get a stack of slightly more than 128kb to play with:

$ sleep 10m &
[1] 2261
$ cat /proc/2261/maps
00008000-0000c000 r-xp 00000000 08:02 8781907    /bin/sleep
00013000-00014000 r--p 00003000 08:02 8781907    /bin/sleep
00014000-00015000 rw-p 00004000 08:02 8781907    /bin/sleep
00bfe000-00c1f000 rw-p 00000000 00:00 0          [heap]
b6cc7000-b6ec7000 r--p 00000000 08:02 791817     /usr/lib/locale/locale-archive
b6ec7000-b6fa0000 r-xp 00000000 08:02 8257865    /lib/arm-linux-gnueabihf/libc-2.19.so
b6fa0000-b6fa8000 ---p 000d9000 08:02 8257865    /lib/arm-linux-gnueabihf/libc-2.19.so
b6fa8000-b6faa000 r--p 000d9000 08:02 8257865    /lib/arm-linux-gnueabihf/libc-2.19.so
b6faa000-b6fab000 rw-p 000db000 08:02 8257865    /lib/arm-linux-gnueabihf/libc-2.19.so
b6fab000-b6fae000 rw-p 00000000 00:00 0 
b6fb5000-b6fcc000 r-xp 00000000 08:02 8257916    /lib/arm-linux-gnueabihf/ld-2.19.so
b6fd0000-b6fd3000 rw-p 00000000 00:00 0 
b6fd3000-b6fd4000 r-xp 00000000 00:00 0          [sigpage]
b6fd4000-b6fd5000 r--p 00017000 08:02 8257916    /lib/arm-linux-gnueabihf/ld-2.19.so
b6fd5000-b6fd6000 rw-p 00018000 08:02 8257916    /lib/arm-linux-gnueabihf/ld-2.19.so
beef2000-bef13000 rw-p 00000000 00:00 0          [stack]
ffff0000-ffff1000 r-xp 00000000 00:00 0          [vectors]

(this is ~the same as I see on other arches).

@ianlancetaylor ianlancetaylor added this to the Go1.6Early milestone Jul 27, 2015
@crawshaw
Copy link
Member

Both Android and iOS by default have 1MB stacks. (Compared to linux/amd64 with 8MB stacks.) I haven't found any system we expect to run on with smaller stacks, so I'll send a CL.

For reference, see #11853

@gopherbot
Copy link
Contributor

CL https://golang.org/cl/14602 mentions this issue.

@crawshaw crawshaw self-assigned this Sep 15, 2015
@golang golang locked and limited conversation to collaborators Oct 26, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants