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

net/http: TestTransportConcurrency failures with ECONNRESET during dial on netbsd #52168

Open
bcmills opened this issue Apr 5, 2022 · 2 comments
Open
Labels
NeedsInvestigation OS-NetBSD
Milestone

Comments

@bcmills
Copy link
Member

@bcmills bcmills commented Apr 5, 2022

--- FAIL: TestTransportConcurrency (0.00s)
    transport_test.go:2102: error on req request-35: Get "http://127.0.0.1:64126/?echo=request-35": dial tcp 127.0.0.1:64126: connect: connection reset by peer
FAIL
FAIL	net/http	9.037s

The last issue I could find for this test is #33585, but the failures there were during read rather than dial.

greplogs --dashboard -md -l -e 'FAIL: TestTransportConcurrency .*(?:\n.*)*error on req .*: Get .*: connection reset by peer' --since=2020-10-17

2022-04-04T20:37:59-11ec59a/netbsd-amd64-9_0
2022-04-01T01:17:45-5dbfa6e/netbsd-386-9_0
2021-02-11T01:10:35-930c2c9/netbsd-arm-bsiegert

(CC @neild)

@bcmills bcmills added OS-NetBSD NeedsInvestigation labels Apr 5, 2022
@bcmills bcmills added this to the Backlog milestone Apr 5, 2022
@bcmills
Copy link
Member Author

@bcmills bcmills commented Apr 6, 2022

(CC @bsiegert, @coypoop, @4a6f656c? — are these the right NetBSD Go maintainers?)

@gopherbot
Copy link

@gopherbot gopherbot commented Apr 6, 2022

Change https://go.dev/cl/398635 mentions this issue: net/http: ignore ECONNRESET errors in TestTransportConcurrency on netbsd

gopherbot pushed a commit that referenced this issue Apr 6, 2022
The source of these errors is undiagnosed, but they have only been
observed on netbsd builders (on a variety of architectures).

Tested manually by injecting this code into the test's handler:

		if mrand.Intn(4) == 0 {
			if conn, _, err := w.(Hijacker).Hijack(); err == nil {
				conn.(*net.TCPConn).SetLinger(0)
				conn.Close()
				return
			}
		}

and temporarily disabling the 'runtime.GOOS' part of the condition.

For #52168.

Change-Id: I10965803e5a0d493ac4a000575de8b5f0266989c
Reviewed-on: https://go-review.googlesource.com/c/go/+/398635
Trust: Bryan Mills <bcmills@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NeedsInvestigation OS-NetBSD
Projects
None yet
Development

No branches or pull requests

2 participants