Commit Graph

150 Commits

Author SHA1 Message Date
Danny Tuppeny 02d9c3e6a5 [dds] Improve suppression of auto-resuming threads when attaching to processes
Hopefully fixes https://github.com/dart-lang/sdk/issues/48274.

Change-Id: I893a1f5dee54410986644a52b7c2bb406d4e51f3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/237683
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-03-17 19:07:36 +00:00
Ben Konyi 8c484d12fe Reland "[ Service / DDS ] Remove VM service polling logic, add --enable-service-fallback-port support to DDS"
This reverts commit d4f71515c7.

TEST=CQ

Change-Id: I180f9d045870a1ff5f7f3f82b6f4782e18c18cfc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/237440
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-03-15 18:14:42 +00:00
Emmanuel Pellereau d4f71515c7 Revert "[ Service / DDS ] Remove VM service polling logic, add --enable-service-fallback-port support to DDS"
This reverts commit bd8590ba9b.

Reason for revert: breaks google3 (b/224731131)

TEST=Clean revert

Original change's description:
> [ Service / DDS ] Remove VM service polling logic, add --enable-service-fallback-port support to DDS
>
> Polling logic was introduced due to a bug in Fuchsia's network stack
> which could result in the VM service attempting to start the server
> before the network stack was initialized. This issue should be resolved
> now, so this logic is no longer necessary.
>
> TEST=pkg/dartdev/test/commands/run_test.dart
>
> Change-Id: I10f185dfb1be1b0363983f3e0564d65c38c99ea8
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/235763
> Reviewed-by: Ryan Macnak <rmacnak@google.com>
> Commit-Queue: Ben Konyi <bkonyi@google.com>

TBR=bkonyi@google.com,rmacnak@google.com,asiva@google.com

Change-Id: I3016fad25220c4e5479f17294626d79a17bd316a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/237360
Reviewed-by: Alexander Thomas <athom@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Emmanuel Pellereau <emmanuelp@google.com>
Commit-Queue: Emmanuel Pellereau <emmanuelp@google.com>
2022-03-15 12:01:30 +00:00
Ben Konyi bd8590ba9b [ Service / DDS ] Remove VM service polling logic, add --enable-service-fallback-port support to DDS
Polling logic was introduced due to a bug in Fuchsia's network stack
which could result in the VM service attempting to start the server
before the network stack was initialized. This issue should be resolved
now, so this logic is no longer necessary.

TEST=pkg/dartdev/test/commands/run_test.dart

Change-Id: I10f185dfb1be1b0363983f3e0564d65c38c99ea8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/235763
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-03-14 21:44:29 +00:00
Kenzie Schmoll 167970dea7 Reland "Add DevTools Server test and test driver to DDS"
This reverts commit d0dff0e9ba.

Reason for revert: fixed broken tests to reland.

Original change's description:
> Revert "Add DevTools Server test and test driver to DDS"
>
> This reverts commit 02bff5bde2.
>
> Reason for revert: broken tests. (e.g. https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/pkg-mac-release/20638/overview)
>
> Original change's description:
> > Add DevTools Server test and test driver to DDS
> >
> > Bug: https://github.com/dart-lang/sdk/issues/48300
> > Change-Id: I3b72274d111489448a482d65eb7cc23a9f263edf
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/233320
> > Reviewed-by: Ben Konyi <bkonyi@google.com>
> > Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com>
>
> TBR=bkonyi@google.com,kenzieschmoll@google.com
>
> Change-Id: Iaca6b34a4e55ddd7b984b49821f3cc95337d696a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: https://github.com/dart-lang/sdk/issues/48300
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/234114
> Reviewed-by: Kenzie Davisson <kenzieschmoll@google.com>
> Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: https://github.com/dart-lang/sdk/issues/48300
Change-Id: I60ffd0e8a394353014408530d636c5918e517a59
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/234861
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Kenzie Davisson <kenzieschmoll@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com>
2022-03-09 16:48:54 +00:00
Kenzie Davisson d0dff0e9ba Revert "Add DevTools Server test and test driver to DDS"
This reverts commit 02bff5bde2.

Reason for revert: broken tests. (e.g. https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/pkg-mac-release/20638/overview)

Original change's description:
> Add DevTools Server test and test driver to DDS
>
> Bug: https://github.com/dart-lang/sdk/issues/48300
> Change-Id: I3b72274d111489448a482d65eb7cc23a9f263edf
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/233320
> Reviewed-by: Ben Konyi <bkonyi@google.com>
> Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com>

TBR=bkonyi@google.com,kenzieschmoll@google.com

Change-Id: Iaca6b34a4e55ddd7b984b49821f3cc95337d696a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/48300
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/234114
Reviewed-by: Kenzie Davisson <kenzieschmoll@google.com>
Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com>
2022-02-23 23:46:44 +00:00
Kenzie Schmoll 02bff5bde2 Add DevTools Server test and test driver to DDS
Bug: https://github.com/dart-lang/sdk/issues/48300
Change-Id: I3b72274d111489448a482d65eb7cc23a9f263edf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/233320
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com>
2022-02-23 21:09:04 +00:00
Jason Simmons 779c28db7a [ DDS ] Fix a null safety error in memory_profile.dart
See https://github.com/flutter/flutter/issues/97588

Bug: 97588
Change-Id: I95fc1b50b936b7d15d674cc7e1c6908975989d47
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/231533
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-02-04 01:11:46 +00:00
Danny Tuppeny 692f9c28eb [dds] Ensure thread startup is not handled twice in DAP when attaching
Should fix the flakes seen in https://github.com/dart-lang/sdk/issues/48274 caused by Isolate PauseStart events arriving during initialization but being delayed until initialization complete, and then auto-resuming isolates that ere deliberately being left paused.

Change-Id: Iee32731b92fe96b6b41e7e78c01af2f5e843ea92
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/231460
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-02-03 17:41:46 +00:00
Ben Konyi f8ec0f405b [ DDS ] Fix LateInitializationError in memory_profile.dart
Fixes https://github.com/flutter/flutter/issues/97588

Change-Id: I67f7bf20464bea105fa12fae99b6e4912899a1f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/231180
Reviewed-by: Jason Simmons <jsimmons@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-02-01 23:16:15 +00:00
Ben Konyi 0c2079561b [ DDS ] Handle case where requested DDS port is already in use
Instead of hanging with no output to the console, a useful error message
is output to the console before shutting down the VM process.

Fixes https://github.com/dart-lang/sdk/issues/48160

Change-Id: Ib37c0cdf8b1bae6f164abff4a3b3100e944d8a3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228961
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-01-19 22:43:37 +00:00
Danny Tuppeny ff7058162b [dds] Fix misleading type in DAP comment
Change-Id: Ia79ec0ea3b7191619b905af91d7ff49fa1447753
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228921
Reviewed-by: Ben Konyi <bkonyi@google.com>
2022-01-19 20:36:23 +00:00
Danny Tuppeny 8ad21c037c [dds] Fix DAP stack frame parsing for Windows
Fixes https://github.com/dart-lang/sdk/issues/48166.

Change-Id: I6aa28f7123906e9e2ce01615f975d97670a7c99d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228820
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-01-19 17:18:35 +00:00
Ben Konyi 3b736b8460 [ package:dds ] Migrate package:devtools_server functionality under package:dds/devtools_server.dart
Will allow for us to remove dependencies on package:devtools_server in
various packages.

Change-Id: I055cc7bb05d5b4ce0071e3f88a71cb9596e76c74
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228022
Reviewed-by: Kenzie (Schmoll) Davisson <kenzieschmoll@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-01-18 22:42:05 +00:00
Danny Tuppeny 410a1fbec5 [dds] Attach file/line/col metadata to DAP OutputEvents for detected call stacks
Change-Id: Ia91f40aaf244d892d2ff5ffb0e4a1e47f8ad9068
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228040
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-01-18 18:26:05 +00:00
Ben Konyi ea48265725 Reland "[ VM / Service ] Omit private fields from service responses by default"
Adds better error handling in DDS to prevent google3 breakages due to
Flutter binary update lag times.

This reverts commit 28e958febb.

TEST=N/A

Change-Id: Ida454f0ef3caeedd1b0326c37fef58d4b73557d5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/227620
Reviewed-by: Siva Annamalai <asiva@google.com>
2022-01-11 23:35:28 +00:00
Danny Tuppeny 05c1af4e42 [dds] Remove breakpoints/pause-on-exception and resume when detaching from an attached process via DAP
Change-Id: I650e98fb15278d3b9685cbd0430c683f91910f09
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/227300
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-01-11 17:57:54 +00:00
Ivan Inozemtsev 28e958febb Revert "Reland "[ VM / Service ] Omit private fields from service responses by default""
This reverts commit 91a496e5db.

Reason for revert: breaks hot reloads internally

Original change's description:
> Reland "[ VM / Service ] Omit private fields from service responses by default"
>
> This reverts commit 7d39d2dd51.
>
> TEST=N/A
>
> Change-Id: I2119c841719c77be5380857ce209532ed036bd0e
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/226322
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Commit-Queue: Ben Konyi <bkonyi@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I6e751343244a4788a1f080ea1aef5fdd18417109
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/227503
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ivan Inozemtsev <iinozemtsev@google.com>
2022-01-11 14:06:04 +00:00
Danny Tuppeny 1096a554c6 [dds] Respond to launchRequest earlier, remove enableAsserts, fix test file name
Change-Id: I5182cb517476af05bfb9b0a9ca89c027cf9d1e04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/224529
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-01-06 18:07:55 +00:00
Ben Konyi 91a496e5db Reland "[ VM / Service ] Omit private fields from service responses by default"
This reverts commit 7d39d2dd51.

TEST=N/A

Change-Id: I2119c841719c77be5380857ce209532ed036bd0e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/226322
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-01-06 18:05:36 +00:00
Ben Konyi 0c071662a7 [ VM / Service ] Add support for streaming CPU samples with specific
user tags

TEST=cpu_sample_streaming_test.dart

Change-Id: Ia983217ae2a5da8c3252fafbed8197b4f4a20e2b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/224040
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-12-17 00:15:09 +00:00
Sam Rawlins 6cde2fb662 DDS: Add missing returns to nullably-typed functions
Bug: https://github.com/dart-lang/sdk/issues/46656
Change-Id: I130903d6c009d60bcf3c1fee2378abb96c28714f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/224381
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-12-16 18:43:09 +00:00
Danny Tuppeny ebe06b7ccd [dds] Add support for additional VM args in DAP
Change-Id: Ib5c17e4f1881b3ca2c0fec72cc93178aaada3f60
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221800
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-12-02 17:16:07 +00:00
Danny Tuppeny 167f83a46b [dds] Add support for passing environment variables to DAP launches
Change-Id: Ie8f9e00d14cb04719b39238a669d86e9540d8189
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221941
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-12-02 17:14:07 +00:00
Danny Tuppeny 66d2bbab07 [dds] Add a "customTool" option to DAP to allow overriding the dart tool
Change-Id: I5842b85d34af288ad48f4c019bd3cd5cef498487
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221625
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-12-01 17:27:16 +00:00
Danny Tuppeny 08db718290 [dds] Resolve dart: URIs to SDK file paths and back again in DAP
This fixes two issues:

1. When a user navigates into SDK sources using the analyzer (Go-to-Definition) and sets a breakpoint, we map it to a URI that the VM understands
2. When the VM breaks inside an SDK source, we map it back to a local file path (so that the user doesn't end up with two versions of the same file - one downloaded, and one the analyzer sent them to)

Change-Id: Ic1bdbed29196f98e612d81c383ad31ce241446b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221082
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-11-30 16:46:55 +00:00
Nate Bosch 64ebe56f5f Add utf8 decoded context on ascii decode failures
Previously when a process emits unexpected content on `stdout` during startup
the `FormatException` was not useful, it would look something like:

```
FormatException: Invalid value in input: 226
dart:convert                                                 AsciiCodec.decode
package:dds/src/dap/protocol_stream_transformers.dart 91:28  PacketTransformer._parseHeaders
package:dds/src/dap/protocol_stream_transformers.dart 40:25  PacketTransformer.bind.<fn>.<fn>
```

When the failure comes form the ascii decode, give another attempt at
decoding with utf8 since that is a common character set for tool output.
Use that in the message for the exception to make it more useful for the
reader.

Now the failure will look like:

```
FormatException: Unable to decode headers with ascii. The stream has utf8 content:
Downloading package sky_engine...                                  472ms
Downloading flutter_patched_sdk tools...                           629ms
Downloading flutter_patched_sdk_product tools...                   615ms
Downloading linux-x64 tools...                                   1,782ms
Downloading linux-x64/font-subset tools...                         237ms
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Warning
──────────────────────────────────────────────────────────────────────────────
Your Flutter application is created using an older version of the Android
embedding. It is being deprecated in favor of Android embedding v2. Follow the
steps at

https://flutter.dev/go/android-project-migration

to migrate your project. You may also pass the --ignore-deprecation flag to
ignore this check and continue with the deprecated v1 embedding. However,
the v1 Android embedding will be removed in future versions of Flutter.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Content-Length: 518
Content-Type: application/vscode-jsonrpc; charset=utf-8


package:dds/src/dap/protocol_stream_transformers.dart 95:7   PacketTransformer._parseHeaders
package:dds/src/dap/protocol_stream_transformers.dart 40:25  PacketTransformer.bind.<fn>.<fn>
```

Change-Id: I73dcd2e3de53c4af63ddfa0032a171f311be22d5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221221
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-11-29 21:27:04 +00:00
Michal Terepeta 7d39d2dd51 Revert "[ VM / Service ] Omit private fields from service responses by default"
This reverts commit 75abd86407.

Reason for revert: Breaks internal tests (http://b/207612278)

Original change's description:
> [ VM / Service ] Omit private fields from service responses by default
>
> Service responses and events previously could include "private"
> properties, which have names starting with "_". This change removes
> these properties from service objects unless explicitly requested via a
> private parameter.
>
> See go/smaller-dart-vm-service-responses for response size reduction
> data.
>
> TEST=Existing service suite
>
> Change-Id: Ia65b14872e798eaa843f7d180c57721b82371d0b
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221143
> Commit-Queue: Ben Konyi <bkonyi@google.com>
> Reviewed-by: Ryan Macnak <rmacnak@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I0b015baadfcdf4211426efa9a92804b163f88649
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221280
Reviewed-by: Michal Terepeta <michalt@google.com>
Reviewed-by: Clement Skau <cskau@google.com>
Commit-Queue: Michal Terepeta <michalt@google.com>
2021-11-25 10:28:33 +00:00
Ben Konyi 75abd86407 [ VM / Service ] Omit private fields from service responses by default
Service responses and events previously could include "private"
properties, which have names starting with "_". This change removes
these properties from service objects unless explicitly requested via a
private parameter.

See go/smaller-dart-vm-service-responses for response size reduction
data.

TEST=Existing service suite

Change-Id: Ia65b14872e798eaa843f7d180c57721b82371d0b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221143
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2021-11-24 00:34:31 +00:00
Ben Konyi 46f9ae9568 [ VM / Service ] Stream light-weight version of CpuSamples for CPU
profiler events.

`Event.cpuSamples` is now a `CpuSamplesEvent` rather than a `CpuSamples`
object, where `CpuSamplesEvent` returns `(@Object|NativeFunction)[]` rather
than `(@Func|NativeFunction)[]`, resulting in a smaller JSON payload.

TEST=get_object_rpc_test.dart,get_cached_cpu_samples_test.dart

Change-Id: I1ad5e3df8840b8c41735d10c6c8669f6503e54a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219284
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2021-11-18 19:45:26 +00:00
Ben Konyi 0cad0e7224 Reland "[ VM / Service ] Add setIsolatePauseMode RPC"
This reverts commit 6ae9f31081.

TEST=N/A

Change-Id: I98dcee3002f9f0882b1bbd5ad461d28ba2c874f4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220485
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2021-11-17 16:17:24 +00:00
Danny Tuppeny 51df1855ff [dds] Add DAP support for 'hotReload' custom request that calls reloadSources
Change-Id: I413cd9ce8f72e97d14a3fb7762f98833a5991a1d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219793
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-11-15 15:42:02 +00:00
Ben Konyi 6ae9f31081 Revert "Reland "[ VM / Service ] Add setIsolatePauseMode RPC""
This reverts commit 5de4830a4e.

Reason for revert: Unable to roll into google3

Original change's description:
> Reland "[ VM / Service ] Add setIsolatePauseMode RPC"
>
> This reverts commit d21897b88d.
>
> Reason for revert: Reland before fixing failures in google3 (requires copybara update of package:vm_service which requires this change to have already been landed in the SDK).
>
> Original change's description:
> > Revert "[ VM / Service ] Add setIsolatePauseMode RPC"
> >
> > This reverts commit cad8a34d83.
> >
> > Reason for revert: broke the g3 cbuild, see cbuild logs
> > (Error: The method 'setIsolatePauseMode' isn't defined for the class 'VmServiceInterface')
> >
> > Original change's description:
> > > [ VM / Service ] Add setIsolatePauseMode RPC
> > >
> > > Allows for service clients to set pause behaviors on a per-isolate
> > > basis at runtime. setIsolatePauseMode is a more general version of
> > > setExceptionPauseMode and setExceptionPauseMode has been marked as deprecated.
> > >
> > > TEST=pause_on_exceptions_*_test.dart,should_pause_on_exit_test.dart
> > >
> > > Change-Id: I09d80aa2123791dd74d02441c162c19cc0486955
> > > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219580
> > > Commit-Queue: Ben Konyi <bkonyi@google.com>
> > > Reviewed-by: Siva Annamalai <asiva@google.com>
> >
> > TBR=bkonyi@google.com,rmacnak@google.com,asiva@google.com
> >
> > Change-Id: Ic326c54e0fd682e382bd70e36d87467d4148c990
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220067
> > Reviewed-by: Siva Annamalai <asiva@google.com>
> > Commit-Queue: Siva Annamalai <asiva@google.com>
>
> # Not skipping CQ checks because this is a reland.
>
> Change-Id: I0e25654e1991b7246cd413454ef45594d36f4bde
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220127
> Reviewed-by: Siva Annamalai <asiva@google.com>

TBR=bkonyi@google.com,rmacnak@google.com,asiva@google.com

Change-Id: I9f1a2e81c99bfb90ddf0b4298bcb6c60e7e69dd3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220130
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-11-13 00:01:53 +00:00
Ben Konyi 5de4830a4e Reland "[ VM / Service ] Add setIsolatePauseMode RPC"
This reverts commit d21897b88d.

Reason for revert: Reland before fixing failures in google3 (requires copybara update of package:vm_service which requires this change to have already been landed in the SDK).

Original change's description:
> Revert "[ VM / Service ] Add setIsolatePauseMode RPC"
>
> This reverts commit cad8a34d83.
>
> Reason for revert: broke the g3 cbuild, see cbuild logs
> (Error: The method 'setIsolatePauseMode' isn't defined for the class 'VmServiceInterface')
>
> Original change's description:
> > [ VM / Service ] Add setIsolatePauseMode RPC
> >
> > Allows for service clients to set pause behaviors on a per-isolate
> > basis at runtime. setIsolatePauseMode is a more general version of
> > setExceptionPauseMode and setExceptionPauseMode has been marked as deprecated.
> >
> > TEST=pause_on_exceptions_*_test.dart,should_pause_on_exit_test.dart
> >
> > Change-Id: I09d80aa2123791dd74d02441c162c19cc0486955
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219580
> > Commit-Queue: Ben Konyi <bkonyi@google.com>
> > Reviewed-by: Siva Annamalai <asiva@google.com>
>
> TBR=bkonyi@google.com,rmacnak@google.com,asiva@google.com
>
> Change-Id: Ic326c54e0fd682e382bd70e36d87467d4148c990
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220067
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Commit-Queue: Siva Annamalai <asiva@google.com>

# Not skipping CQ checks because this is a reland.

Change-Id: I0e25654e1991b7246cd413454ef45594d36f4bde
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220127
Reviewed-by: Siva Annamalai <asiva@google.com>
2021-11-12 23:24:08 +00:00
Siva Annamalai d21897b88d Revert "[ VM / Service ] Add setIsolatePauseMode RPC"
This reverts commit cad8a34d83.

Reason for revert: broke the g3 cbuild, see cbuild logs
(Error: The method 'setIsolatePauseMode' isn't defined for the class 'VmServiceInterface')

Original change's description:
> [ VM / Service ] Add setIsolatePauseMode RPC
>
> Allows for service clients to set pause behaviors on a per-isolate
> basis at runtime. setIsolatePauseMode is a more general version of
> setExceptionPauseMode and setExceptionPauseMode has been marked as deprecated.
>
> TEST=pause_on_exceptions_*_test.dart,should_pause_on_exit_test.dart
>
> Change-Id: I09d80aa2123791dd74d02441c162c19cc0486955
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219580
> Commit-Queue: Ben Konyi <bkonyi@google.com>
> Reviewed-by: Siva Annamalai <asiva@google.com>

TBR=bkonyi@google.com,rmacnak@google.com,asiva@google.com

Change-Id: Ic326c54e0fd682e382bd70e36d87467d4148c990
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220067
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2021-11-11 23:32:42 +00:00
Ben Konyi cad8a34d83 [ VM / Service ] Add setIsolatePauseMode RPC
Allows for service clients to set pause behaviors on a per-isolate
basis at runtime. setIsolatePauseMode is a more general version of
setExceptionPauseMode and setExceptionPauseMode has been marked as deprecated.

TEST=pause_on_exceptions_*_test.dart,should_pause_on_exit_test.dart

Change-Id: I09d80aa2123791dd74d02441c162c19cc0486955
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219580
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2021-11-11 20:05:51 +00:00
Danny Tuppeny 8809779d80 [dds] Handle "Service Disappeared" errors from DDS/VM Service during shutdown
Change-Id: I1ddc59c56778461d5f42b210422eb24ba2f6da7b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220005
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-11-11 18:03:41 +00:00
Danny Tuppeny 1bfa0bb8dd [dds] Wrap DAP dart.log message in an object for future extensibility
Change-Id: Ifbff825751f7456645b28f23684447e1271e4ece
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/216290
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-10-12 15:17:00 +00:00
Danny Tuppeny 1cc4c11257 Add changelog for DAP classes + some docs on DAP
Change-Id: Ic74f02ec29b45c70dcf71f5d395d2bf80b85a269
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/215552
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-10-06 12:54:18 +00:00
Danny Tuppeny df67dc892b [dds] Add some basic test reporting for DAP test adapter
Change-Id: I39ca29ee5809fd0d6ef30ee163298f66749bed0b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/215080
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-10-01 16:31:34 +00:00
Danny Tuppeny 4389cf7bba [dds] Add support for services/service extensions to DAP
Change-Id: I4f63fd60bf2128c8e88c999c0963b8a1e5304178
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/214281
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-09-24 11:53:15 +00:00
Danny Tuppeny 35d5f857ab [dds] Add a DAP debug adapter that runs "dart test" and passes package:test JSON back
Change-Id: I2619df1d514529457a2035f40eecc5b33f52abd2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212576
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-09-15 15:11:25 +00:00
Lasse R.H. Nielsen f7e4886ad2 Make dds package not use ?. for a static call.
This should have been a warning since null safety
(or arguably since 2.0), but analyzer and compilers
didn't display the warning.

Prepare the package for such usage now being enforced and a warning
or even an error.

Change-Id: I73a852b88dabcaa1396aeec08f33856668e31fe9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212830
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Danny Tuppeny <danny@tuppeny.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-09-09 15:24:01 +00:00
Danny Tuppeny e161187728 [dds] Refactor some DAP classes in preperation for "dart test" adapter
Change-Id: Ice48b45c0ad11a1981e8e4115bb8de6d009d7b5a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212062
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-09-07 14:03:03 +00:00
Ben Konyi 3ff52042ea [ package:dds ] Silently handle exceptions raised within RPC request
handlers

Fixes https://github.com/flutter/flutter/issues/84113

Change-Id: I416308845c5c7f9a1bb547b6429f1e9d49393583
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212268
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-09-01 23:16:07 +00:00
Danny Tuppeny 2d8764a557 [dds] Don't automatically resume when attaching to processes via DAP
Change-Id: I8b0fd4b36a9dd229226046a74e031de005908417
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210920
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-25 16:37:52 +00:00
Danny Tuppeny eff9280e55 [dds] Add support for vmServiceInfoFile to DAP attachRequest
Change-Id: Ibc3e4aef140cb2a2b061bb91b0328230ca70053d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210861
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-25 00:47:34 +00:00
Ben Konyi c7fe9ada2f Reland "[ package:dds ] Add support for caching CPU samples based on UserTag"
This reverts commit ada4278fd5.

TEST=pkg/dds/test/get_cached_cpu_samples_test.dart

Change-Id: I771410c8647fc1eb721c5aeb325c7a595430435c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209120
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2021-08-25 00:04:04 +00:00
Danny Tuppeny 63f1fb02a4 [dds] Support attachRequest in Dart CLI DAP
Change-Id: I4bcd7483ab9f3ed8dd839bd69b59d21f8139c582
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210724
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-23 23:22:48 +00:00
Danny Tuppeny 30a3b9c716 [dds] Improve error handling of calling getters + toString() display in DAP variables
Change-Id: I5b93667925a7f4a6da9edd8f5c94e56b1dbff6d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209963
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-18 21:07:04 +00:00