New issue
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? Sign in to your account
cmd/vendor/github.com/google/pprof/internal/driver: TestHttpsInsecure flaky under load #24611
Comments
@josharian what's the exact failure message you get? I wonder if this is google/pprof#328. Also see google/pprof#343 - the pprof people are aware of the number of flakes they tend to introduce given our vast variety of builders. |
@josharian Curious - what's the stress tool you used? https://people.seas.harvard.edu/~apw/stress doesn't seem to have the -p flag. |
If it's a tool people in the Go team use, and it's not part of the Go tree, it's very usually in the x repos: https://godoc.org/golang.org/x/tools/cmd/stress |
Trying to test against /debug/pprof/profile has been giving some flakes and trouble so far (google#146, google#253, google#328, golang/go#24611, golang/go#22594). While some of the discussions the failures triggered appear to be useful (such as whether CPU profiles are expected to be working on Windows XP or not), that kind of testing is not really in the scope for this particular test. This change switches the test to use goroutine profile instead which is hopefully much less dependent on the environment. The change also makes the test much faster to run.
Trying to test against /debug/pprof/profile has been giving some flakes and trouble so far (#146, #253, #328, golang/go#24611, golang/go#22594). While some of the discussions the failures triggered appear to be useful (such as whether CPU profiles are expected to be working on Windows XP or not), that kind of testing is not really in the scope for this particular test. This change switches the test to use goroutine profile instead which is hopefully much less dependent on the environment. The change also makes the test much faster to run.
What is the procedure for re-vendoring? I'm excited to get the upsteam fix pulled in. |
@josharian last time I just did a copy manually, careful to not introduce unwanted parts of the repository. I wondered if a tool was being used to keep track of vendored packages, but apparently it's never been the case. |
I'll submit a CL now, since I was also wanting to re-vendor to pull in flakiness fixes: #24405 |
Actually, we are still blocked on an issue - #24508. I'll ping the pprof people in case they are going to have a fix soon, but otherwise I'll sync the vendored copy with that test disabled. |
Change https://golang.org/cl/105275 mentions this issue: |
This was also reported as #22594, where it was assumed to be specific to some builders. But the issue is that the test is flaky when the underlying machine is heavily loaded.
I can reproduce it on my speedy darwin/amd64 laptop with:
Result: "849 runs so far, 24 failures", which is > 2% failure rate.
I also saw this happen during a regular local all.bash, and also earlier on a trybot run--which confused me into wasting time, assuming I had introduced a bug with a compiler change.
Also, the test takes 10-15s, 5s of which is spent burning CPU. :(
We should figure out how to make this non-flaky, and ideally also less resource-intensive. Or at the very least we should skip it in testing.Short mode, and leave it to be run once #12508 is fixed.
cc @hyangah (?)
Marking as Go 1.11 because I am frustrated with the number of flaky tests we have.
The text was updated successfully, but these errors were encountered: