Skip to content

[CP][stable channel] Ensure start/stop file watching requests are run on the dart thread. #46249

Description

@devoncarew

commit(s) to merge: ed82bb6

merge instructions: clean merge or patch CL

  • assumed clean

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

Metadata

Metadata

Assignees

Labels

area-vmUse area-vm for VM related issues, including code coverage, and the AOT and JIT backends.cherry-pick-approvedLabel for approved cherrypick requestcherry-pick-reviewIssue that need cherry pick triage to approvemerge-to-stable

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions