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: apparent deadlock in TestTransportMaxPerHostIdleConns on netbsd-386-9_0 #52412

Open
bcmills opened this issue Apr 18, 2022 · 1 comment
Open
Labels
arch-386 NeedsInvestigation OS-NetBSD
Milestone

Comments

@bcmills
Copy link
Member

@bcmills bcmills commented Apr 18, 2022

goroutine 2294 [select, 2 minutes]:
runtime.gopark(0x84ee870, 0x0, 0x9, 0x18, 0x1)
	/tmp/workdir/go/src/runtime/proc.go:363 +0xf6 fp=0x9112e6c sp=0x9112e58 pc=0x8080526
runtime.selectgo(0x9112f94, 0x9112f84, 0x0, 0x1, 0x1, 0x1)
	/tmp/workdir/go/src/runtime/select.go:328 +0xbd6 fp=0x9112f60 sp=0x9112e6c pc=0x8090246
net/http_test.TestTransportMaxPerHostIdleConns.func2.1()
	/tmp/workdir/go/src/net/http/transport_test.go:486 +0xa0 fp=0x9112fa8 sp=0x9112f60 pc=0x83e7b40
net/http_test.TestTransportMaxPerHostIdleConns.func2()
	/tmp/workdir/go/src/net/http/transport_test.go:495 +0xf2 fp=0x9112ff0 sp=0x9112fa8 pc=0x83e79c2
runtime.goexit()
	/tmp/workdir/go/src/runtime/asm_386.s:1326 +0x1 fp=0x9112ff4 sp=0x9112ff0 pc=0x80ac201
created by net/http_test.TestTransportMaxPerHostIdleConns
	/tmp/workdir/go/src/net/http/transport_test.go:504 +0x2cd

goroutine 2286 [chan receive, 2 minutes]:
runtime.gopark(0x84ee770, 0x9162270, 0xe, 0x17, 0x2)
	/tmp/workdir/go/src/runtime/proc.go:363 +0xf6 fp=0x8defea4 sp=0x8defe90 pc=0x8080526
runtime.chanrecv(0x9162240, 0x0, 0x1)
	/tmp/workdir/go/src/runtime/chan.go:583 +0x3e6 fp=0x8defeec sp=0x8defea4 pc=0x804e8f6
runtime.chanrecv1(0x9162240, 0x0)
	/tmp/workdir/go/src/runtime/chan.go:442 +0x1c fp=0x8deff00 sp=0x8defeec pc=0x804e4dc
net/http_test.TestTransportMaxPerHostIdleConns(0x909aff0)
	/tmp/workdir/go/src/net/http/transport_test.go:505 +0x2e1 fp=0x8deff9c sp=0x8deff00 pc=0x83e7221
testing.tRunner(0x909aff0, 0x84ee4bc)
	/tmp/workdir/go/src/testing/testing.go:1449 +0x10d fp=0x8deffe4 sp=0x8deff9c pc=0x812a7cd
testing.(*T).Run.func1()
	/tmp/workdir/go/src/testing/testing.go:1496 +0x28 fp=0x8defff0 sp=0x8deffe4 pc=0x812b5a8
runtime.goexit()
	/tmp/workdir/go/src/runtime/asm_386.s:1326 +0x1 fp=0x8defff4 sp=0x8defff0 pc=0x80ac201
created by testing.(*T).Run
	/tmp/workdir/go/src/testing/testing.go:1496 +0x36e

[…]

goroutine 2288 [select, 2 minutes]:
runtime.gopark(0x84ee870, 0x0, 0x9, 0x18, 0x1)
	/tmp/workdir/go/src/runtime/proc.go:363 +0xf6 fp=0x8c4a958 sp=0x8c4a944 pc=0x8080526
runtime.selectgo(0x8c4ab7c, 0x8c4aa80, 0x0, 0x0, 0x6, 0x1)
	/tmp/workdir/go/src/runtime/select.go:328 +0xbd6 fp=0x8c4aa4c sp=0x8c4a958 pc=0x8090246
net/http.(*persistConn).roundTrip(0x9057040, 0x906f240)
	/tmp/workdir/go/src/net/http/transport.go:2619 +0x8f8 fp=0x8c4abb0 sp=0x8c4aa4c pc=0x8321ef8
net/http.(*Transport).roundTrip(0x916c000, 0x905d280)
	/tmp/workdir/go/src/net/http/transport.go:594 +0x7dd fp=0x8c4ace0 sp=0x8c4abb0 pc=0x83176fd
net/http.(*Transport).RoundTrip(0x916c000, 0x905d280)
	/tmp/workdir/go/src/net/http/roundtrip.go:17 +0x23 fp=0x8c4acf8 sp=0x8c4ace0 pc=0x82ffdd3
net/http.send(0x905d280, {0x85741f8, 0x916c000}, {0x0, 0x0, 0x0})
	/tmp/workdir/go/src/net/http/client.go:251 +0x55c fp=0x8c4ae24 sp=0x8c4acf8 pc=0x82c322c
net/http.(*Client).send(0x906f180, 0x905d280, {0x0, 0x0, 0x0})
	/tmp/workdir/go/src/net/http/client.go:175 +0x81 fp=0x8c4ae68 sp=0x8c4ae24 pc=0x82c2b31
net/http.(*Client).do(0x906f180, 0x905d280)
	/tmp/workdir/go/src/net/http/client.go:715 +0x88a fp=0x8c4af78 sp=0x8c4ae68 pc=0x82c4c3a
net/http.(*Client).Do(...)
	/tmp/workdir/go/src/net/http/client.go:581
net/http.(*Client).Get(0x906f180, {0x8e55fc8, 0x16})
	/tmp/workdir/go/src/net/http/client.go:479 +0x95 fp=0x8c4afa8 sp=0x8c4af78 pc=0x82c4295
net/http_test.TestTransportMaxPerHostIdleConns.func2()
	/tmp/workdir/go/src/net/http/transport_test.go:492 +0x8c fp=0x8c4aff0 sp=0x8c4afa8 pc=0x83e795c
runtime.goexit()
	/tmp/workdir/go/src/runtime/asm_386.s:1326 +0x1 fp=0x8c4aff4 sp=0x8c4aff0 pc=0x80ac201
created by net/http_test.TestTransportMaxPerHostIdleConns
	/tmp/workdir/go/src/net/http/transport_test.go:502 +0x2ad

goroutine 2290 [select, 2 minutes]:
runtime.gopark(0x84ee870, 0x0, 0x9, 0x18, 0x1)
	/tmp/workdir/go/src/runtime/proc.go:363 +0xf6 fp=0x8c45ba4 sp=0x8c45b90 pc=0x8080526
runtime.selectgo(0x8c45cdc, 0x8c45cb8, 0x0, 0x0, 0x2, 0x1)
	/tmp/workdir/go/src/runtime/select.go:328 +0xbd6 fp=0x8c45c98 sp=0x8c45ba4 pc=0x8090246
net/http_test.TestTransportMaxPerHostIdleConns.func1({0x8575e08, 0x90570e0}, 0x905d300)
	/tmp/workdir/go/src/net/http/transport_test.go:463 +0xb6 fp=0x8c45cf0 sp=0x8c45c98 pc=0x83e7c56
net/http.HandlerFunc.ServeHTTP(0x8ca1608, {0x8575e08, 0x90570e0}, 0x905d300)
	/tmp/workdir/go/src/net/http/server.go:2085 +0x2e fp=0x8c45d00 sp=0x8c45cf0 pc=0x8307f9e
net/http.serverHandler.ServeHTTP({0x902c990}, {0x8575e08, 0x90570e0}, 0x905d300)
	/tmp/workdir/go/src/net/http/server.go:2917 +0x27f fp=0x8c45d58 sp=0x8c45d00 pc=0x830b05f
net/http.(*conn).serve(0x914e420, {0x8576124, 0x8ca16e0})
	/tmp/workdir/go/src/net/http/server.go:1967 +0x677 fp=0x8c45fe0 sp=0x8c45d58 pc=0x8306987
net/http.(*Server).Serve.func3()
	/tmp/workdir/go/src/net/http/server.go:3072 +0x2f fp=0x8c45ff0 sp=0x8c45fe0 pc=0x830bb1f
runtime.goexit()
	/tmp/workdir/go/src/runtime/asm_386.s:1326 +0x1 fp=0x8c45ff4 sp=0x8c45ff0 pc=0x80ac201
created by net/http.(*Server).Serve
	/tmp/workdir/go/src/net/http/server.go:3072 +0x492

greplogs --dashboard -md -l -e 'panic: test timed out(?:.*\n)*goroutine \d+ \[.*, \d+ minutes\]:\n(?:.+\n\t.+\n)*net/http\.\(\*Client\)\.Get.*\n\t.+\nnet/http_test\.TestTransportMaxPerHostIdleConns' --since=2021-01-01

2022-04-15T17:07:27-df2421d/netbsd-386-9_0

@bcmills bcmills added OS-NetBSD arch-386 labels Apr 18, 2022
@bcmills bcmills added this to the Backlog milestone Apr 18, 2022
@bcmills
Copy link
Member Author

@bcmills bcmills commented Apr 18, 2022

Leaving in the Backlog, since this has one been seen once and on a non-first-class platform.

(It isn't obvious to me whether this is a bug in net/http, the test itself, or the NetBSD platform, so more data to distinguish those would be helpful.)

@thanm thanm added the NeedsInvestigation label Apr 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-386 NeedsInvestigation OS-NetBSD
Projects
None yet
Development

No branches or pull requests

2 participants