[CP][stable channel] Ensure start/stop file watching requests are run on the dart thread (Additional Change) #46298
Labels
area-vm
Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
cherry-pick-approved
Label for approved cherrypick request
cherry-pick-review
Issue that need cherry pick triage to approve
commit(s) to merge: 05e5427
merge instructions: clean merge
What is the issue:
A cherry pick for the original problem was done in #46249, but another issue was noted during the cherry pick review which is addressed by this change.
numerous user reports of the analysis server stopping responding to IDE requests; this is due to the isolate running the analysis server deadlocking when unsubscribing from file watching events
What is the fix:
At present start/stop requests are scheduled on RunLoop thread. This results in deadlocks since same RunLoop thread might be busy with blocking writes of file watching events, not giving a chance for Dart to read previously-written events. Reading would unblock writer.
This fix moves start/stop requests to run on Dart thread instead.
Why cherrypick:
lots of users reports; likely manifesting in a few separate issues
Risk:
The change has rolled into flutter without any issues.
Link to original issue(s):
#45996
/cc @kevmoo @mit-mit @whesse @athomas @vsmenon @franklinyow @a-siva @aam @DanTup
The text was updated successfully, but these errors were encountered: