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

runtime: TestCgoLockOSThreadExit failures with WaitDelay expired #57083

Closed
gopherbot opened this issue Dec 5, 2022 · 10 comments
Closed

runtime: TestCgoLockOSThreadExit failures with WaitDelay expired #57083

gopherbot opened this issue Dec 5, 2022 · 10 comments
Labels
arch-mips compiler/runtime Issues related to the Go compiler and/or runtime. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@gopherbot
Copy link

gopherbot commented Dec 5, 2022

#!watchflakes
post <- pkg == "runtime" && test == "TestCgoLockOSThreadExit" && `WaitDelay expired` && date < "2023-03-01"

Issue created automatically to collect these failures.

Example (log):

--- FAIL: TestCgoLockOSThreadExit (33.56s)
    crash_test.go:58: /tmp/gobuilder-mips64/tmp/go-build1708738987/testprogcgo.exe LockOSThreadMain (1.426881411s): ok
    crash_test.go:58: /tmp/gobuilder-mips64/tmp/go-build1708738987/testprogcgo.exe LockOSThreadAlt: exec: WaitDelay expired before I/O complete

watchflakes

@gopherbot gopherbot added NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. compiler/runtime Issues related to the Go compiler and/or runtime. labels Dec 5, 2022
@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "runtime" && test == "TestCgoLockOSThreadExit"
2022-12-01 21:00 linux-mips-rtrk go@93587d35 runtime.TestCgoLockOSThreadExit (log)
--- FAIL: TestCgoLockOSThreadExit (33.56s)
    crash_test.go:58: /tmp/gobuilder-mips64/tmp/go-build1708738987/testprogcgo.exe LockOSThreadMain (1.426881411s): ok
    crash_test.go:58: /tmp/gobuilder-mips64/tmp/go-build1708738987/testprogcgo.exe LockOSThreadAlt: exec: WaitDelay expired before I/O complete

watchflakes

@prattmic
Copy link
Member

cc @golang/mips

@prattmic prattmic added this to the Backlog milestone Dec 14, 2022
@gopherbot

This comment was marked as outdated.

@gopherbot

This comment was marked as outdated.

@bcmills bcmills removed the arch-mips label Feb 1, 2023
@bcmills
Copy link
Contributor

bcmills commented Feb 1, 2023

This failure mode does not appear to be platform-dependent — I think it's just a timing-sensitive test. Probably needs some kind of more explicit synchronization.

@bcmills
Copy link
Contributor

bcmills commented Feb 2, 2023

Hmm. Actually, there are three different failure modes here:

  • The openbsd-amd64-71 failure is runtime: test timeouts on openbsd-.*-71 builders #57585.
  • The dragonfly-amd64-622 failure looks like a timing-sensitive behavior in the test — it only waits for 100ms before arbitrarily failing if the thread's destructor hasn't run yet.
  • The linux-mips-rtrk failure is something different — the I/O from the test process took longer than we expected to flush.

@bcmills bcmills changed the title runtime: TestCgoLockOSThreadExit failures runtime: TestCgoLockOSThreadExit failures with WaitDelay expired Feb 2, 2023
@bcmills
Copy link
Contributor

bcmills commented Feb 2, 2023

I've filed the dragonfly-amd64-622 failure mode separately as #58247.

@bcmills
Copy link
Contributor

bcmills commented Feb 2, 2023

The linux-mips-rtrk failure could have just been a long C compilation time (compare #44422) running the test up against its timeout, which causes the computed WaitDelay (5% of the remaining deadline) to be reduced.

We also increase the minimum WaitDelay based on GO_TEST_TIMEOUT_SCALE, but up until CL 455521 that wasn't explicitly set in the environment on this builder. I suspect that that environment change may have reduced the likelihood of this failure mode on the mips builders.

@bcmills bcmills closed this as not planned Won't fix, can't repro, duplicate, stale Feb 2, 2023
@gopherbot gopherbot reopened this Aug 17, 2023
@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "runtime" && test == "TestCgoLockOSThreadExit" && `WaitDelay expired`
2023-08-15 19:42 linux-s390x-ibm go@dd307f19 runtime.TestCgoLockOSThreadExit (log)
--- FAIL: TestCgoLockOSThreadExit (1.26s)
    proc_test.go:983: /data/golang/workdir/tmp/go-build4088272690/testprogcgo.exe LockOSThreadMain: exec: WaitDelay expired before I/O complete

watchflakes

@bcmills
Copy link
Contributor

bcmills commented Aug 17, 2023

#58901

@bcmills bcmills closed this as not planned Won't fix, can't repro, duplicate, stale Aug 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-mips compiler/runtime Issues related to the Go compiler and/or runtime. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
Status: Done
Development

No branches or pull requests

3 participants