From 8fca13953b551bb75af0a31d737a297de97676a7 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 20 Sep 2017 00:33:29 +0000 Subject: [PATCH] runtime: restore "goroutine in C code" message In the 1.9 upgrade I took out the word "goroutine" from a traceback showing a goroutine running in C code, to let TestCgoNumGoroutine pass. However, it turns out that some code is actually checking for that string; for example, https://github.com/grpc/grpc-go/blob/master/test/leakcheck/leakcheck.go#L44 So keep the message the same, and change the test. Reviewed-on: https://go-review.googlesource.com/64850 From-SVN: r252991 --- gcc/go/gofrontend/MERGE | 2 +- libgo/go/runtime/testdata/testprogcgo/numgoroutine.go | 1 + libgo/go/runtime/traceback_gccgo.go | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 27bcb6e252d..f6b5361a004 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -be69546afcac182cc93c569bc96665f0ef72d66a +5fb74cd7192123a9ea06dcae0d5d8d0b3538db8f The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/libgo/go/runtime/testdata/testprogcgo/numgoroutine.go b/libgo/go/runtime/testdata/testprogcgo/numgoroutine.go index 12fda49a131..68f1738dd6b 100644 --- a/libgo/go/runtime/testdata/testprogcgo/numgoroutine.go +++ b/libgo/go/runtime/testdata/testprogcgo/numgoroutine.go @@ -75,6 +75,7 @@ func checkNumGoroutine(label string, want int) (string, bool) { sbuf := make([]byte, 32<<10) sbuf = sbuf[:runtime.Stack(sbuf, true)] n = strings.Count(string(sbuf), "goroutine ") + n -= strings.Count(string(sbuf), "goroutine in C code") if n != want { fmt.Printf("%s Stack: want %d; got %d:\n%s\n", label, want, n, string(sbuf)) return "", false diff --git a/libgo/go/runtime/traceback_gccgo.go b/libgo/go/runtime/traceback_gccgo.go index f29ccd7b564..37c569887b0 100644 --- a/libgo/go/runtime/traceback_gccgo.go +++ b/libgo/go/runtime/traceback_gccgo.go @@ -216,7 +216,7 @@ func tracebackothers(me *g) { print("\tgoroutine running on other thread; stack unavailable\n") printcreatedby(gp) } else if readgstatus(gp)&^_Gscan == _Gsyscall { - print("\tin C code; stack unavailable\n") + print("\tgoroutine in C code; stack unavailable\n") printcreatedby(gp) } else { gp.traceback = &tb