Files
sdk/runtime
Ryan Macnak e4e8360eba [vm, isolates] Avoid three-way deadlock during isolate exit.
Running mutator
  holds safepoint operation scope starting old space GC
  waiting for old space tasks to reach 0

Concurrent marker
  holds old space tasks > 0
  waiting for isolates_list_ lock to interrupt for finalization

Exiting mutator
  holds isolates_list_ lock_ to unregister isolate
  waiting for safepoint to end TransitionVMToBlocked

Reorder isolate [un]registeration to not need safepoint transition to acquire the isolates_list_ lock.

TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/59574
Change-Id: Ia98fabd654c880b253893a0598d2e26ed77f52da
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/397660
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2024-11-26 22:53:09 +00:00
..
2024-11-12 20:28:50 +00:00