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
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. OS-AIX release-blocker Soon This needs to be done soon. (regressions, serious bugs, outages)
Milestone

Comments

@bcmills
Copy link
Contributor

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 NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. Soon This needs to be done soon. (regressions, serious bugs, outages) OS-AIX labels Oct 22, 2019
@bcmills bcmills added this to the Go1.14 milestone Oct 22, 2019
@Helflym
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Contributor

Helflym commented Oct 22, 2019

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

@ianlancetaylor
Copy link
Contributor

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

@bcmills
Copy link
Contributor Author

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
Copy link
Contributor Author

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
Copy link
Contributor

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

@ianlancetaylor
Copy link
Contributor

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

@golang golang locked and limited conversation to collaborators Nov 6, 2020
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-AIX release-blocker Soon This needs to be done soon. (regressions, serious bugs, outages)
Projects
None yet
Development

No branches or pull requests

4 participants