Commit 8fca1395 by Ian Lance Taylor

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
parent 9bd25fc4
be69546afcac182cc93c569bc96665f0ef72d66a 5fb74cd7192123a9ea06dcae0d5d8d0b3538db8f
The first line of this file holds the git revision number of the last The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. merge done from the gofrontend repository.
...@@ -75,6 +75,7 @@ func checkNumGoroutine(label string, want int) (string, bool) { ...@@ -75,6 +75,7 @@ func checkNumGoroutine(label string, want int) (string, bool) {
sbuf := make([]byte, 32<<10) sbuf := make([]byte, 32<<10)
sbuf = sbuf[:runtime.Stack(sbuf, true)] sbuf = sbuf[:runtime.Stack(sbuf, true)]
n = strings.Count(string(sbuf), "goroutine ") n = strings.Count(string(sbuf), "goroutine ")
n -= strings.Count(string(sbuf), "goroutine in C code")
if n != want { if n != want {
fmt.Printf("%s Stack: want %d; got %d:\n%s\n", label, want, n, string(sbuf)) fmt.Printf("%s Stack: want %d; got %d:\n%s\n", label, want, n, string(sbuf))
return "", false return "", false
......
...@@ -216,7 +216,7 @@ func tracebackothers(me *g) { ...@@ -216,7 +216,7 @@ func tracebackothers(me *g) {
print("\tgoroutine running on other thread; stack unavailable\n") print("\tgoroutine running on other thread; stack unavailable\n")
printcreatedby(gp) printcreatedby(gp)
} else if readgstatus(gp)&^_Gscan == _Gsyscall { } else if readgstatus(gp)&^_Gscan == _Gsyscall {
print("\tin C code; stack unavailable\n") print("\tgoroutine in C code; stack unavailable\n")
printcreatedby(gp) printcreatedby(gp)
} else { } else {
gp.traceback = &tb gp.traceback = &tb
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment