From 64e041652aa2c431ff2aec6745dfecf32abac66a Mon Sep 17 00:00:00 2001 From: Anthony Martin Date: Wed, 12 Mar 2014 19:42:58 -0700 Subject: [PATCH] runtime: call symtabinit earlier Otherwise, we won't get a stack trace in some of the early init. Here's one example: http://build.golang.org/log/a96d10f6aee1fa3e3ae51f41da46d414a7ab02de After walking the stack by hand in acid, I was able to determine that the stackalloc inside mpreinit was causing the throw. LGTM=rsc R=rsc, dvyukov CC=golang-codereviews https://golang.org/cl/72450044 --- src/pkg/runtime/proc.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/pkg/runtime/proc.c b/src/pkg/runtime/proc.c index eb7dfe4f84..d3ad740136 100644 --- a/src/pkg/runtime/proc.c +++ b/src/pkg/runtime/proc.c @@ -146,6 +146,7 @@ runtime·schedinit(void) runtime·sched.maxmcount = 10000; runtime·precisestack = true; // haveexperiment("precisestack"); + runtime·symtabinit(); runtime·mallocinit(); mcommoninit(m); @@ -159,9 +160,6 @@ runtime·schedinit(void) runtime·goenvs(); runtime·parsedebugvars(); - // Allocate internal symbol table representation now, we need it for GC anyway. - runtime·symtabinit(); - runtime·sched.lastpoll = runtime·nanotime(); procs = 1; p = runtime·getenv("GOMAXPROCS"); -- 2.50.0