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
Closed

net/http: TestServerKeepAlivesEnabled_h2 test flakes #21724

mvdan opened this issue Sep 1, 2017 · 4 comments
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done. Testing An issue that has been verified to require only test changes, not just a test failure.
Milestone

Comments

@mvdan
Copy link
Member

mvdan 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 added NeedsFix The path to resolution is known, but the work has not been done. Testing An issue that has been verified to require only test changes, not just a test failure. labels Dec 1, 2017
@bradfitz bradfitz self-assigned this Dec 1, 2017
@bradfitz bradfitz added this to the Go1.10 milestone Dec 1, 2017
@bradfitz
Copy link
Contributor

bradfitz 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
Copy link
Contributor

bradfitz 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
Copy link
Contributor

bradfitz commented Dec 1, 2017

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

@gopherbot
Copy link
Contributor

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

@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.
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done. Testing An issue that has been verified to require only test changes, not just a test failure.
Projects
None yet
Development

No branches or pull requests

4 participants