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

runtime: TestNetpollBreak, TestNonblockingPipe, TestSetNonblock failing on aix-ppc64 and flaky on netbsd-arm #35075

Closed
bcmills opened this issue Oct 22, 2019 · 8 comments

Comments

@bcmills
Copy link
Member

@bcmills bcmills commented Oct 22, 2019

Now that the aix-ppc64 builder is back (#35032), it's showing multiple failures in the runtime tests (https://build.golang.org/log/289cf45ed86d9587769512a5b3df6e0d17be685e):

--- FAIL: TestNetpollBreak (129.61s)
    proc_test.go:1020: netpollBreak did not interrupt netpoll: slept for: 2m9.603103s
--- FAIL: TestNonblockingPipe (0.00s)
    nbpipe_test.go:30: fcntl(reader, F_GETFL) failed: invalid argument
    nbpipe_test.go:31: fcntl(reader, F_GETFD) failed: invalid argument
    nbpipe_test.go:32: fcntl(writer, F_GETFL) failed: invalid argument
    nbpipe_test.go:33: fcntl(writer, F_GETFD) failed: invalid argument
--- FAIL: TestSetNonblock (0.00s)
    nbpipe_test.go:86: fcntl(reader, F_GETFL) failed: invalid argument
    nbpipe_test.go:87: fcntl(writer, F_GETFL) failed: invalid argument
    nbpipe_test.go:91: fcntl(reader, F_GETFD) failed: invalid argument
    nbpipe_test.go:92: fcntl(writer, F_GETFD) failed: invalid argument
FAIL
FAIL	runtime	163.667s

From the failures, this seems to be related to CL 171824, although (because of #35032) we're missing a big chunk of test results preceding that change.

The failure mode for TestNetpollBreak has the same symptom as #35074, but it's not clear to me whether the underlying cause is related.

CC @ianlancetaylor @mknyszek @Helflym @trex58

@bcmills bcmills added this to the Go1.14 milestone Oct 22, 2019
@Helflym

This comment has been minimized.

Copy link
Contributor

@Helflym Helflym commented Oct 22, 2019

TestSetNonblock and TestNonblockingPipe are failing because syscall.Syscall isn't available on AIX. I've made the patch but I've a problem with my google account. I'll push it asap.
TestNetpollBreak is a bit more complicated. It seems to be related to goto retry at line 176. But I've to be sure we can remove it without triggering any problems.

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

@ianlancetaylor ianlancetaylor commented Oct 22, 2019

For TestNetpollBreak the timeout value should be greater than 0, so that goto should not be executed. And that case should only happen if the program receives a signal, which shouldn't be happening here. So it's not clear to me how that goto could be the problem.

@Helflym

This comment has been minimized.

Copy link
Contributor

@Helflym Helflym commented Oct 22, 2019

My bad, that was the wrong goto ! This one is problematic.

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

@ianlancetaylor ianlancetaylor commented Oct 22, 2019

Ah, yes, that does look somewhat wrong. Maybe we should at least return if some byte was read from rdwake.

@bcmills

This comment has been minimized.

Copy link
Member Author

@bcmills bcmills commented Oct 26, 2019

A similar failure on netbsd-arm-bsiegert: https://build.golang.org/log/d1b5ba3784cadac0bb5ea659876e53ec7cf0bac8

##### GOMAXPROCS=2 runtime -cpu=1,2,4 -quick
--- FAIL: TestNetpollBreak (10.02s)
    proc_test.go:1020: netpollBreak did not interrupt netpoll: slept for: 10.01633375s
FAIL
FAIL	runtime	196.708s
@bcmills bcmills changed the title runtime: TestNetpollBreak, TestNonblockingPipe, TestSetNonblock failing on aix-ppc64 runtime: TestNetpollBreak, TestNonblockingPipe, TestSetNonblock failing on aix-ppc64 and flaky on netbsd-arm Oct 26, 2019
@bcmills

This comment has been minimized.

Copy link
Member Author

@bcmills bcmills commented Oct 26, 2019

Here's a different failure mode from TestNetpollBreak — an apparent deadlock on aix-ppc64:
https://build.golang.org/log/ffe49c47ca85f6dcf78d77483de389d3f6331aff

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

@ianlancetaylor ianlancetaylor commented Nov 7, 2019

I'm pretty sure the netbsd-arm-bsiegert flake was fixed by the ubiquitous https://golang.org/cl/204800.

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

@ianlancetaylor ianlancetaylor commented Nov 7, 2019

The AIX problems were fixed by https://golang.org/cl/204059 and https://golang.org/cl/204318.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.