commit(s) to merge: ed82bb6
merge instructions: clean merge or patch CL
What is the issue: Brief description of the problem
- 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: Brief description of 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: Describe the reasons, like many users impacted, or serious functional issues, for example
- lots of users reports; likely manifesting in a few separate issues
Risk:
Link to original issue(s):
/cc @kevmoo @mit-mit @whesse @athomas @vsmenon @franklinyow @a-siva @aam @DanTup
commit(s) to merge: ed82bb6
merge instructions: clean merge or patch CL
What is the issue: Brief description of the problem
What is the fix: Brief description of 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: Describe the reasons, like many users impacted, or serious functional issues, for example
Risk:
Link to original issue(s):
/cc @kevmoo @mit-mit @whesse @athomas @vsmenon @franklinyow @a-siva @aam @DanTup