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: "invalid traceback origin" in TestCgoPprofThread on linux/amd64 #43174
Comments
2021-09-02T14:02:42-b8420ba/linux-amd64-wsl |
The failure rate seems to be way up since the 1.18 cycle opened, and the failures are also now affecting other
2021-11-29T00:57:09-78af02e/linux-amd64-longtest |
The timer_create changes landed on 2021-09-27. It looks like the uptick began earlier, near the start of September. From reading the test, its exact goal isn't clear to me. It looks for stacks in the profile with The failures I've spot-checked have had two unique stacks with My first guess was that there should be only one unique stack. (If the test looked for that, it might fail more reliably.) But the cgo traceback is faked: go/src/runtime/testdata/testprogcgo/threadpprof.go Lines 43 to 50 in 78af02e
The goroutine that starts the profile makes a cgo call to create a C-owned thread to burn CPU time. If the Go-owned thread gets a SIGPROF while it's in C code (in the process of creating the C-owned thread), that probably results in the longer stack seen in the failing tests. From what I see, the failures don't indicate a problem for production code. go/src/runtime/testdata/testprogcgo/threadpprof.go Lines 96 to 101 in 78af02e
So it looks to me like either:
|
Change https://golang.org/cl/370135 mentions this issue: |
@rhysh Oops. You're totally right. Sorry for pinging you on this, I should've checked the timeline of the pprof changes you made. In any case, thank you so much for the fix! |
The |
2020-12-11T17:26:14-1341a3d/linux-amd64-wsl
CC @hyangah @aclements @ianlancetaylor @mengzhuo
The text was updated successfully, but these errors were encountered: