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: TestServerKeepAlivesEnabled_h2 test flakes #21724

Closed
mvdan opened this issue Sep 1, 2017 · 4 comments

Comments

Projects
None yet
4 participants
@mvdan
Copy link
Member

commented Sep 1, 2017

--- FAIL: TestServerKeepAlivesEnabled_h2 (0.07s)
	clientserver_test.go:50: Get https://127.0.0.1:40070: write tcp 127.0.0.1:35196->127.0.0.1:40070: write: broken pipe

Seen here: https://storage.googleapis.com/go-build-log/55ca0192/linux-amd64_45ee111b.log

Similar to #18701, but not the same - that one only happens on Windows, and the error is different.

@bradfitz bradfitz changed the title net/http: TestServerKeepAlivesEnabled_h2 broken pipe flake net/http: TestServerKeepAlivesEnabled_h2 test flakes Dec 1, 2017

@bradfitz bradfitz self-assigned this Dec 1, 2017

@bradfitz bradfitz added this to the Go1.10 milestone Dec 1, 2017

@bradfitz

This comment has been minimized.

Copy link
Member

commented Dec 1, 2017

Also:

https://build.golang.org/log/1ed9b50cf1215a0e96f1420bef13396568ed57ac

ok  	net	55.406s
1 second passes in backend, proxygone= false
--- FAIL: TestServerKeepAlivesEnabled_h2 (4.34s)
	serve_test.go:5467: test server has active conns
FAIL
FAIL	net/http	33.092s
2017/12/01 01:00:27 Failed: exit status 1

/cc @tombergan

@bradfitz

This comment has been minimized.

Copy link
Member

commented Dec 1, 2017

@tombergan, this test got slow (2 seconds) and flaky starting at your a8def0b (for "http2: always delay closing the connection after sending GOAWAY").

Can you take this one?

Before:

bradfitz@gdev:~/go/src/net/http$ git reset --hard a8def0bbbccb0e856e96ec35b0ebd68e1783042c^
(and make.bash)
bradfitz@gdev:~/go/src/net/http$ go test -v -run=TestServerKeepAlivesEnabled_h -count=5
=== RUN   TestServerKeepAlivesEnabled_h1
--- PASS: TestServerKeepAlivesEnabled_h1 (0.00s)
=== RUN   TestServerKeepAlivesEnabled_h2
--- PASS: TestServerKeepAlivesEnabled_h2 (0.01s)
=== RUN   TestServerKeepAlivesEnabled_h1
--- PASS: TestServerKeepAlivesEnabled_h1 (0.00s)
=== RUN   TestServerKeepAlivesEnabled_h2
--- PASS: TestServerKeepAlivesEnabled_h2 (0.01s)
=== RUN   TestServerKeepAlivesEnabled_h1
--- PASS: TestServerKeepAlivesEnabled_h1 (0.00s)
=== RUN   TestServerKeepAlivesEnabled_h2
--- PASS: TestServerKeepAlivesEnabled_h2 (0.01s)
=== RUN   TestServerKeepAlivesEnabled_h1
--- PASS: TestServerKeepAlivesEnabled_h1 (0.00s)
=== RUN   TestServerKeepAlivesEnabled_h2
--- PASS: TestServerKeepAlivesEnabled_h2 (0.01s)
=== RUN   TestServerKeepAlivesEnabled_h1
--- PASS: TestServerKeepAlivesEnabled_h1 (0.00s)
=== RUN   TestServerKeepAlivesEnabled_h2
--- PASS: TestServerKeepAlivesEnabled_h2 (0.01s)
PASS    
ok      net/http        0.060s

After:

bradfitz@gdev:~/go/src/net/http$ git reset --hard a8def0bbbccb0e856e96ec35b0ebd68e1783042c
HEAD is now at a8def0b net/http: update bundled http2
bradfitz@gdev:~/go/src/net/http$ go test -v -run=TestServerKeepAlivesEnabled_h -count=5
=== RUN   TestServerKeepAlivesEnabled_h1
--- PASS: TestServerKeepAlivesEnabled_h1 (0.02s)
=== RUN   TestServerKeepAlivesEnabled_h2
--- PASS: TestServerKeepAlivesEnabled_h2 (2.03s)
=== RUN   TestServerKeepAlivesEnabled_h1
--- PASS: TestServerKeepAlivesEnabled_h1 (0.00s)
=== RUN   TestServerKeepAlivesEnabled_h2
--- PASS: TestServerKeepAlivesEnabled_h2 (2.02s)
=== RUN   TestServerKeepAlivesEnabled_h1
--- PASS: TestServerKeepAlivesEnabled_h1 (0.00s)
=== RUN   TestServerKeepAlivesEnabled_h2
--- PASS: TestServerKeepAlivesEnabled_h2 (2.02s)
=== RUN   TestServerKeepAlivesEnabled_h1
--- PASS: TestServerKeepAlivesEnabled_h1 (0.00s)
=== RUN   TestServerKeepAlivesEnabled_h2
--- PASS: TestServerKeepAlivesEnabled_h2 (2.03s)
=== RUN   TestServerKeepAlivesEnabled_h1
--- PASS: TestServerKeepAlivesEnabled_h1 (0.00s)
=== RUN   TestServerKeepAlivesEnabled_h2
--- PASS: TestServerKeepAlivesEnabled_h2 (2.02s)
PASS                    
ok      net/http        10.160s
@bradfitz

This comment has been minimized.

Copy link
Member

commented Dec 1, 2017

@tombergan, nevermind, I remembered how you fixed the other test and did it here too.

@gopherbot

This comment has been minimized.

Copy link

commented Dec 1, 2017

Change https://golang.org/cl/81576 mentions this issue: net/http: speed up and deflake TestServerKeepAlivesEnabled_h2

@gopherbot gopherbot closed this in 8ba0933 Dec 1, 2017

@golang golang locked and limited conversation to collaborators Dec 1, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.