runtime: SIGSEGV crash on Linux in docker container, possible net/http crash #51113
Labels
compiler/runtime
Issues related to the Go compiler and/or runtime.
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone
Context I run 2 binaries inside a docker container, one open source project (first crash) and another closed source (second crash).
Both of them crashed with
signal SIGSEGV: segmentation violation
The first crash started with these lines:
The second crash started with these lines:
What version of Go are you using (
go version
)?The open source project runs with Go
1.17.6
.The closed source project with Go
1.14.4
.Both
linux/amd64
.Does this issue reproduce with the latest release?
I can't reproduce it, it's an event that I never observed before and we run about 400 instances across 95 clusters with more than 1M RPS.
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
We run 2 processes in one docker container. One process is the open source project, which is a http reverse proxy with some more features like authnz calls to another http endpoint. The second process is the close source project which is a http server handler that does JWT validation, which is called by the first process to validate the token.
At runtime both processes crashed.
It's a single occurrence and I found https://github.com/golang/go/wiki/LinuxKernelSignalVectorBug which is mentioned in the second crash logs. However I could not reproduce the Bug test https://github.com/golang/go/wiki/LinuxKernelSignalVectorBug#bug-test. I tested with the same gcc version as the kernel.
Gcc version:
Kernel version:
We run all nodes without swap, for example:
The first crash logs
go_1st_crash.log
The second crash logs
go_2nd_crash.log
What did you expect to see?
no crash
What did you see instead?
a crash
The text was updated successfully, but these errors were encountered: