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

cmd/go: exec: WaitDelay expired before I/O complete #58230

Closed
prattmic opened this issue Feb 1, 2023 · 2 comments
Closed

cmd/go: exec: WaitDelay expired before I/O complete #58230

prattmic opened this issue Feb 1, 2023 · 2 comments
Assignees
Labels
FrozenDueToAge GoCommand cmd/go NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@prattmic
Copy link
Member

prattmic commented Feb 1, 2023

#!watchflakes
post <- `^exec: WaitDelay expired before I/O complete`

I only see one prior failure (posted to #56785):

2023-01-24T19:47:54-ffbd194/freebsd-arm-paulzhol

This seems to be a case of the test passing, but slow scheduling preventing Wait in the parent from returning quickly enough.

@prattmic prattmic added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Feb 1, 2023
@bcmills bcmills added NeedsFix The path to resolution is known, but the work has not been done. GoCommand cmd/go labels Feb 1, 2023
@bcmills bcmills self-assigned this Feb 1, 2023
@bcmills bcmills added this to the Go1.21 milestone Feb 1, 2023
@gopherbot gopherbot removed the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Feb 1, 2023
@bcmills
Copy link
Contributor

bcmills commented Feb 1, 2023

Looks like we need to adjust the WaitDelay heuristic following CL 456116 (#24050).

@gopherbot
Copy link
Contributor

Change https://go.dev/cl/464555 mentions this issue: cmd/go/internal/test: scale the WaitDelay for test subprocesses

johanbrandhorst pushed a commit to Pryz/go that referenced this issue Feb 12, 2023
Prior to CL 456116 we had an arbitrary 5-second delay after a test
times out before we kill the test. In CL 456116, I reused that
arbitrary 5-second delay as the WaitDelay as well, but on slower
builders it does not seem to be generous enough.

Instead of hard-coding the delay, for tests with a finite timout we
now use a hard-coded fraction of the overall timeout. That will
probably give delays that are longer than strictly necessary for very
long timeouts, but if the user is willing to wait for a very long
timeout they can probably wait a little longer for I/O too.

Fixes golang#58230.
Updates golang#24050.

Change-Id: Ifbf3e576c034c721aa00cd17bf88563474b09955
Reviewed-on: https://go-review.googlesource.com/c/go/+/464555
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Pratt <mpratt@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
@golang golang locked and limited conversation to collaborators Feb 2, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge GoCommand cmd/go NeedsFix The path to resolution is known, but the work has not been done.
Projects
Archived in project
Development

No branches or pull requests

3 participants