flutter / flutter/devtools

`ServiceExtensionManager` wrongly assumes service extensions are always registered on the main isolate

未关闭
#7,323 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
bug P1
主要语言
Dart
星标
1.7k
派生
404
平均合并
6 天 17 小时
30 天内合并 PR
18

描述

**Reproduction Steps:**

1. Comment out `--disable-vm-service` flag from `packages/flutter_tools/lib/src/test/runner.dart`
2. Run `flutter test --experimental-faster-testing test/material` in `flutter/packages/flutter/`
3. Copy the VM service URI into DevTools

DevTools will fail to connect to the test runner. This is due to the fact that the [service extension registration event handler](https://github.com/flutter/devtools/blob/master/packages/devtools_app_shared/lib/src/service/service_extension_manager.dart#L59) assumes the events are from the main isolate (in this example, the service extensions are registered by the Flutter framework). However, the main isolate for the test runner consists of bootstrapping code for the test and doesn't register the same service extensions, so the invocations of the service extensions fail, preventing DevTools from connecting to the application.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。