-
Notifications
You must be signed in to change notification settings - Fork 18k
runtime: segment violation in mexit/vgetrandomPutState/mallocgcSmallNoscan #73577
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
I couldn't attatch to GitHub, coredumps and the binary: https://drive.google.com/file/d/13AEWG95UIJ07YxvSUpfdbNPTeEcDAYr_/view?usp=sharing |
Investigated the problem a bit deeper: seems eb6f2c2 is the culprit. I have reverted it using the attached patch in out Go build, and containerd built with it seems to not have crashed for 5 runs of the aforementioned Kubernetes test. For now all the tests are on amd64, not sure if it's the assembly part that causes this intermittent fault. I'm currently working on debugging this a bit deeper (e.g. to create a minimum reproducer outside of Talos/containterd, as well as find the bug) Reverting patch (with some conflicts fixed): https://gist.github.com/dsseng/5b3db47436a4c360986def9302f97548 |
@prattmic, FYI. |
Duplicate issue #73141. Please feel free to re-open if the release doesn't fix this issue. |
I changed my mind. Leaving this open until after the release and confirmation. |
Thank you, I can confirm it's fixed with 1.24.3 |
Go version
go version go1.24.2 linux/amd64
Output of
go env
in your module/workspace:What did you do?
This is a hard to reproduce bug, we don't have a minimal reproducer for it.
The overall setup is the following:
What did you see happen?
Running a Kubernetes conformance test which creates/destroys many containers concurrently results in SIGSEGV in containerd.
We went back through CI history of Talos Linux, and the moment of containerd crashes happens on the same day as we updated Go from 1.23 to 1.24 in our toolchain. After that Go 1.24 was updated to Go 1.24.2 without any changes vs. the crash behavior.
We don't have an easy way to reproduce the issue, but we can test patches.
In each crash, we observe the following backtrace in the coredump:
The containerd binary and coredump(s) are attached to the issue.
In the same exact setup, replacing just
containerd
binary built with go1.23.8 resolves this issue.What did you expect to see?
No SIGSEGV.
The text was updated successfully, but these errors were encountered: