Join 40 million developers who use GitHub
issues to help identify, assign, and keep track of the features and
bug fixes your projects need.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
to your account
go version devel +2d20ded Sat May 20 00:45:56 2017 +0000 linux/arm64
GOGCCFLAGS="-fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build257642744=/tmp/go-build -gno-record-gcc-switches"
$go test -run="TestPingPongHog"
--- FAIL: TestPingPongHog (0.15s)
proc_test.go:434: want hogCount/lightCount in [0.5, 2]; got 23000000/11097000 = 2.072632242948545
exit status 1
I'm not sure whether the required range [0.5, 2] is reasonable.
I would appreciate it if someone can shed some light on the range.
How often does it fail? Does -race affect the frequency? I guess you used something like go test -run=TestPingPongHog -count 1000 to try many times and get a few failures?
go test -run=TestPingPongHog -count 1000
The failure rate is about: 458/1000 (-count 1000)
The "-race" is only supported on amd64 and I can't use it on arm64.
I find there are failures even for amd64 but the rate is very small: 24/1000.
The "-race" will improve the failure rate to: 100%.
So it seems that arm64 just amplify the failure probability.
/cc @ianlancetaylor @bradfitz
any comments on the failure rate?
I just ran the test 1000 times on amd64 and saw 39 failures. The smallest ratio I saw was 0.4875967574815627 and the largest was 2.5314388371713212.
@aclements wrote the test so I will let him decide what to do.
I think we can just expand the range a bit. There's was nothing special about the 2X. If this test weren't working, I would expect the gap to be closer to 1000X.
CL https://golang.org/cl/44859 mentions this issue.
Successfully merging a pull request may close this issue.