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: