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: TestUnixAndUnixpacketServer failed with EOF #42720
Comments
However after enable race on mips64, I found that it's a internal/poll race issue.
|
Change https://golang.org/cl/271500 mentions this issue: |
The race detector should be architecture-independent. Why is this race reported on mips64 and not on other targets? |
Hi Ian https://storage.googleapis.com/go-build-log/11438245/linux-386_67c9929f.log |
Thanks. I don't doubt that there is a bug, I just don't yet see why https://golang.org/cl/271500 is the right fix. |
I will dig deeper for the root cause, please ignore that CL for now. |
Nice diagram. The The implementation of It's more complicated because these functions are implemented directly in the compiler. But I also see a So as far as I can tell, it really is a memory barrier. |
I've figured it out, it's the transponder in mockserver_test.go closed the socket while tranceiver still waiting for the data.
However, There is no channel or mutexes to block server from defer Closing. When scheduler runs Close first which will cause client receive EOF. Lines 207 to 224 in 358d354
|
Change https://golang.org/cl/273672 mentions this issue: |
Another failure: https://build.golang.org/log/f083831b16b42b31bbe3fc6855e1966d65c68374 |
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes.
What did you do?
The host-linux-mipsle-mengzhuo has this bug occasionally.
https://storage.googleapis.com/go-build-log/11438245/linux-386_67c9929f.log
https://build.golang.org/log/c24b96e2c6ffdf46d29f6f588b9909c44e9cb3fe linux-mips64le
https://build.golang.org/log/01d39e71c813268a45b4d2923727357b457d1e6f linux-amd64
https://build.golang.org/log/1631a4e22febcfb4ddf941537973b681cf4e12be linux-ppc64
https://build.golang.org/log/6ff5f40e8dc400629c17c6ef7a81207fa03b8dff linux-ppc64
https://build.golang.org/log/73a9b496727ef70e96c534c52d252c7a853f017f linux-386
https://build.golang.org/log/895e752f114ea5e0b3e13598c5615957274122a6 linux-s390x
https://build.golang.org/log/9dd1bfe89dc17fed5444ddf41f89b8e74ac6e1f6 linux-amd64-race
https://build.golang.org/log/bd3fa7c299bbe966ccac50fcc5e24239ef85dc8a linux-386
https://build.golang.org/log/c0d0b0d5ba109f2be4b7e42469e2073b9fc48c20 linux-386-387
https://build.golang.org/log/faa4560674d8e7d406b7031bfe985db237b9860a linux-386-clang
What did you expect to see?
PASS
CC @cherrymui
The text was updated successfully, but these errors were encountered: