Skip to content
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

sync: TestWaitGroupMisuse2 is flaky #38163

Closed
bcmills opened this issue Mar 30, 2020 · 9 comments
Closed

sync: TestWaitGroupMisuse2 is flaky #38163

bcmills opened this issue Mar 30, 2020 · 9 comments
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done. Testing An issue that has been verified to require only test changes, not just a test failure.
Milestone

Comments

@bcmills bcmills added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Mar 30, 2020
@bcmills bcmills added this to the Backlog milestone Mar 30, 2020
@bcmills
Copy link
Contributor Author

bcmills commented Mar 31, 2020

@bcmills
Copy link
Contributor Author

bcmills commented Apr 16, 2020

@mundaym
Copy link
Member

mundaym commented Jul 17, 2020

I propose that we just delete this test. It has become a time sink and I don't think there is any way to make it truly reliable. It is testing a race condition between two pieces of code that is fundamentally impossible to guarantee, especially on a VM where the underlying hardware is oversubscribed. The error condition detection that it is testing for is optional - losing it would not affect correct programs - and overlaps with the checks that -race mode does.

@bcmills
Copy link
Contributor Author

bcmills commented Aug 5, 2021

Seems to have gotten less flaky in 2021 — it had been almost a year since the last flake on record!
(But still flaky.)

2021-08-04T15:26:45-6e73886/windows-arm64-10
2020-10-02T08:52:16-15bf061/linux-s390x-ibm
2020-09-12T19:42:29-b3ef90e/linux-s390x-ibm
2020-07-30T15:46:39-6b4dcf1/linux-s390x-ibm
2020-07-27T16:04:55-19a932c/linux-s390x-ibm
2020-07-22T21:31:19-71218db/linux-s390x-ibm
2020-07-10T11:32:36-3a43226/linux-s390x-ibm
2020-07-08T22:16:24-4f2a2d7/linux-s390x-ibm
2020-07-02T22:08:11-5de90d3/linux-s390x-ibm
2020-07-01T15:29:29-a4ba411/linux-s390x-ibm
2020-07-01T14:41:56-7799756/linux-s390x-ibm
2020-06-30T20:14:48-96e8366/linux-s390x-ibm
2020-06-30T18:40:39-5779bb4/linux-s390x-ibm
2020-06-29T21:33:23-8c52173/linux-s390x-ibm
2020-06-24T22:40:11-b465202/linux-s390x-ibm
2020-06-24T20:16:49-72019cf/linux-s390x-ibm
2020-06-19T16:41:13-27a0012/linux-s390x-ibm
2020-06-19T16:14:19-b424a31/linux-s390x-ibm
2020-06-19T02:11:35-3dec253/linux-s390x-ibm
2020-06-18T01:12:21-84baf41/linux-s390x-ibm
2020-06-17T19:48:45-8b98498/linux-s390x-ibm
2020-06-17T00:18:55-e25aa4f/linux-s390x-ibm
2020-06-10T21:39:03-6aadfcd/linux-s390x-ibm
2020-05-13T22:15:39-a88c26e/linux-s390x-ibm
2020-05-07T20:18:02-3321303/linux-s390x-ibm
2020-05-06T13:55:00-4daf871/aix-ppc64
2020-04-29T19:02:32-5a550b6/linux-s390x-ibm
2020-04-24T18:49:16-512277d/linux-s390x-ibm
2020-04-21T20:49:34-2a2423b/linux-s390x-ibm
2020-04-20T22:38:59-0cffc95/linux-s390x-ibm
2020-04-20T20:33:36-40a144b/linux-s390x-ibm
2020-04-17T22:12:02-4d9ecde/linux-s390x-ibm

@gopherbot
Copy link

Change https://golang.org/cl/340249 mentions this issue: sync: remove TestWaitGroupMisuse2 and TestWaitGroupMisuse3

@dmitshur dmitshur added Testing An issue that has been verified to require only test changes, not just a test failure. NeedsFix The path to resolution is known, but the work has not been done. and removed NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Aug 5, 2021
@dmitshur dmitshur modified the milestones: Backlog, Go1.18 Aug 12, 2021
@dmitshur
Copy link
Contributor

@gopherbot Please backport to Go 1.17 as a test-only fix. The TestWaitGroupMisuse2 test had a flaky failure during the 1.17.9 release, which requires tests to be re-run and slows the process down.

@gopherbot
Copy link

Backport issue(s) opened: #52306 (for 1.17).

Remember to create the cherry-pick CL(s) as soon as the patch is submitted to master, according to https://go.dev/wiki/MinorReleases.

@gopherbot
Copy link

Change https://go.dev/cl/399821 mentions this issue: [release-branch.go1.17] sync: remove TestWaitGroupMisuse2 and TestWaitGroupMisuse3

gopherbot pushed a commit that referenced this issue May 2, 2022
…tGroupMisuse3

These tests are inherently nondeterministic: They exercise a racy
code path for up to one million iterations, and require that an
error occur at least once.

TestWaitGroupMisuse2 in particular is an ongoing source of trybot
flakiness.

Updates #38163.
Fixes #52306.

Change-Id: Ibbbda2c998c915333487ad262d3df6829de01c2b
Reviewed-on: https://go-review.googlesource.com/c/go/+/340249
Trust: Damien Neil <dneil@google.com>
Trust: Dmitri Shuralyov <dmitshur@golang.org>
Run-TryBot: Damien Neil <dneil@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
(cherry picked from commit 011fd00)
Reviewed-on: https://go-review.googlesource.com/c/go/+/399821
Run-TryBot: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
@golang golang locked and limited conversation to collaborators Apr 12, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done. Testing An issue that has been verified to require only test changes, not just a test failure.
Projects
None yet
Development

No branches or pull requests

4 participants