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: builders failing on macOS 10.11 darwin/amd64 and flaky on other darwin releases #32655

Closed
dmitshur opened this issue Jun 17, 2019 · 7 comments
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. OS-Darwin release-blocker Testing An issue that has been verified to require only test changes, not just a test failure.
Milestone

Comments

@dmitshur
Copy link
Contributor

As of CL 182258, the macOS 10.11 darwin/amd64 builders are failing on https://build.golang.org.

/cc @randall77 @ianlancetaylor

@dmitshur dmitshur added Testing An issue that has been verified to require only test changes, not just a test failure. OS-Darwin NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. release-blocker labels Jun 17, 2019
@dmitshur dmitshur added this to the Go1.13 milestone Jun 17, 2019
@katiehockman
Copy link
Contributor

@dmitshur Should we roll back the original change in the meantime so the builders start working?

@dmitshur
Copy link
Contributor Author

dmitshur commented Jun 18, 2019

In this case, I don't think rolling back will put us in a better state. The CL has fixed another macOS issue (#31264) that was causing macOS 10.14 and nocgo builders to fail very often:

Rolling it back would fix 10.11 builder but break two other builders. I suspect it's better to try to fix the issue forward.

@eliasnaur
Copy link
Contributor

It seems that similar failures can happen on the nocgo darwin builder (10.14?), albeit at a lower rate than on 10.11. For example:

https://build.golang.org/log/038830c3ffccb9a97610a16f5d8653644dcb41ea

Regarding SIGILL, I came across this section in Apple's documentation:

Important
Calls to dispatch_semaphore_signal must be balanced with calls to wait(). Attempting to dispose of a semaphore with a count lower than value causes an EXC_BAD_INSTRUCTION exception.

I'm not familiar with the code so I can't say whether that note is relevant.

@ianlancetaylor
Copy link
Contributor

I ran all.bash on the Darwin 10.11 gomote, and it passed. But the builder is failing consistently on the os/signal test. I'm not sure why.

@ianlancetaylor
Copy link
Contributor

I don't know what the problem is. The note from Apple's docs doesn't tell me anything, as we never dispose of these semaphores. Given that the problem can happen on 10.14, I think we should roll back CL 182258. It's possible that the new code is not async-signal-safe, just as the old code was not. And the old code fails less often.

@bcmills bcmills changed the title runtime: builders failing on macOS 10.11 darwin/amd64 runtime: builders failing on macOS 10.11 darwin/amd64 and flaky on other darwin releases Jun 19, 2019
@gopherbot
Copy link

Change https://golang.org/cl/182880 mentions this issue: Revert "runtime: use dispatch semaphores on Darwin"

@ianlancetaylor
Copy link
Contributor

Sent CL 182880 to revert the earlier CL 182258. That will fix this issue but force us to reopen #31264.

@golang golang locked and limited conversation to collaborators Jun 20, 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-Darwin release-blocker Testing An issue that has been verified to require only test changes, not just a test failure.
Projects
None yet
Development

No branches or pull requests

5 participants