'range hash' makes a copy of the hash array in the stack, creating
a very large stack frame. It's just the right amount that it
uses most but not all of the total stack size. If you have a lot
of environment variables, like the builders, then this is too
much and the g0 stack runs out of space.
TBR=bradfitz
CC=golang-codereviews
https://golang.org/cl/
132350043
}
func iterate_itabs(fn func(*itab)) {
- for _, h := range hash {
+ for _, h := range &hash {
for ; h != nil; h = h.link {
fn(h)
}