-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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: syscall on macOS hangs and causes 100% CPU #58814
Comments
cc @prattmic based on other |
Could you collect a core file (with Does this application have CPU profiling enabled? If so, please test using a toolchain built from |
cc @golang/runtime |
Is I couldn't find anything suggesting it was, only this thread from last year saying it wasn't available (yet): https://inbox.sourceware.org/gdb/3185c3b8-8a91-4beb-a5d5-9db6afb93713@Spark/. Apologies if I'm missing something obvious. I actually develop on Linux - I'm just reproducing and tracking this down for others who develop on mac.
Please can you let me know how I determine this? |
I'm not sure,
If you aren't sure, but can readily reproduce this issue, it is probably simplest to just test with a Go toolchain built from
|
Oops, I forgot to add git checkout of the release branch to the instructions above. I've edited to add it. |
Thanks.
A fresh stack trace and https://gist.github.com/myitcv/32f362f6c12e829c348383b2617815c5
Doing so now. |
No problems. I actually have Is that good enough? |
No, the CL is merged to |
This thread is panicking. I'm actually not 100% sure if this is just from the signal you sent to generate the core file, or it was actually stuck here before the core dump. If the latter, it might be #58513, as that can get stuck in panic. OTOH, typically that bug should appear in traceback code in the panic, not in preparePanic. That makes me think it is the former, in which case it looks like the C++ library was just stuck executing forever itself. I guess another way to look at this would be to execute the program directly under lldb. Let it run until it seems stuck, then stop it and check |
Thanks for this.
In which case I will continue with my efforts to try and repro this building |
Noted, thanks. |
Ok, I was unable to reproduce this with the latest commit on the go1.20 branch. Which led me to bisect to find the fix. Turns out the scenario I was running into was fixed by 7d3a5a5. |
Huh, well you certainly had a deep cgo stack, so that makes sense. I don't fully understand why the program was hanging rather than crashing with a SIGSEGV on stack overflow, but that is OK. |
What version of Go are you using (
go version
)?The problem occurs with a pre-built version of Hugo.
Does this issue reproduce with the latest release?
Not yet tested (the prebuilt releases of Hugo us go1.19.5).
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
Instead Hugo v0.108.0 extended from https://github.com/gohugoio/hugo/releases/download/v0.108.0/hugo_extended_0.108.0_darwin-universal.tar.gz.
Ran
hugo
to build https://github.com/cue-lang/cuelang.org/tree/alpha.What did you expect to see?
Hugo outputting to stdout that it is serving on localhost.
What did you see instead?
Process hanging, stuck at 100% CPU.
Here is a trace of the
hugo
process:https://gist.github.com/myitcv/3e5ad9823c202082949f8c72c230122c
Next steps on our side are to try and rebuild Hugo extended using Go tip, but any pointers/ideas in the meantime would be much appreciated.
The text was updated successfully, but these errors were encountered: