-
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/cgo: cgo can't work with some old versions glibc #67653
Comments
@ianlancetaylor May I ask you some tech questions, if you can show me some datailed explanations, it will be appreciated.
Besides this issue and #65625 , we have found two issues about swith to
Looking forward to your reply. |
As we should know that if apply the patch https://go-review.googlesource.com/c/go/+/587919 , it can really make the program work, but the low address becomes 0, I don't know whether it will let the programme in a dangerous state or not. |
See #59294 and https://go.dev/cl/479915. I don't think we should make any changes for older versions of glibc until we find specific problems that we can test. |
Thanks your explanation, I agree your opinion. Because it has no impact for normal users, just only for container runtime written by golang. Looking forward go 1.22.4, thanks a lot.
|
@lifubang Given that the problems we know about will be fixed in Go 1.22.4, is there anything else to be done here? Thanks! |
After looked into the code, I think there is maybe no other thing needs to be worked here. Because in cgo we have aleady checked whether the low address returned by pthread libaray is zero or not: So, this one can be closed. |
Go version
go version go1.22.3 linux/amd64
Output of
go env
in your module/workspace:What did you do?
cat setns.go
What did you see happen?
The go program crashed: Segmentation fault
This is similar with the issue #65625, but not the same as it.
I wrote a c programe, and found that this is also a bug of
pthread_getattr_np
in some old glibc.What did you expect to see?
Should see
hello world!
in the output, looks like in go 1.22.3 with glibc 2.35.The text was updated successfully, but these errors were encountered: