You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At some point during this, most likely during "go test -race -i runtime/race flag os/exec", the installed cmd/cgo binary becomes a race-enabled cmd/cgo with tsan linked into it.
The most obvious effect of linking tsan is that cmd/cgo becomes unable to run in under 1 second. It looks like there is a 1-second sleep in the tsan finalizers (for a good reason I assume, but cc @dvyukov).
To be clear, the bug here is not the 1-second sleep but the fact that the go command is installing a race-enabled cgo.
The text was updated successfully, but these errors were encountered:
Yeah, we don't have the concept of installsuffix in pkg/tools directory
and it's also causing trouble for the makerelease program.
I think a solution is to remove the first command and let the next two
commands rebuild race enabled packages, but not install them.
Or we can replace the first command with go install -race std, but that
will install every std packages and waste time just like the previous
solution.
Yes, atexit sleep is for a good reason. It can be disabled by setting GORACE=atexit_sleep_ms=0 env var.
I've added 'go test -race -i' to avoid rebuilding race packages several times during subsequent steps. There is no other motivation, so it can be removed.
Or we can explicitly reinstall non-race cmd/cgo afterwards (although, somewhat unreliable in the face of future changes).
The runtime race tests during run.bash do:
At some point during this, most likely during "go test -race -i runtime/race flag os/exec", the installed cmd/cgo binary becomes a race-enabled cmd/cgo with tsan linked into it.
The most obvious effect of linking tsan is that cmd/cgo becomes unable to run in under 1 second. It looks like there is a 1-second sleep in the tsan finalizers (for a good reason I assume, but cc @dvyukov).
To be clear, the bug here is not the 1-second sleep but the fact that the go command is installing a race-enabled cgo.
The text was updated successfully, but these errors were encountered: