-
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
runtime: "unexpected return pc for runtime.sigpanic" in x/sys/unix on darwin-amd64-10_12 #45702
Comments
Marking as release-blocker for 1.17 via #11811. |
I wanted to note that macOS 10.12 will not be supported in Go 1.17. The macOS 10.12 post-submit builders no longer run for commits made on master. |
In that case, this issue can probably be closed. Is there a tracking issue for dropping macOS 10.12 support? (I don't currently see a release note for it.) |
I believe I'm running into this bug, but on macOS 10.14 -- I have spent a fair bit of time trying to minimize the reproducer and unfortunately I don't have something I can share externally yet. I can reliably reproduce it in a closed source project. This project does use cgo to link against some libraries built in rust, but it successfully builds and runs with go1.15. The resulting output looks like this at tip (
And I tried to git bisect on go, and unfortunately I landed on fd3612e, Output from the run with fd3612e
If this should be a different issue, I'm happy to open a new one. I'm also happy to try bisecting again if you can point me at the right flags to pass before regabiwrappers were on by default, or I can easily build go if there are experimental patches to try or anything to gather more output. |
I poked at it just a bit longer and was able to minimize a reproducer at https://github.com/mark-rushakoff/goissue45702. |
/cc @cherrymui |
Change https://golang.org/cl/316649 mentions this issue: |
@mark-rushakoff thanks for reporting. If you could try applying change https://go-review.googlesource.com/c/go/+/316649 to Go tip and run your test case, that would be very helpful. Thanks. |
Following CL 313230, this is for internal/syscall/unix package. Updates #45702. Change-Id: Ie6d8c1923dfeae56896212393c5c2a6e257648d2 Reviewed-on: https://go-review.googlesource.com/c/go/+/316649 Trust: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> Reviewed-by: Than McIntosh <thanm@google.com> TryBot-Result: Go Bot <gobot@golang.org>
@cherrymui my reproducer no longer crashes as of |
@cherrymui Is this resolved? If so, please feel free to close at your leisure. |
Not yet. I'll send another CL later today. Thanks. |
Change https://golang.org/cl/317894 mentions this issue: |
In Go 1.17 we will introduce a register-based ABI on some platforms, as well as ABI wrappers to bridge the ABIs. For Darwin syscall wrappers, it needs to be called directly, instead of through wrappers. Currently, it is written as that the syscall functions are defined in assembly and their addresses are taken from Go using funcPC. In Go 1.17 this will result in the address of the ABI wrapper, which is undesired. In the syscall package in the standard library we changed to use a compiler intrinsic internal/abi.FuncPCABI0 to take the address of the syscall function. But that is not available to this repo and not available in older versions of Go. Here we take a different approach: taking the address directly from assembly. This also ensures we get the address of the defined syscall function, not the ABI wrapper. Updates golang/go#45702. Change-Id: Ia7480d0fb0ca4fb9bf2f36d2deb1e3e5e4eb8284 Reviewed-on: https://go-review.googlesource.com/c/sys/+/317894 Trust: Cherry Mui <cherryyz@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>
@mark-rushakoff does it work now with an updated x/sys repo? Thanks. |
@cherrymui I have tried doing a |
Do you mean GOROOT/src and GOROOT/src/cmd? I think you may want to update golang.org/x/sys in your repo, not the one that are vendored into GOROOT. |
Also, when you paste the stack trace, could you paste the part that is after the hex dump? That will provide more useful information, such as the source code path of the x/sys code. |
@cherrymui yes, I was mistakenly attempting to update x/sys in GOROOT. After running Thanks again! |
Thanks @mark-rushakoff ! I think we can call this issue fixed. macOS 10.12 is no longer supported. And other failures reported in the issue are fixed. |
…r Go 1.17) Go 1.17 requires golang.org/x/sys a76c4d0a0096537dc565908b53073460d96c8539 (May 8, 2021) or later, see golang/go#45702. While this seems to affect macOS only, let's update to the latest version. full diff: golang/sys@d19ff85...63515b4 Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
…r Go 1.17) Go 1.17 requires golang.org/x/sys a76c4d0a0096537dc565908b53073460d96c8539 (May 8, 2021) or later, see golang/go#45702. While this seems to affect macOS only, let's update to the latest version. full diff: golang/sys@d19ff85...63515b4 Signed-off-by: Sebastiaan van Stijn <github@gone.nl> Upstream-commit: d48c8b70a1df3c82b93cd2766dfec261da5a70e5 Component: engine
…r Go 1.17) Go 1.17 requires golang.org/x/sys a76c4d0a0096537dc565908b53073460d96c8539 (May 8, 2021) or later, see golang/go#45702. While this seems to affect macOS only, let's update to the latest version. full diff: golang/sys@d19ff85...63515b4 Signed-off-by: Sebastiaan van Stijn <github@gone.nl> Upstream-commit: 61a1775adba91ed0dc05bc9eec0dc6581a8c2b8c Component: cli
This commit updates the golang.org/x/sys dependency to fix a panic that occurs on darwin when running under go1.17. The golang/go issue is 45702: golang/go#45702 For reference the panic manifests itself when running the `pebble` command and can be reproduced on go1.17 with: ```sh $ go run github.com/cockroachdb/pebble/cmd/pebble bench sync "$(mktemp -d)" ```
- Upgrading golang.org/x/sys seems to fix the probelm - Tidies dependencies - See golang/go#45702
- Upgrading golang.org/x/sys seems to fix the probelm - Tidies dependencies - See golang/go#45702
…r Go 1.17) Go 1.17 requires golang.org/x/sys a76c4d0a0096537dc565908b53073460d96c8539 (May 8, 2021) or later, see golang/go#45702. While this seems to affect macOS only, let's update to the latest version. full diff: golang/sys@d19ff85...63515b4 Signed-off-by: Sebastiaan van Stijn <github@gone.nl> (cherry picked from commit d48c8b7) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
…r Go 1.17) Go 1.17 requires golang.org/x/sys a76c4d0a0096537dc565908b53073460d96c8539 (May 8, 2021) or later, see golang/go#45702. While this seems to affect macOS only, let's update to the latest version. full diff: golang/sys@d19ff85...63515b4 Signed-off-by: Sebastiaan van Stijn <github@gone.nl> (cherry picked from commit d48c8b7) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
…r Go 1.17) Go 1.17 requires golang.org/x/sys a76c4d0a0096537dc565908b53073460d96c8539 (May 8, 2021) or later, see golang/go#45702. While this seems to affect macOS only, let's update to the latest version. full diff: golang/sys@d19ff85...63515b4 Signed-off-by: Sebastiaan van Stijn <github@gone.nl> (cherry picked from commit 61a1775) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-04-21T22:16:51-33663a6/darwin-amd64-10_12
2021-04-20T20:58:09-ac73e9f/darwin-amd64-10_12
2021-04-20T07:25:15-93ed5bc/darwin-amd64-10_12
2021-04-19T17:01:43-37df388/darwin-amd64-10_12
2021-04-15T04:56:47-66c3f26/darwin-amd64-10_12
This may have the same root cause as #45700, but the fact that it only occurs on the
10_12
builder (and occurs consistently there) is a bit strange.CC @cherrymui
The text was updated successfully, but these errors were encountered: