envoy-preflight icon indicating copy to clipboard operation
envoy-preflight copied to clipboard

Go runtime Signal 23 (SIGURG) before child process is running causes preflight to silently exit

Open dnwe opened this issue 1 year ago • 0 comments

The Go runtime scheduling uses signal 23 (SIGURG) since Go 1.14 (see 24543-non-cooperative-preemption.md). Because the Go runtime does not know if the process expects external SIGURG signals, the signal is not filtered out from signal.Notify, but always reported to the process (see https://github.com/golang/go/issues/37942 for discussion). Preflight should filter this signal out itself before forwarding and when the child process isn't up yet it should also not exit when it is received.

https://github.com/monzo/envoy-preflight/blob/eb1500e0b9be57d0cfd6468922ed2ef1025c869d/main.go#L46-L53

dnwe avatar Jun 19 '23 09:06 dnwe