mirror of
https://github.com/golang/go
synced 2024-11-23 22:40:04 -07:00
runtime: remove misleading message during crash
The following checkdead message is false positive: $ go test -race -c runtime $ ./runtime.test -test.cpu=2 -test.run=TestSmhasherWindowed -test.v === RUN TestSmhasherWindowed-2 checkdead: find g 18 in status 1 SIGABRT: abort PC=0x42bff1 LGTM=rsc R=golang-codereviews, gobot, rsc CC=golang-codereviews, iant, khr https://golang.org/cl/59490046
This commit is contained in:
parent
e71d147750
commit
47534ddc68
@ -2441,8 +2441,14 @@ checkdead(void)
|
||||
run = runtime·sched.mcount - runtime·sched.nmidle - runtime·sched.nmidlelocked - 1;
|
||||
if(run > 0)
|
||||
return;
|
||||
// If we are dying because of a signal caught on an already idle thread,
|
||||
// freezetheworld will cause all running threads to block.
|
||||
// And runtime will essentially enter into deadlock state,
|
||||
// except that there is a thread that will call runtime·exit soon.
|
||||
if(runtime·panicking > 0)
|
||||
return;
|
||||
if(run < 0) {
|
||||
runtime·printf("checkdead: nmidle=%d nmidlelocked=%d mcount=%d\n",
|
||||
runtime·printf("runtime: checkdead: nmidle=%d nmidlelocked=%d mcount=%d\n",
|
||||
runtime·sched.nmidle, runtime·sched.nmidlelocked, runtime·sched.mcount);
|
||||
runtime·throw("checkdead: inconsistent counts");
|
||||
}
|
||||
@ -2457,7 +2463,7 @@ checkdead(void)
|
||||
grunning++;
|
||||
else if(s == Grunnable || s == Grunning || s == Gsyscall) {
|
||||
runtime·unlock(&allglock);
|
||||
runtime·printf("checkdead: find g %D in status %d\n", gp->goid, s);
|
||||
runtime·printf("runtime: checkdead: find g %D in status %d\n", gp->goid, s);
|
||||
runtime·throw("checkdead: runnable g");
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user