-
Notifications
You must be signed in to change notification settings - Fork 17.9k
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
SIGILL: illegal instruction on CentOS7 #33407
Comments
Could you perhaps give us a small example of Go and C (and maybe Java) code that has the same problem? CGO is delicate, and may require the use of runtime.LockOSThread() or other precautions. |
Hi, and thanks for reporting this. The variety and nondeterminism of the crash errors suggests that the root cause is likely to be memory corruption caused by an issue in the C or cgo parts of your codebase. Unless you have convincing evidence that your program is 100% correct, and that the issue is actually caused by a bug in the Go compiler or runtime, a report like this is essentially non-actionable. |
We remove a |
Every malloc have free(), so it may be the CGO gc problem?But the program is too large and the demo can not recurring problem, so i can not provide it. I will close the issue, thanks. |
Thanks for following up. |
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (
go env
)?$ go env
cpuinfo:
What did you do?
I use CGO, the call path is Go -> C -> Java -> C -> Go, and every time I run the program, it will be panic while several calls or after a while,and every time the panic message is different, such as
SIGILL: illegal instruction
,runtime: unexpected return pc for runtime.selectgo called from 0x0
,runtime: unexpected return pc for runtime.gopark called from 0x202
,runtime: unexpected return pc for runtime.chanrecv1 called from 0x37f
and so on. For example:The text was updated successfully, but these errors were encountered: