-
Notifications
You must be signed in to change notification settings - Fork 17.9k
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: lock ordering problem involving 'fin' and 'mheap' #42062
Comments
Marking as release-blocker for Go 1.16 because it's a lock-ordering problem in the runtime. (We should at least understand whether it's a missing lock annotation or a real potential deadlock prior to the 1.16 release.) |
Ah, this is interesting. I think what's happening here is:
Overall, I think benign? We can fix (1) fairly easily. (2) might be harder to fix, but this is a second-order effect that happens specifically only when crashing in the runtime. I don't think in practice (2) even hurts diagnostics for us because in the worst case it causes a deadlock, and eventually we'll try to dump everything much more forcefully without acquiring locks (e.g. someone sends the process a |
Yes the allg deadlock is not a problem, only happens because you've already crashed from something else. |
Change https://golang.org/cl/263677 mentions this issue: |
Change https://golang.org/cl/263678 mentions this issue: |
https://build.golang.org/log/e77e304008e6ffb4bf722e8296e6a2e7621cd4ba
CC @danscales @mknyszek
The text was updated successfully, but these errors were encountered: