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: code running on other threads does not show up in stack trace #4494
Labels
Comments
Smaller reproduction case, at least on a Mac: package main func main() { for{} } The problem is that the thread that gets the signal is not the thread executing - it's a background thread sleeping - and when it dumps the goroutine stacks it has not access to the other threads' register sets and cannot show the stacks for the goroutines they are running. To fix this we would have to pick a custom signal (SIGPROF maybe), send it to all the other threads, and make the signal handler supply the goroutine stack. I'm not even sure if OS X can target a signal to a specific thread. See issue #4391, which will also require intraprocess signals. Yuck. |
issue #5873 is the half that will be done in Go 1.2. The rest (for{}) will have to wait at least until Go 1.3, if not longer. Labels changed: added go1.3maybe, removed go1.2. |
This issue was closed by revision 757e0de. Status changed to Fixed. |
This issue was closed.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
The text was updated successfully, but these errors were encountered: