-
Notifications
You must be signed in to change notification settings - Fork 17.9k
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
net: TestVariousDeadlines is flaky #19519
Comments
Not just freebsd. Just failed locally on darwin/amd64:
|
This continues to be one of the more common flakes on the dashboard. Moving the milestone back to 1.11. |
Any hints to reproduce this issue? I just failed to do so on my linux/amd64 laptop, reaching 5000 successful runs with:
Might be useful to start pasting builder failure logs here, to see if there is a pattern. For example, this might show up only on BSDs. |
https://github.com/aclements/go-misc/tree/master/greplogs might be helpful. |
Here's another repro in the builders (plan9-386): |
The plan9_386 failure is very frequent but slightly different - it's always "timeout (5s) waiting for client to timeout (...) reading" where the reported freebsd and darwin failure is "timeout waiting for server to finish writing". On plan9_386, I have never observed the failure on real hardware, or on qemu running on an otherwise idle server. This weekend I have managed to reproduce it (very intermittently) by simulating a busy server, by running qemu in parallel with many cpu-bound "nice --10" processes. My hypothesis is that it's the measurement of time that's flawed, not the network implementation. @fuzxxl and @josharian , are your observed failures on real hardware or on virtual machines? |
@millerresearch The failure was observed on real hardware (a Dell Precision M4800 running FreeBSD 11.0 I think). I am currently not able to reproduce it using Go 1.10 on the same machine now running FreeBSD 11.2. |
Another occurrence on FreeBSD: https://storage.googleapis.com/go-build-log/54e5f909/freebsd-amd64-12_0_325e1e39.log |
|
FreeBSD 11.2 again: |
This is flaking for darwin-amd64-nocgo as well: /cc @mikioh |
The The |
Change https://golang.org/cl/184137 mentions this issue: |
Change https://golang.org/cl/184157 mentions this issue: |
The localPipe implementation assumes that every successful net.Dial results in exactly one successful listener.Accept. I don't believe this is guaranteed by essentially any operating system. For this test, we're seeing flakes on dragonfly (#29583). But see also #19519, flakes due to the same assumption on FreeBSD and macOS in package net's own tests. This CL rewrites localPipe to try a few times to get a matching pair of connections on the dial and accept side. Fixes #29583. Change-Id: Idb045b18c404eae457f091df20456c5ae879a291 Reviewed-on: https://go-review.googlesource.com/c/go/+/184157 Run-TryBot: Russ Cox <[email protected]> TryBot-Result: Gobot Gobot <[email protected]> Reviewed-by: Bryan C. Mills <[email protected]>
What version of Go are you using (
go version
)?What operating system and processor architecture are you using (
go env
)?uname -a
output:ifconfig
output:sysctl hw.model
output:What did you do?
I tried to update my Go 1.6 installation to Go 1.8 by removing the Go installation, downloading the source code from here and running
all.bash
.What did you expect to see?
A successful build followed by a successful pass through the test suite.
What did you see instead?
A successful build followed by
TestVariousDeadlines
failing:The text was updated successfully, but these errors were encountered: