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: pipe2: too many open files on s390x builder #22759
Comments
/cc @bradfitz |
I doubled the file descriptor limit to 2048 and rebooted the machine and it is still failing unfortunately. Will investigate further tomorrow. |
Reverting CL 77670 (CL 78515) fixed the builder, so the failures do appear to be directly related to that CL somehow. I'm still confused as to why the issue is only reproducible when the tests are executed by the buildlet. A couple of questions about the buildlet I haven't managed to figure out yet:
|
Just uses os/exec: https://github.com/golang/build/blob/3da79c2/cmd/buildlet/buildlet.go#L866
It was last updated Apr 2, 2017.
Looks like Go 1.8 era:
Want me to update it from master? |
Btw, you can run the buildlet locally and then test against it by using the golang.org/x/build/cmd/gomote command. There's a special case for a builder type name to refer to a specific buildlet process for development: // clientAndConfig returns a buildlet.Client and its build config for
// a named remote buildlet (a buildlet connection owned by the build
// coordinator).
//
// As a special case, if name contains '@', the name is expected to be
// of the form <build-config-name>@ip[:port]. For example,
// "windows-amd64-race@10.0.0.1". So you could say But updating the binary and hoping it works might be easier, especially if you remember some old fd leak that's probably fixed since then. |
The problematic CL 77670 was reverted by CL 78515. The overall problem was, I believe, fixed by CL 100840. I'm going to close this as fixed. |
The build on the s390x builder has, with one exception, been failing since CL 77670 with the error
pipe2: too many open files
in the net package tests, which implies the tests are bumping into the per-process open file descriptor limit. I don't see any obvious reason why this CL would increase the number of open file descriptors.ulimit -n
is 1024 on the builder which I think should be enough (and presumably the limit on other builders too?). I haven't managed to recreate the issue by hand either on the builder or locally. The net package still passes the tests fine when run manually on the builder withulimit -n 32
(other tests do start to fail whenulimit -n
is reduced to 128 and below). Perhaps I am missing some part of the environment?I'm not sure what to try next other than increase
ulimit -n
on the builder.The text was updated successfully, but these errors were encountered: