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
cpu% cd src/os
cpu% go test -run Clearenv -count 100000
What did you expect to see?
No test failure
What did you see instead?
--- FAIL: TestClearenv (0.02s)
env_test.go:145: Setenv("GO_TEST_CLEARENV", "1") didn't set $GO_TEST_CLEARENV
--- FAIL: TestClearenv (0.02s)
env_test.go:145: Setenv("GO_TEST_CLEARENV", "1") didn't set $GO_TEST_CLEARENV
--- FAIL: TestClearenv (0.02s)
env_test.go:145: Setenv("GO_TEST_CLEARENV", "1") didn't set $GO_TEST_CLEARENV
--- FAIL: TestClearenv (0.02s)
env_test.go:145: Setenv("GO_TEST_CLEARENV", "1") didn't set $GO_TEST_CLEARENV
--- FAIL: TestClearenv (0.01s)
env_test.go:145: Setenv("GO_TEST_CLEARENV", "1") didn't set $GO_TEST_CLEARENV
--- FAIL: TestClearenv (0.01s)
env_test.go:145: Setenv("GO_TEST_CLEARENV", "1") didn't set $GO_TEST_CLEARENV
--- FAIL: TestClearenv (0.00s)
env_test.go:145: Setenv("GO_TEST_CLEARENV", "1") didn't set $GO_TEST_CLEARENV
--- FAIL: TestClearenv (0.00s)
env_test.go:149: Clearenv() didn't clear $GO_TEST_CLEARENV, remained with value "1"
--- FAIL: TestClearenv (0.00s)
env_test.go:145: Setenv("GO_TEST_CLEARENV", "1") didn't set $GO_TEST_CLEARENV
--- FAIL: TestClearenv (0.00s)
env_test.go:145: Setenv("GO_TEST_CLEARENV", "1") didn't set $GO_TEST_CLEARENV
--- FAIL: TestClearenv (0.00s)
env_test.go:145: Setenv("GO_TEST_CLEARENV", "1") didn't set $GO_TEST_CLEARENV
--- FAIL: TestClearenv (0.00s)
env_test.go:145: Setenv("GO_TEST_CLEARENV", "1") didn't set $GO_TEST_CLEARENV
--- FAIL: TestClearenv (0.00s)
env_test.go:145: Setenv("GO_TEST_CLEARENV", "1") didn't set $GO_TEST_CLEARENV
--- FAIL: TestClearenv (0.00s)
env_test.go:145: Setenv("GO_TEST_CLEARENV", "1") didn't set $GO_TEST_CLEARENV
--- FAIL: TestClearenv (0.00s)
env_test.go:145: Setenv("GO_TEST_CLEARENV", "1") didn't set $GO_TEST_CLEARENV
--- FAIL: TestClearenv (0.00s)
env_test.go:145: Setenv("GO_TEST_CLEARENV", "1") didn't set $GO_TEST_CLEARENV
FAIL
exit status: 'os.test 25721: 1'
FAIL os 145.298s
Existence of a race in env tests was originally reported in issue #25234, but it incorrectly assumed it was due to shared /env. Instead, the race seems to be in the Plan 9 kernel, between rfork(RFCENVG) and access to /env.
I propose replacing rfork(RFCENVG) (which creates a new env group) with removal of all environment variables in the current env group. I'll send a CL soon.
What version of Go are you using (
go version
)?What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
What did you expect to see?
No test failure
What did you see instead?
Existence of a race in env tests was originally reported in issue #25234, but it incorrectly assumed it was due to shared
/env
. Instead, the race seems to be in the Plan 9 kernel, betweenrfork(RFCENVG)
and access to/env
.I propose replacing
rfork(RFCENVG)
(which creates a new env group) with removal of all environment variables in the current env group. I'll send a CL soon.@gopherbot Please add label OS-Plan9, NeedsFix
The text was updated successfully, but these errors were encountered: