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: TestTransportIdleConnTimeout failures #67450

Open
gopherbot opened this issue May 16, 2024 · 26 comments
Open

net/http: TestTransportIdleConnTimeout failures #67450

gopherbot opened this issue May 16, 2024 · 26 comments
Assignees
Labels
FixPending Issues that have a fix which has not yet been reviewed or submitted. NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@gopherbot
Copy link
Contributor

gopherbot commented May 16, 2024

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`

Issue created automatically to collect these failures.

Example (log):

=== RUN   TestTransportIdleConnTimeout
--- FAIL: TestTransportIdleConnTimeout (0.06s)
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x849b991]

goroutine 29682 gp=0x9eabe68 m=9 mp=0x9900a08 [running]:
panic({0x850df20, 0x88d4108})
	/home/swarming/.swarming/w/ir/x/w/goroot/src/runtime/panic.go:778 +0x144 fp=0x9c53c78 sp=0x9c53c24 pc=0x80854c4
testing.tRunner.func1.2({0x850df20, 0x88d4108})
...
net/http_test.TestConsumingBodyOnNextConn(0x9c82408)
	/home/swarming/.swarming/w/ir/x/w/goroot/src/net/http/serve_test.go:170 +0x36 fp=0x98e5f84 sp=0x98e5f04 pc=0x84261e6
testing.tRunner(0x9c82408, 0x859dcb8)
	/home/swarming/.swarming/w/ir/x/w/goroot/src/testing/testing.go:1690 +0x119 fp=0x98e5fe4 sp=0x98e5f84 pc=0x815f5c9
testing.(*T).Run.gowrap1()
	/home/swarming/.swarming/w/ir/x/w/goroot/src/testing/testing.go:1743 +0x2e fp=0x98e5ff0 sp=0x98e5fe4 pc=0x81605ee
runtime.goexit({})
	/home/swarming/.swarming/w/ir/x/w/goroot/src/runtime/asm_386.s:1393 +0x1 fp=0x98e5ff4 sp=0x98e5ff0 pc=0x80c2341
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/goroot/src/testing/testing.go:1743 +0x3d1

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 May 16, 2024
@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test == "TestTransportIdleConnTimeout"
2024-05-16 16:44 gotip-linux-386-longtest go@4c1cc1c9 net/http.TestTransportIdleConnTimeout (log)
=== RUN   TestTransportIdleConnTimeout
--- FAIL: TestTransportIdleConnTimeout (0.06s)
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x849b991]

goroutine 29682 gp=0x9eabe68 m=9 mp=0x9900a08 [running]:
panic({0x850df20, 0x88d4108})
	/home/swarming/.swarming/w/ir/x/w/goroot/src/runtime/panic.go:778 +0x144 fp=0x9c53c78 sp=0x9c53c24 pc=0x80854c4
testing.tRunner.func1.2({0x850df20, 0x88d4108})
...
net/http_test.TestConsumingBodyOnNextConn(0x9c82408)
	/home/swarming/.swarming/w/ir/x/w/goroot/src/net/http/serve_test.go:170 +0x36 fp=0x98e5f84 sp=0x98e5f04 pc=0x84261e6
testing.tRunner(0x9c82408, 0x859dcb8)
	/home/swarming/.swarming/w/ir/x/w/goroot/src/testing/testing.go:1690 +0x119 fp=0x98e5fe4 sp=0x98e5f84 pc=0x815f5c9
testing.(*T).Run.gowrap1()
	/home/swarming/.swarming/w/ir/x/w/goroot/src/testing/testing.go:1743 +0x2e fp=0x98e5ff0 sp=0x98e5fe4 pc=0x81605ee
runtime.goexit({})
	/home/swarming/.swarming/w/ir/x/w/goroot/src/runtime/asm_386.s:1393 +0x1 fp=0x98e5ff4 sp=0x98e5ff0 pc=0x80c2341
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/goroot/src/testing/testing.go:1743 +0x3d1

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test == "TestTransportIdleConnTimeout"
2024-07-16 18:17 gotip-linux-386-longtest go@b4a92f56 net/http.TestTransportIdleConnTimeout (log)
=== RUN   TestTransportIdleConnTimeout
--- FAIL: TestTransportIdleConnTimeout (0.01s)
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x84bf2ca]

goroutine 29421 gp=0x9525208 m=21 mp=0x938ea08 [running]:
panic({0x8533bc0, 0x8911560})
	/home/swarming/.swarming/w/ir/x/w/goroot/src/runtime/panic.go:804 +0x144 fp=0x915fc78 sp=0x915fc24 pc=0x80bc284
testing.tRunner.func1.2({0x8533bc0, 0x8911560})
...
net/http_test.TestConsumingBodyOnNextConn(0x9214308)
	/home/swarming/.swarming/w/ir/x/w/goroot/src/net/http/serve_test.go:170 +0x36 fp=0x9354784 sp=0x9354704 pc=0x84489f6
testing.tRunner(0x9214308, 0x85c5560)
	/home/swarming/.swarming/w/ir/x/w/goroot/src/testing/testing.go:1690 +0x119 fp=0x93547e4 sp=0x9354784 pc=0x81615a9
testing.(*T).Run.gowrap1()
	/home/swarming/.swarming/w/ir/x/w/goroot/src/testing/testing.go:1743 +0x2e fp=0x93547f0 sp=0x93547e4 pc=0x81625ce
runtime.goexit({})
	/home/swarming/.swarming/w/ir/x/w/goroot/src/runtime/asm_386.s:1393 +0x1 fp=0x93547f4 sp=0x93547f0 pc=0x80c3411
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/goroot/src/testing/testing.go:1743 +0x3d1

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-09-28 00:51 gotip-linux-arm64-longtest go@677b6cc1 net/http.TestTransportIdleConnTimeout/h1 (log)
=== RUN   TestTransportIdleConnTimeout/h1
--- FAIL: TestTransportIdleConnTimeout/h1 (0.01s)

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-11-22 01:50 gotip-windows-amd64-longtest go@10fb001c net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
2024/11/21 18:03:00 Error enabling Transport HTTP/2 support: protocol https already registered
--- FAIL: TestTransportIdleConnTimeout/h2 (0.01s)

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-11-22 04:03 gotip-linux-386-longtest go@4b7f7cd8 net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
2024/11/22 04:10:20 Error enabling Transport HTTP/2 support: protocol https already registered
--- FAIL: TestTransportIdleConnTimeout/h2 (0.05s)

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-11-22 16:21 gotip-linux-386-longtest go@a8eddaf7 net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
2024/11/22 16:31:55 Error enabling Transport HTTP/2 support: protocol https already registered
    clientserver_test.go:211: server log: http: TLS handshake error from 127.0.0.1:52366: read tcp 127.0.0.1:39163->127.0.0.1:52366: use of closed network connection
--- FAIL: TestTransportIdleConnTimeout/h2 (0.14s)

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-11-27 04:05 gotip-windows-amd64-longtest go@1ffadf14 net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
--- FAIL: TestTransportIdleConnTimeout/h2 (0.01s)

watchflakes

@qmuntal
Copy link
Member

qmuntal commented Nov 27, 2024

Can reproduce this issue locally running go test -run TestTransportIdleConnTimeout -count 1000 net/http. I think I know how to fix it.

@gopherbot
Copy link
Contributor Author

Change https://go.dev/cl/632175 mentions this issue: net/http: fix TestTransportIdleConnTimeout

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-11-27 17:10 gotip-linux-arm64-longtest go@4f78aa9e net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
    clientserver_test.go:282: server log: http: TLS handshake error from 127.0.0.1:43734: read tcp 127.0.0.1:36301->127.0.0.1:43734: use of closed network connection
--- FAIL: TestTransportIdleConnTimeout/h2 (0.02s)

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-11-30 01:49 gotip-linux-386-longtest go@c5c4f3dd net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
--- FAIL: TestTransportIdleConnTimeout/h2 (0.04s)

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-11-30 01:47 gotip-darwin-amd64-longtest go@fa38b41b net/http.TestTransportIdleConnTimeout/h1 (log)
=== RUN   TestTransportIdleConnTimeout/h1
--- FAIL: TestTransportIdleConnTimeout/h1 (0.01s)

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-12-02 20:37 gotip-linux-386-longtest go@7632c6e2 net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
    clientserver_test.go:282: server log: http: TLS handshake error from 127.0.0.1:44290: read tcp 127.0.0.1:33057->127.0.0.1:44290: use of closed network connection
--- FAIL: TestTransportIdleConnTimeout/h2 (0.04s)

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-12-03 00:06 gotip-linux-amd64-longtest-aliastypeparams go@485ed2fa net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
--- FAIL: TestTransportIdleConnTimeout/h2 (0.02s)

watchflakes

@gopherbot
Copy link
Contributor Author

Change https://go.dev/cl/633275 mentions this issue: net/http: use synctest for TestTransportIdleConnTimeout

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-12-03 20:01 gotip-linux-arm64-longtest go@4daf7922 net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
--- FAIL: TestTransportIdleConnTimeout/h2 (0.02s)

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-12-11 23:40 go1.24-linux-386-longtest release-branch.go1.24@0ca521f9 net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
    clientserver_test.go:282: server log: http: TLS handshake error from 127.0.0.1:59262: read tcp 127.0.0.1:33687->127.0.0.1:59262: use of closed network connection
--- FAIL: TestTransportIdleConnTimeout/h2 (0.05s)

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-12-06 21:15 go1.24-linux-amd64-longtest-noswissmap release-branch.go1.24@312f7c1b net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
--- FAIL: TestTransportIdleConnTimeout/h2 (0.03s)

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-12-07 02:32 go1.24-linux-amd64-longtest-race release-branch.go1.24@8c3e3915 net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
--- FAIL: TestTransportIdleConnTimeout/h2 (0.07s)

watchflakes

@dmitshur dmitshur added NeedsFix The path to resolution is known, but the work has not been done. FixPending Issues that have a fix which has not yet been reviewed or submitted. and removed NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Dec 12, 2024
@dmitshur dmitshur moved this to Active in Test Flakes Dec 12, 2024
@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-12-12 01:52 go1.24-linux-amd64-longtest-aliastypeparams release-branch.go1.24@077d5190 net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
--- FAIL: TestTransportIdleConnTimeout/h2 (0.02s)

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-12-11 23:57 go1.24-linux-amd64-longtest-race release-branch.go1.24@fafd4477 net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
--- FAIL: TestTransportIdleConnTimeout/h2 (0.05s)

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-12-16 05:41 gotip-linux-amd64-longtest-race go@18b5435f net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
--- FAIL: TestTransportIdleConnTimeout/h2 (0.06s)

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-12-17 16:02 gotip-linux-amd64-longtest go@b47ce8b0 net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
--- FAIL: TestTransportIdleConnTimeout/h2 (0.03s)

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "net/http" && test ~ `TestTransportIdleConnTimeout`
2024-12-17 16:37 gotip-linux-amd64-longtest-noswissmap go@236a0b4f net/http.TestTransportIdleConnTimeout/h2 (log)
=== RUN   TestTransportIdleConnTimeout/h2
--- FAIL: TestTransportIdleConnTimeout/h2 (0.03s)

watchflakes

@rsc
Copy link
Contributor

rsc commented Dec 19, 2024

I think https://go.dev/cl/637897 fixes this. I wrote it just now, before I found this issue and noticed the "FixPending" label. But I also don't see a fix pending.

@dmitshur
Copy link
Contributor

@rsc The fix pending refers to CL 633275 from 2 weeks ago (via #67450 (comment) above; you might need to expand timeline). However, @neild hasn't marked it as ready for review yet.

@dmitshur dmitshur added this to the Go1.24 milestone Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FixPending Issues that have a fix which has not yet been reviewed or submitted. NeedsFix The path to resolution is known, but the work has not been done.
Projects
Status: Active
Development

No branches or pull requests

5 participants