golang / go

The Go programming language
https://go.dev
BSD 3-Clause "New" or "Revised" License
123.8k stars 17.64k forks source link

net: TestUDPZeroBytePayload is potentially flaky on iOS #29225

Open bcmills opened 5 years ago

bcmills commented 5 years ago

Examples: https://build.golang.org/log/4801b71522ac597735f5dfc9e3de0a5177f1b014 https://build.golang.org/log/ac45684f4eeb9337972d8489ff01b93bf69adef2v https://build.golang.org/log/bef89502b0ebe850c741f3e69ed9e01d7b497c5a

--- FAIL: TestUDPZeroBytePayload (0.11s)
    udpsock_test.go:369: read udp4 127.0.0.1:49432: i/o timeout
FAIL
FAIL    net 9.988s

CC @mikioh @bradfitz @ianlancetaylor

ianlancetaylor commented 5 years ago

I think this is due to CL 132781. I commented on that CL, and will send a CL to revert the change to net/udpsock_test.go.

ianlancetaylor commented 5 years ago

CC @silbinarywolf

gopherbot commented 5 years ago

Change https://golang.org/cl/154759 mentions this issue: net: accept a timeout from ReadFrom in TestUDPZeroBytePayload

FiloSottile commented 5 years ago

The test is still failing with a slightly different message now:

--- FAIL: TestUDPZeroBytePayload (30.00s)
    udpsock_test.go:367: Read of zero byte packet failed: read udp4 127.0.0.1:53753: i/o timeout
katiehockman commented 5 years ago

This is continuing to fail for darwin-amd64-10_10 builds, though now it looks flaky. It is getting a similar error message as the one that @FiloSottile provided in the previous comment.

--- FAIL: TestUDPZeroBytePayload (30.01s)
    udpsock_test.go:367: Read of zero byte packet failed: read udp4 127.0.0.1:63888: i/o timeout
silbinarywolf commented 5 years ago

Just as an FYI, I merely followed the direction of the related Github issue when doing the original CL for this and I don't have any ideas on how to resolve this at all. I'm willing to put in the time for another CL if somebody only has time to direct / review my work, however my thinking is somebody with more experience should probably explore this and cover it off.

Sorry I'm not more help!

ianlancetaylor commented 5 years ago

Looks like it's happening fairly often on Darwin 10.10, not at all on later versions of Darwin.

2018-12-29T00:04:59-14bdcc7/darwin-amd64-10_10 2018-12-29T14:18:11-efbd01f/darwin-amd64-10_10 2018-12-29T17:24:26-58a17b4/darwin-amd64-10_10 2018-12-30T04:55:26-3e89272/darwin-amd64-10_10 2018-12-30T19:36:52-480373c/darwin-amd64-10_10 2018-12-31T22:48:43-ed78c90/darwin-amd64-10_10 2019-01-01T06:18:45-c6282e7/darwin-amd64-10_10 2019-01-01T20:15:48-204a8f5/darwin-amd64-10_10 2019-01-02T16:18:03-ad16449/darwin-amd64-10_10 2019-01-02T16:59:44-8962b71/darwin-amd64-10_10 2019-01-02T17:00:30-2175177/darwin-amd64-10_10 2019-01-02T19:28:06-2e217fa/darwin-amd64-10_10 2019-01-02T19:31:05-5ec5c57/darwin-amd64-10_10 2019-01-02T20:55:53-22738f0/darwin-amd64-10_10 2019-01-02T21:21:53-64096db/darwin-amd64-10_10 2019-01-02T21:49:30-57879fe/darwin-amd64-10_10

ianlancetaylor commented 5 years ago

I'll send a CL to skip the test on Darwin. Since the Darwin 10.12 builder seems to be consistently passing, I assume it's Darwin 10.10 flakiness that has been fixed since then.

gopherbot commented 5 years ago

Change https://golang.org/cl/156119 mentions this issue: net: skip TestUDPZeroBytePayload on Darwin

bcmills commented 2 years ago

Since the Darwin 10.12 builder seems to be consistently passing, I assume it's Darwin 10.10 flakiness that has been fixed since then.

Now that we no longer have 10.10 Darwin builders, should we unskip this test?

gopherbot commented 3 months ago

Change https://go.dev/cl/601395 mentions this issue: net: unskip TestUDPZeroBytePayload on Darwin