golang/go

cmd/compile: OpInlMark can get removed by SSA dead code elimination, resulting in invalid inlining trees

Open

#54,625 opened on Aug 23, 2022

View on GitHub
 (19 comments) (0 reactions) (0 assignees)Go (19,008 forks)batch import
NeedsFixcompiler/runtimehelp wanted

Repository metrics

Stars
 (133,883 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

See discussion at https://github.com/golang/go/issues/46234.

The immediate issue is that https://go.dev/play/p/OikFLBmKguY?v=gotip causes the loop at https://github.com/golang/go/blob/7f632f76db65f28038b8797fbfe5e15a9f63e387/src/runtime/traceback.go#L362 to never terminate, because the inlining "tree" has cycles.

The bigger issue is that we're generating trees like this for kube-apiserver, and this is presumably the root cause of #54593.

Contributor guide