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: TestServerCancelsReadTimeoutWhenIdle failures #57602

Open
gopherbot opened this issue Jan 4, 2023 · 3 comments
Open

net/http: TestServerCancelsReadTimeoutWhenIdle failures #57602

gopherbot opened this issue Jan 4, 2023 · 3 comments
Labels
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 Jan 4, 2023

#!watchflakes
post <- pkg == "net/http" && test == "TestServerCancelsReadTimeoutWhenIdle" && `failed with duration`

Issue created automatically to collect these failures.

Example (log):

--- FAIL: TestServerCancelsReadTimeoutWhenIdle (0.00s)
    --- FAIL: TestServerCancelsReadTimeoutWhenIdle/h2 (4.61s)
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:50635: read tcp 127.0.0.1:50636->127.0.0.1:50635: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:50633: write tcp 127.0.0.1:50634->127.0.0.1:50633: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:50619: write tcp 127.0.0.1:50620->127.0.0.1:50619: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:50617: write tcp 127.0.0.1:50618->127.0.0.1:50617: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:50610: read tcp 127.0.0.1:50611->127.0.0.1:50610: i/o timeout
        serve_test.go:5853: failed with duration 2s: Get: Get "https://127.0.0.1:50611": unexpected EOF

watchflakes

@gopherbot gopherbot added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Jan 4, 2023
@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "net/http" && test == "TestServerCancelsReadTimeoutWhenIdle"
2022-11-30 17:03 netbsd-arm-bsiegert go@60525dc3 net/http.TestServerCancelsReadTimeoutWhenIdle (log)
--- FAIL: TestServerCancelsReadTimeoutWhenIdle (0.00s)
    --- FAIL: TestServerCancelsReadTimeoutWhenIdle/h2 (4.61s)
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:50635: read tcp 127.0.0.1:50636->127.0.0.1:50635: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:50633: write tcp 127.0.0.1:50634->127.0.0.1:50633: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:50619: write tcp 127.0.0.1:50620->127.0.0.1:50619: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:50617: write tcp 127.0.0.1:50618->127.0.0.1:50617: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:50610: read tcp 127.0.0.1:50611->127.0.0.1:50610: i/o timeout
        serve_test.go:5853: failed with duration 2s: Get: Get "https://127.0.0.1:50611": unexpected EOF

watchflakes

@bcmills
Copy link
Member

bcmills commented Jan 6, 2023

2s is the longest of the (still arbitrary) timeouts in this list:
https://cs.opensource.google/go/go/+/master:src/net/http/serve_test.go;l=5761;drc=21015cf6baed45a1e7c3d1a0dfe34c778140344f

But the test is only setting ts.Config.ReadTimeout — so why is the write operation in the TLS handshake also timing out? 🤔

(CC @neild)

@bcmills bcmills added this to the Backlog milestone Jan 6, 2023
@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "net/http" && test == "TestServerCancelsReadTimeoutWhenIdle"
2023-01-30 08:01 freebsd-arm-paulzhol go@932d0ae8 net/http.TestServerCancelsReadTimeoutWhenIdle (log)
--- FAIL: TestServerCancelsReadTimeoutWhenIdle (0.00s)
    --- FAIL: TestServerCancelsReadTimeoutWhenIdle/h2 (5.31s)
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:24225: write tcp 127.0.0.1:24224->127.0.0.1:24225: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:24229: write tcp 127.0.0.1:24228->127.0.0.1:24229: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:24239: write tcp 127.0.0.1:24236->127.0.0.1:24239: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:24244: write tcp 127.0.0.1:24242->127.0.0.1:24244: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:24275: write tcp 127.0.0.1:24274->127.0.0.1:24275: i/o timeout
        serve_test.go:5853: failed with duration 2s: Get: Get "https://127.0.0.1:24274": EOF
    --- FAIL: TestServerCancelsReadTimeoutWhenIdle/h1 (5.40s)
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:24223: write tcp 127.0.0.1:24222->127.0.0.1:24223: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:24227: write tcp 127.0.0.1:24226->127.0.0.1:24227: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:24235: write tcp 127.0.0.1:24234->127.0.0.1:24235: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:24243: write tcp 127.0.0.1:24241->127.0.0.1:24243: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:24273: write tcp 127.0.0.1:24272->127.0.0.1:24273: i/o timeout
        serve_test.go:5853: failed with duration 2s: Get: Get "https://127.0.0.1:24272": EOF
2023-01-31 13:55 freebsd-arm-paulzhol go@da0c375c net/http.TestServerCancelsReadTimeoutWhenIdle (log)
--- FAIL: TestServerCancelsReadTimeoutWhenIdle (0.00s)
    --- FAIL: TestServerCancelsReadTimeoutWhenIdle/h2 (6.53s)
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:10703: write tcp 127.0.0.1:10702->127.0.0.1:10703: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:10709: write tcp 127.0.0.1:10708->127.0.0.1:10709: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:10716: write tcp 127.0.0.1:10715->127.0.0.1:10716: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:10720: write tcp 127.0.0.1:10719->127.0.0.1:10720: i/o timeout
        clientserver_test.go:210: server log: http: TLS handshake error from 127.0.0.1:10728: read tcp 127.0.0.1:10727->127.0.0.1:10728: i/o timeout
        serve_test.go:5853: failed with duration 2s: Get: Get "https://127.0.0.1:10727": write tcp 127.0.0.1:10728->127.0.0.1:10727: write: broken pipe
2023-02-01 19:47 linux-amd64-race go@ab0f0459 net/http.TestServerCancelsReadTimeoutWhenIdle (log)
--- FAIL: TestServerCancelsReadTimeoutWhenIdle (0.00s)

watchflakes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
Status: No status
Development

No branches or pull requests

2 participants