-
Notifications
You must be signed in to change notification settings - Fork 18k
crypto/x509: 0xb01dfacedebac1e crash on Mac OS X 10.8 #16473
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
Comments
gcc --version says Apple LLVM version 5.1 (clang-503.0.40). Machine is darwin/amd64. Darwin kernel 12.2.0. Git rev is 243d51f |
This appears to be a portability problem in the C code that was added in https://golang.org/cl/20351. This pure C program fails with a segmentation violation at the same point (when calling CC @hinman I don't know what this code does and I don't plan to look at this further.
|
Thanks, @ianlancetaylor. @adg, @broady, for Go 1.7 we need to do one of:
I'll work on testing OS X 10.9 to see if it's also affected, or whether it's just 10.8. (10.10, 10.11, and 10.12 seem fine) |
I'll see if I can get a 10.8 build env and replicate, I think I know what is going on. |
@hinman, email me (bradfitz at golang) and I can get you ssh access to a 10.8 VM if that would help. |
I'd like to try and support 10.8 if we can. It's only 4 years old. |
The following fix works for me on 10.8.5 and 10.11.5 |
CL https://golang.org/cl/25190 mentions this issue. |
10.9 looks fine. |
@josharian suggested we do something like https://golang.org/cl/25233 instead, using the old implementation for OS X 10.8, rather than changing the implementation this late in the Go 1.7 cycle. |
CL https://golang.org/cl/25233 mentions this issue. |
Per @josharian's comment, the submitted CL isn't enough. We need runtime detection of OS X version, not compile-time. Patchset 1 of https://golang.org/cl/25233 was better in retrospect, even though there's probably a cheaper way to query it than os/exec to sw_vers. @quentinmit, you know Mac APIs? Or @nickoneill? |
CL https://golang.org/cl/25281 mentions this issue. |
https://golang.org/cl/25233 was detecting the OS X release at compile time, not run time. Detect it at run time instead. Fixes #16473 (again) Change-Id: I6bec4996e57aa50c52599c165aa6f1fae7423fa7 Reviewed-on: https://go-review.googlesource.com/25281 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org> Reviewed-by: Chris Broadfoot <cbro@golang.org>
Just out of curiosity, what exactly is going on? The only other reference I see to this particular issue is another github project; is this a regression in 10.8? (For what it's worth, I have 10.8-10.10 VMs to test potential issues with as well.) |
@andlabs I didn't look too deeply but I think this is a regression is 10.8. For whatever reason the CFData structure that is returned looks like it hasn't been initialized correctly, but there is no error set. The functions worked fine on 10.11 and 10.10. |
The Go download page says we support as low as Mac OS X 10.8 (Mountain Lion), so I worked on resurrecting a 10.8 builder and found it fails to run tests:
/cc @ianlancetaylor
The text was updated successfully, but these errors were encountered: