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

x/net/ipv6: apparent deadlock in TestPacketConnConcurrentReadWriteUnicastUDP on darwin/amd64 #52549

Closed
bcmills opened this issue Apr 25, 2022 · 2 comments
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. OS-Darwin release-blocker
Milestone

Comments

@bcmills
Copy link
Contributor

bcmills commented Apr 25, 2022

panic: test timed out after 10m0s

goroutine 82 [running]:
testing.(*M).startAlarm.func1()
	/Users/gopher/workdir/go/src/testing/testing.go:2039 +0x8e
created by time.goFunc
	/Users/gopher/workdir/go/src/time/sleep.go:176 +0x32

goroutine 1 [chan receive]:
testing.(*T).Run(0xc00011e1a0, {0x11ac247?, 0x253054c58f?}, 0x11af040)
	/Users/gopher/workdir/go/src/testing/testing.go:1497 +0x37a
testing.runTests.func1(0xc00011e1a0?)
	/Users/gopher/workdir/go/src/testing/testing.go:1849 +0x6e
testing.tRunner(0xc00011e1a0, 0xc00004fcd8)
	/Users/gopher/workdir/go/src/testing/testing.go:1449 +0x10b
testing.runTests(0xc000000320?, {0x12cf0a0, 0x17, 0x17}, {0x1355108?, 0x40?, 0x12d33a0?})
	/Users/gopher/workdir/go/src/testing/testing.go:1847 +0x456
testing.(*M).Run(0xc000000320)
	/Users/gopher/workdir/go/src/testing/testing.go:1729 +0x5d9
main.main()
	_testmain.go:97 +0x1aa

goroutine 35 [semacquire]:
sync.runtime_Semacquire(0xc00011d540?)
	/Users/gopher/workdir/go/src/runtime/sema.go:56 +0x25
sync.(*WaitGroup).Wait(0x11a266d?)
	/Users/gopher/workdir/go/src/sync/waitgroup.go:136 +0x52
golang.org/x/net/ipv6_test.TestPacketConnConcurrentReadWriteUnicastUDP(0xc00011fba0)
	/Users/gopher/workdir/gopath/src/golang.org/x/net/ipv6/readwrite_test.go:302 +0x653
testing.tRunner(0xc00011fba0, 0x11af040)
	/Users/gopher/workdir/go/src/testing/testing.go:1449 +0x10b
created by testing.(*T).Run
	/Users/gopher/workdir/go/src/testing/testing.go:1496 +0x35f

goroutine 37 [IO wait]:
internal/poll.runtime_pollWait(0x170a908, 0x72)
	/Users/gopher/workdir/go/src/runtime/netpoll.go:305 +0x89
internal/poll.(*pollDesc).wait(0xc000153700?, 0x0?, 0x0)
	/Users/gopher/workdir/go/src/internal/poll/fd_poll_runtime.go:84 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/Users/gopher/workdir/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).RawRead(0xc000153700, 0xc00009a090)
	/Users/gopher/workdir/go/src/internal/poll/fd_unix.go:766 +0x145
net.(*rawConn).Read(0xc000014190, 0x6c?)
	/Users/gopher/workdir/go/src/net/rawconn.go:43 +0x45
golang.org/x/net/internal/socket.(*Conn).recvMsg(0xc00005cae0, 0xc00004be98, 0x0)
	/Users/gopher/workdir/gopath/src/golang.org/x/net/internal/socket/rawconn_msg.go:29 +0x202
golang.org/x/net/internal/socket.(*Conn).RecvMsg(...)
	/Users/gopher/workdir/gopath/src/golang.org/x/net/internal/socket/socket.go:247
golang.org/x/net/ipv6.(*payloadHandler).ReadFrom(0xc000149280, {0xc000096080, 0x80, 0x80})
	/Users/gopher/workdir/gopath/src/golang.org/x/net/ipv6/payload_cmsg.go:32 +0x1ff
golang.org/x/net/ipv6_test.TestPacketConnConcurrentReadWriteUnicastUDP.func1()
	/Users/gopher/workdir/gopath/src/golang.org/x/net/ipv6/readwrite_test.go:254 +0xda
created by golang.org/x/net/ipv6_test.TestPacketConnConcurrentReadWriteUnicastUDP
	/Users/gopher/workdir/gopath/src/golang.org/x/net/ipv6/readwrite_test.go:292 +0x57e
FAIL	golang.org/x/net/ipv6	600.317s

greplogs --dashboard -md -l -e 'panic: test timed out(?:.*\n)*golang\.org/x/net/ipv[46]_test\.TestPacketConnConcurrentReadWriteUnicastUDP' --since=2021-01-01

2022-04-22T01:41:25-1d1ef93-be1d738/darwin-amd64-11_0
2022-03-04T14:06:28-27dd868-27ec2bf/darwin-amd64-12_0
2021-12-02T16:48:07-0a0e4e1-36be0be/darwin-amd64-10_14
2021-10-07T14:55:06-59d4e92-4548fcc/darwin-amd64-10_15
2021-04-19T19:24:41-e915ea6-bbb510c/darwin-amd64-10_14
2021-03-27T03:59:08-61e0566-2de1f42/darwin-amd64-10_12

@gopherbot gopherbot added this to the Unreleased milestone Apr 25, 2022
@bcmills
Copy link
Contributor Author

bcmills commented Apr 25, 2022

Marking as release-blocker via #11811, because darwin/amd64 is a first-class port.

This is likely related to #50455, so I will see if it can be address with a similar fix. (CC @ianlancetaylor)

@bcmills bcmills modified the milestones: Unreleased, Go1.19 Apr 25, 2022
@bcmills bcmills added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Apr 25, 2022
@cherrymui cherrymui changed the title x/net/ipv6: apparent deadlock in TestPacketConnConcurrentReadWriteUnicastUDP on darwin/arm64 x/net/ipv6: apparent deadlock in TestPacketConnConcurrentReadWriteUnicastUDP on darwin/amd64 Apr 25, 2022
@bcmills bcmills self-assigned this Apr 25, 2022
@gopherbot
Copy link

Change https://go.dev/cl/402059 mentions this issue: ipv4,ipv6: retry ENOBUFS and shut down the PacketConn on failure in TestPacketConnConcurrentReadWriteUnicastUDP

@rsc rsc unassigned bcmills Jun 22, 2022
WeiminShang added a commit to WeiminShang/net that referenced this issue Nov 16, 2022
…estPacketConnConcurrentReadWriteUnicastUDP

This ports CL 376094 and CL 376095 to the UDP variants of the test.

Fixes golang/go#52549 (hopefully).

Change-Id: I2537af1bc14a42b2e51882e5d646912e1239758c
Reviewed-on: https://go-review.googlesource.com/c/net/+/402059
Run-TryBot: Bryan Mills <bcmills@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
@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 NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. OS-Darwin release-blocker
Projects
None yet
Development

No branches or pull requests

2 participants