net: occasional failure with udp connections writing to each other #17677
Labels
FrozenDueToAge
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone
What version of Go are you using (
go version
)?go version go1.7.3 linux/amd64
What operating system and processor architecture are you using (
go env
)?What did you do?
Created two UDP connections. Sent a packet from conn A to conn B and from conn B to conn A, in separate goroutines.
Repo with details and steps to reproduce: https://github.com/vcabbage/go-net-repro
What did you expect to see?
No errors.
What did you see instead?
On most runs this would work. Occasionally one send operation fails with:
write udp4 0.0.0.0:60315->127.0.0.1:36289: sendto: operation not permitted
I have only seen the failure when running within Docker. I have tried running Docker with
--privileged
,--net=host
,--set-cap=ALL
and the error still occurs. I have also disabled the Docker host's firewall, as there are some references online tosendto
returningEPERM
whennf_conntack
limit is hit.excerpt from strace output:
(full output log in linked repo)
The text was updated successfully, but these errors were encountered: