It looks like this has just always been broken:
the race detector handles running Go code on g0 of the main thread
and on g0 of any extra threads created by non-Go code, but it does
not handle running Go code on g0 of non-main threads created by Go.
Handle that.
Should fix the race build failures on the dashboard.
We're running into this now because we are running more
and more Go code on g0.
TBR=dvyukov
CC=golang-codereviews
https://golang.org/cl/
137910043
mp = runtime·allocm(p);
mp->nextp = p;
mp->mstartfn = fn;
+ if(raceenabled)
+ mp->g0->racectx = runtime·racegostart(newm);
if(runtime·iscgo) {
CgoThreadStart ts;