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: apparent deadlock in failure path of TestNotTemporaryRead #52492

Closed
bcmills opened this issue Apr 22, 2022 · 1 comment
Closed

net: apparent deadlock in failure path of TestNotTemporaryRead #52492

bcmills opened this issue Apr 22, 2022 · 1 comment
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

@bcmills
Copy link
Contributor

bcmills commented Apr 22, 2022

goroutine 683 [chan receive, 2 minutes]:
runtime.gopark(0x7c9ff0?, 0x7e0c60?, 0x80?, 0xf3?, 0x4?)
	/tmp/workdir/go/src/runtime/proc.go:363 +0xd6 fp=0xc00019fc48 sp=0xc00019fc28 pc=0x438736
runtime.chanrecv(0xc0000703c0, 0x0, 0x1)
	/tmp/workdir/go/src/runtime/chan.go:583 +0x49b fp=0xc00019fcd8 sp=0xc00019fc48 pc=0x40797b
runtime.chanrecv1(0xc0005f3d18?, 0x4d4c46?)
	/tmp/workdir/go/src/runtime/chan.go:442 +0x18 fp=0xc00019fd00 sp=0xc00019fcd8 pc=0x407478
net.TestNotTemporaryRead.func2()
	/tmp/workdir/go/src/net/net_test.go:535 +0x1f fp=0xc00019fd20 sp=0xc00019fd00 pc=0x5c16ff
runtime.deferCallSave(0xc00019fdb0, 0xc0005f3f18?)
	/tmp/workdir/go/src/runtime/panic.go:756 +0x88 fp=0xc00019fd30 sp=0xc00019fd20 pc=0x4353c8
runtime.runOpenDeferFrame(0xc00042f380?, 0xc000243e00)
	/tmp/workdir/go/src/runtime/panic.go:729 +0x1a5 fp=0xc00019fd78 sp=0xc00019fd30 pc=0x4351e5
runtime.Goexit()
	/tmp/workdir/go/src/runtime/panic.go:482 +0x185 fp=0xc00019fdf8 sp=0xc00019fd78 pc=0x434825
testing.(*common).FailNow(0xc00042f380)
	/tmp/workdir/go/src/testing/testing.go:874 +0x4c fp=0xc00019fe50 sp=0xc00019fdf8 pc=0x4d4d8c
testing.(*common).Fatal(0xc00042f380, {0xc0005f3f28?, 0xc000416410?, 0x3?})
	/tmp/workdir/go/src/testing/testing.go:951 +0x58 fp=0xc00019fea8 sp=0xc00019fe50 pc=0x4d5918
net.TestNotTemporaryRead(0xc00042f380)
	/tmp/workdir/go/src/net/net_test.go:539 +0x1c5 fp=0xc00019ff70 sp=0xc00019fea8 pc=0x5c13c5
testing.tRunner(0xc00042f380, 0x67b160)
	/tmp/workdir/go/src/testing/testing.go:1449 +0x10b fp=0xc00019ffc0 sp=0xc00019ff70 pc=0x4d6fcb
testing.(*T).Run.func1()
	/tmp/workdir/go/src/testing/testing.go:1496 +0x2a fp=0xc00019ffe0 sp=0xc00019ffc0 pc=0x4d7e6a
runtime.goexit()
	/tmp/workdir/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00019ffe8 sp=0xc00019ffe0 pc=0x466381
created by testing.(*T).Run
	/tmp/workdir/go/src/testing/testing.go:1496 +0x35f

…


goroutine 1972 [IO wait, 2 minutes]:
runtime.gopark(0x807560?, 0x0?, 0x0?, 0x0?, 0xc0001a1db0?)
	/tmp/workdir/go/src/runtime/proc.go:363 +0xd6 fp=0xc0001a1d40 sp=0xc0001a1d20 pc=0x438736
runtime.netpollblock(0x0?, 0x1a120?, 0xc0?)
	/tmp/workdir/go/src/runtime/netpoll.go:526 +0xf7 fp=0xc0001a1d78 sp=0xc0001a1d40 pc=0x431a37
internal/poll.runtime_pollWait(0x7f7ff7ad0508, 0x72)
	/tmp/workdir/go/src/runtime/netpoll.go:305 +0x89 fp=0xc0001a1d98 sp=0xc0001a1d78 pc=0x460f29
internal/poll.(*pollDesc).wait(0xc0000aa100?, 0xc000094640?, 0x0)
	/tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc0001a1dc0 sp=0xc0001a1d98 pc=0x489af2
internal/poll.(*pollDesc).waitRead(...)
	/tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc0000aa100)
	/tmp/workdir/go/src/internal/poll/fd_unix.go:614 +0x234 fp=0xc0001a1e58 sp=0xc0001a1dc0 pc=0x48e554
net.(*netFD).accept(0xc0000aa100)
	/tmp/workdir/go/src/net/fd_unix.go:172 +0x35 fp=0xc0001a1f10 sp=0xc0001a1e58 pc=0x542e95
net.(*TCPListener).accept(0xc000098228)
	/tmp/workdir/go/src/net/tcpsock_posix.go:139 +0x28 fp=0xc0001a1f40 sp=0xc0001a1f10 pc=0x560868
net.(*TCPListener).Accept(0xc000098228)
	/tmp/workdir/go/src/net/tcpsock.go:288 +0x3d fp=0xc0001a1f70 sp=0xc0001a1f40 pc=0x55f75d
net.TestNotTemporaryRead.func1()
	/tmp/workdir/go/src/net/net_test.go:525 +0x74 fp=0xc0001a1fe0 sp=0xc0001a1f70 pc=0x5c1794
runtime.goexit()
	/tmp/workdir/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0001a1fe8 sp=0xc0001a1fe0 pc=0x466381
created by net.TestNotTemporaryRead
	/tmp/workdir/go/src/net/net_test.go:522 +0x118

greplogs --dashboard -md -l -e 'goroutine \d+ \[.*, \d+ minutes\]:\n(?:.+\n\t.+\n)*testing.\(\*common\)\.Fatal.*\n\t.+\nnet\.TestNotTemporaryRead'

2022-04-21T17:37:05-b348389/netbsd-amd64-9_0

@bcmills bcmills added Testing An issue that has been verified to require only test changes, not just a test failure. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. NeedsFix The path to resolution is known, but the work has not been done. labels Apr 22, 2022
@bcmills bcmills self-assigned this Apr 22, 2022
@bcmills bcmills added this to the Go1.19 milestone Apr 22, 2022
@gopherbot gopherbot removed the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Apr 22, 2022
@gopherbot
Copy link

Change https://go.dev/cl/401575 mentions this issue: net: eliminate a deadlock on the failure path in TestNotTemporaryRead

@rsc rsc unassigned bcmills Jun 22, 2022
@golang golang locked and limited conversation to collaborators Jun 22, 2023
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

2 participants