-
Notifications
You must be signed in to change notification settings - Fork 17.7k
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 signal during runtime execution #41099
Comments
Sadly, with the release of go 1.15, go 1.13 is no longer receiving active support. Can you please try with the latest release of Go can confirm if the problem occurs. |
Ah, that's right, thank you. I've asked they try with a more recent release, which uses go1.14.x. |
More details from hashicorp/consul#8558 (comment). They were able to reproduce with go1.14.7. The full log is attached. They also said it occurs only on hosts with Intel Optane connected in RAM mode. The stack is a bit different, but the errors look similar
|
cc @aclements @randall77 @prattmic @gopherbot remove WaitingForInfo |
This looks a lot like memory corruption. |
Hello to all. |
All the more reason to determine if the binary contains data races or cgo related memory corruption. |
@dnephin have you built the app with the race detector? |
I've been working on running the tests with the race detector enabled. We run some packages with |
A data race could cause memory corruption, so building the app with the race detector may help. |
@dnephin any new about this problem? |
@dnephin @woblerr I got the same issues in my code, and it broke since Go 1.14 with the introduction of the goroutine async preemption (I do not have control over the C code I am using, but it looks like it mess up with the signals), so I just disable the async preemption when running my tests/building the binary. Your logs suggests it could be the same issue (crash in the garbage collector that preempt the goroutines). Can you try running your tests with |
Timed out in state WaitingForInfo. Closing. (I am just a bot, though. Please speak up if this is a mistake or you have the requested information.) |
I previously proposed a way to disable async preemption in all builds of an app; see #40870 It was closed without action, but you might want to comment there to request reconsideration of the idea. |
What version of Go are you using (
go version
)?go1.14.7, also observed the same problem with earlier versions: go1.13.7
Does this issue reproduce with the latest release?
Unknown
What operating system and processor architecture are you using (
go env
)?What did you do?
Original issue reported here: hashicorp/consul#8558
The Consul binary appears to be crashing with errors from the runtime, ex:
fatal error: stopg: invalid status
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x0]
runtime: unexpected return pc for runtime.sigpanic called from 0x0
The stack trace from the application shows the line as a
select
blocking on a channel fromsignal.Notify
(source). I'm not sure if that is related to the underlying issue, or has to do with the signal from the runtime.Full trace
I looked around this issue tracker for an existing issue. I saw some related things, but nothing that sounded like exactly the same problem.
One issue mentioned C signal handlers. There should not be any such handlers in this binary.
The text was updated successfully, but these errors were encountered: