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
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