-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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
x/build: spacemonkey arm5 builders broken, clean tmp dirs automatically #28041
Comments
Change https://golang.org/cl/140177 mentions this issue: |
Looks like the arm5 builders aren't reloading the buildlet per run like they're supposed to. I don't know how they're configured. |
I have since moved on from there. I’ll try to get in contact with whoever owns these now and point them here. I don’t know how long that will take or if they will care, so any temporary measures to fix this are fine by me. |
I can look into this. I haven't connected to them before so it might take a bit for me to sort that out. |
@bradfitz Looks like the process is failing because the builders are run with the user |
Which process is failing? Actually, let's back up. Can you describe how those machines are configured? Is there a systemd unit? What's it run, or what's its complete definition? If not systemd, what runs the loop that connects to the coordinator? I can then document all this in our repo. |
It uses daemontools. I added the exports for USER and HOME just now.
Builder was looking for the build key in |
I see 2 connected now at https://farmer.golang.org/ ...
There used to be 3, though. Is one still coming online? |
Nevermind, the third just showed up. |
Looks like two different failures now?
I will double check on the disk space. |
It looks like there is a lot of stuff left around in
|
@dmitshur, can you investigate the tempdir situation and who's responsible for cleaning it that's not? I suspect what should happen (but likely isn't) is that the buildlet should figure out the temp dir it's been given (using https://golang.org/pkg/os/#TempDir) and then it should make a subdirectory under that and then set the appropriate environment variable(s) for all child processes (in handleExec). Then on graceful shutdown (handleHalt) it can clean up its own directories (as best it can), and on ungraceful shutdowns it can instead nuke it if it exists. So os.TempDir returns (likely) I'm not sure what the story is now. |
I will stop the process, clean the dirs, and start it again to see if we can get some passing and make sure there are not other issues. |
With the space cleaned it looks like all the builds are consistently failing with:
I will try and look to see if there is something else that might be causing this issue. |
Change https://golang.org/cl/144637 mentions this issue: |
Okay, this the new arm5 buildlet binary is pushed. I'll watch it for any new problems. It'll keep itself cleaned for new stuff, but you might have to clean legacy messes. |
Looks like the spacemonkey builders were broken by https://go-review.googlesource.com/c/go/+/139418 (os: add UserHomeDir) because they're running without $HOME set and are using an old stage0 before we set it automatically in https://go-review.googlesource.com/30599 ?
I could update cmd/buildlet instead, though. It'd be slightly redundant with stage0, but wouldn't require changes on the arm5 hosts.
/cc @zeebo
The text was updated successfully, but these errors were encountered: