-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Profiler tries to acquire mutex in signal handler #51124
Comments
We have a longer list of restrictions documented on SampleThread:
|
Wasn't really involved in this, but I thought to recall that VM used to setup a preallocated ring-buffer where signal handlers can readily write into. Is this no longer the case? @bkonyi would this be something you could look at? |
I don't really have any cycles right now. Maybe @rmacnak-google can take a look? |
This locking code seems to have been added here https://dart-review.googlesource.com/c/sdk/+/206920 |
This bug is slowing us down debugging a P0 issue in g3. |
Add asserts against using mutexes or monitors during the signal handler or suspended thread scopes. Poison use of Thread::Current during these scopes. TEST=ci Bug: #51124 Change-Id: If1df06520114105b2b4d8c81b4650bdb4efeaf50 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283703 Reviewed-by: Ben Konyi <bkonyi@google.com> Commit-Queue: Ryan Macnak <rmacnak@google.com>
From an internal crash:
Signal handlers should only call functions that are async signal safe, see manpage
/cc @rmacnak-google @bkonyi
The text was updated successfully, but these errors were encountered: