-
Notifications
You must be signed in to change notification settings - Fork 17.7k
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
x/build: add a longtest+race builder #54630
Comments
cc @golang/release |
The race detector builders currently have |
The long tests require network so you'll want to leave the network enabled. |
Got it. Also @bcmills do you want this to run for subrepos? Or are you just concerned about the main repo at the moment? (I figure I'll just start with the main repo since I suspect there will be some surprises...) |
Ideally subrepos too (especially |
I redeployed the coordinator and the builders are online! (For subrepos as well.) Hopefully the timeout scale is sufficient. We'll see soon. |
I think the UI could also use some work. It's in the race section but it just says "linux" twice. I'll poke at that. |
Change https://go.dev/cl/449196 mentions this issue: |
Hm, the builds seem stuck on... what I have to guess is the |
For comparison, |
Worse than that actually, 600+ seconds. The runtime tests took 700+ seconds. Unfortunately the builds are incredibly slow. :( How should we proceed? Leave the builder but start disabling tests for this configuration? Is it fine to be this slow? |
If the tests pass reliably (with an appropriate timeout scale factor), then I guess the relevant question is just how slow are they? Given that the race detector dumps exact stack traces for any race it detects, and given that it's for a common platform and architecture (so not hard to find a local machine to run the tests on), I'd say that if the builder takes, say, twice as long as the The log you linked seems to have disappeared, but looking at the |
It's definitely not 10 hours but I don't have complete data. It does actually seem to be mostly keeping up with tip, so maybe it's fine. Maybe let's just leave it up and we can work on improving run times more incrementally. |
It does look like |
|
Change https://go.dev/cl/449518 mentions this issue: |
TestInput is fiendishly slow and memory-hungry. Breaking it into subtests reveals that the vast majority of that cost can be attributed to a single test case: "testdata/a_test.go". Update the address-space-based skip to skip only that one input, skip it under the race detector (it is timing out on the new "linux-amd64-longtest-race" builder), and run the remaining inputs in parallel (to reduce test latency now that we've better identified the culprit). Updates golang/go#14113. Updates golang/go#54630. Change-Id: I105cfa173edc74692eaa41efd50ae08eeacf0d7d Reviewed-on: https://go-review.googlesource.com/c/tools/+/449518 TryBot-Result: Gopher Robot <[email protected]> gopls-CI: kokoro <[email protected]> Auto-Submit: Bryan Mills <[email protected]> Run-TryBot: Bryan Mills <[email protected]> Reviewed-by: Alan Donovan <[email protected]>
We have
-race
builders that run tests with the race detector enabled, and-longtest
builders that run tests without-short
.However, most non-trivial races occur in concurrent code, and tests with nontrivial concurrency tend to take longer. So the tests run by the
-race
builders miss a lot of the actual races.It would be nice to have at least one builder that runs the full test suite (without
-short
) under the race detector.The text was updated successfully, but these errors were encountered: