Commit Graph

1103 Commits

Author SHA1 Message Date
Jacob Richman 4360e99d18 Revert "Fix observatory tests broken by running dartfmt."
This reverts commit b1f7e6d94673b098c93c187fe3efc45c15f27edc.

BUG=

Committed: https://github.com/dart-lang/sdk/commit/62be0eacfbb36bdc92a05c7c35bb4506621b6a3a
Review-Url: https://codereview.chromium.org/2767533002 .
2017-03-21 10:07:26 -07:00
Florian Schneider ef7487a7a8 Fix two bugs with async stack traces.
1. A crash when collecting an async stack trace with inlined frames on the stack.

2. A missing source position in an async stack trace.

Fixes #29080.

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2767483002 .
2017-03-21 09:31:11 -07:00
Jens Johansen e43feda1ed Don't run service tests via dartk in debug mode
BUG=
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2766513004 .
2017-03-21 15:52:50 +01:00
Jens Johansen 41a8604ebf Don't run service tests via dartkp
BUG=
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2767603002 .
2017-03-21 15:11:05 +01:00
Jens Johansen a6ea038643 [kernel] offsets on direct property get/set
BUG=
R=ahe@google.com, kmillikin@google.com

Committed: https://github.com/dart-lang/sdk/commit/7577f6aaa052c9a1c309f13bf338b92bf4fb9fd0
Review-Url: https://codereview.chromium.org/2748333002 .
2017-03-21 14:43:45 +01:00
Jens Johansen 2dbff73522 Additional service tests
BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2752753002 .
2017-03-21 14:37:01 +01:00
Jacob Richman 62be0eacfb Revert "Fix observatory tests broken by running dartfmt."
This reverts commit b1f7e6d94673b098c93c187fe3efc45c15f27edc.

BUG=

Review-Url: https://codereview.chromium.org/2767533002 .
2017-03-20 22:19:22 -07:00
Jacob Richman 88f8aacd5f Re-apply rolled back CL to apply dartfmt to runtime.
Fix observatory tests broken by running dartfmt due to line and column changes.
Temporarily reverted formatting for evaluate_activation_test.dart as dartfmt doesn't yet handle multitests.

BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2759973004 .
2017-03-20 21:44:59 -07:00
Ryan Macnak ea4744a06f Revert "Run dartfmt on all files under runtime."
This reverts commit 15f393f189.

The change caused many service test failures due to changed line numbers.

TBR=jacobr@google.com

Review-Url: https://codereview.chromium.org/2762583003 .
2017-03-20 13:42:55 -07:00
Jacob Richman 15f393f189 Run dartfmt on all files under runtime.
I've omitted files where the formatter output is significantly uglier
than the original code and I'll send those files in a separate CL
with options for how to make the code look reasonable while still
taking advantage of the formatter.

BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2751423005 .
2017-03-20 13:13:50 -07:00
John McCutchan 9431f65f73 Also, remove the restart test case
BUG=

Review-Url: https://codereview.chromium.org/2759993002 .
2017-03-20 09:10:04 -07:00
John McCutchan a4adbffb50 Remove legacy restart code
Also fixes #29092 by threading Error objects back to the message handler.

BUG=
R=asiva@google.com, rmacnak@google.com

Review-Url: https://codereview.chromium.org/2759533002 .
2017-03-20 08:47:39 -07:00
John McCutchan c92e0f5108 Disable bad_reload_test on app-jit
BUG=

Review-Url: https://codereview.chromium.org/2757733002 .
2017-03-16 12:59:39 -07:00
John McCutchan 4d7acb34d9 Only propagate reload errors when there are Dart frames on the stack.
- [x] Check for Dart frames on the stack before propagating an exception.
- [x] Never propagate an uncaught exception that occurs during reload to the program.
- [x] Add a unit test to verify that bad imports during a reload do not crash the VM

Fixes #29085

BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2748353004 .
2017-03-16 10:50:59 -07:00
Jens Johansen 9fa510ea38 Revert "[kernel] offsets on direct property get/set"
This commit wanted stuff from anther CL that haven't landed yet.

This reverts commit 7577f6aaa0.

BUG=

Review-Url: https://codereview.chromium.org/2751083002 .
2017-03-15 13:54:03 +01:00
Jens Johansen 7577f6aaa0 [kernel] offsets on direct property get/set
BUG=
R=ahe@google.com, kmillikin@google.com

Review-Url: https://codereview.chromium.org/2748333002 .
2017-03-15 13:26:45 +01:00
John McCutchan 6e4e41de83 Fix complex_reload_test on Windows
BUG=

Review-Url: https://codereview.chromium.org/2743633006 .
2017-03-10 13:24:37 -08:00
John McCutchan f6a2573eee Enable complex reload test on Windows
Fixes #27861

BUG=

Review-Url: https://codereview.chromium.org/2738403004 .
2017-03-10 10:58:13 -08:00
John McCutchan 5da8b12dc6 Make complex_reload_test use Uris instead of file paths
BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2738133005 .
2017-03-10 09:30:56 -08:00
John McCutchan 5128636521 Support DevFS paths encoded as URIs
Fixes #28972

Note that the path handling logic in DevFS is now complicated with three
possible sources of path information. After we roll this we should clean it
up and unify on Uri encoding

BUG=
R=turnidge@google.com

Review-Url: https://codereview.chromium.org/2733413003 .
2017-03-08 15:41:11 -08:00
Todd Turnidge 7d6ba6bf1f Make rewind work on DBC
Closes #27878

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2636443004 .
2017-03-08 13:15:54 -08:00
Jens Johansen 8e2bf308c1 Fix new service tests on windows; make status file more precise.
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2734133003 .
2017-03-07 13:48:58 +01:00
Jens Johansen 067b377a3c Mark new debugging stuff as flaky as it fails on mac/win/whatnot
BUG=

Review-Url: https://codereview.chromium.org/2732973006 .
2017-03-07 10:34:52 +01:00
Jens Johansen 9837563cd1 Kernel debugging; service tests
- Offsets on more stuff
- Status file for kernel
 -> Testing with (before fasta)
    ```
    python tools/test.py -mrelease -cdartk --no-tree-shake --no-dfe service
    ```
    now shows everything as passing.
    Reload stuff, and evaluation stuff (e.g.) has been disabled though.
- Lots of new service tests that tests what positions we stop at when
  saying next.

As fasta has now landed debugging does not currently work, but this is still needed in order to both test better and allow for proper kernel debugging support.

R=hausner@google.com, kmillikin@google.com

Review-Url: https://codereview.chromium.org/2680303002 .
2017-03-07 09:43:59 +01:00
Kevin Millikin f31b6d5e2c Reland "Track the 'awaiter return' call stack..."
Original CL: https://codereview.chromium.org/2692803006/

Original commit message:
Tracking the awaiter return call stack:

- [x] Each async function closure now knows who is awaiting on their
return. This is effectively the asynchronous equivalent of the 'frame pointer'.
- [x] Each async* function closure now knows how is listening on their
stream. This is effectively the asynchronous equivalent of the 'frame pointer'.

Detecting uncaught exceptions in async functions:

- [x] Code object keeps a map from :await_jump_var to token position
- [x] Exception Handlers keep track if they are generated (as part of compilation) or directly from user code
- [x] Debugger maps :await_jump_var to a specific try index

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2725623003 .
2017-02-28 16:13:41 +01:00
Kevin Millikin a0965a641f Revert "Track the 'awaiter return' call stack..."
Revert a pair of commits that cause failure of the Kernel continuation
transformer:

  cba7e3e79a
  4fe4f177de

R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2718353002 .
2017-02-28 12:46:31 +01:00
John McCutchan cba7e3e79a Track the 'awaiter return' call stack use it to detect uncaught exceptions in async functions
Tracking the awaiter return call stack:

- [x] Each async function closure now knows who is awaiting on their
return. This is effectively the asynchronous equivalent of the 'frame pointer'.
- [x] Each async* function closure now knows how is listening on their
stream. This is effectively the asynchronous equivalent of the 'frame pointer'.

Detecting uncaught exceptions in async functions:

- [x] Code object keeps a map from :await_jump_var to token position
- [x] Exception Handlers keep track if they are generated (as part of compilation) or directly from user code
- [x] Debugger maps :await_jump_var to a specific try index

Fixes #27242

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2692803006 .
2017-02-27 14:16:15 -08:00
John McCutchan 6a312d429b Fix causal_async_star_stack_contents_test with optimization-counter-threshold=5
There was an off by one error when generating the causal async stack trace
in the debugger. We were always adding one more frame pass the sentinel frame.
This frame is always _Closure.call which is filtered out by the debugger
already. However when --optimization-counter-threshold=5, _Closure.call was
inlined and we ended up appending the inliner to the stack trace. The
inliner is not filtered out by the debugger so we got an extra frame in
the stack trace.

Fixes #28861

BUG=
R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2707413002 .
2017-02-24 06:58:39 -08:00
Peter von der Ahé f1dc355971 Mark service/isolate_lifecycle_test flaky on all platforms.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2710023004 .
2017-02-23 13:42:55 +01:00
John McCutchan ece78e3d5a Add missing pieces of my last CL
Somehow patch set #1 was landed instead of patch set #2
This CL includes the missing pieces.

BUG=

Review-Url: https://codereview.chromium.org/2694393003 .
2017-02-15 04:09:10 -08:00
John McCutchan d264156cfb Add tests of line numbers to causal async stack tests
BUG=
R=devoncarew@google.com, rmacnak@google.com

Review-Url: https://codereview.chromium.org/2694013003 .
2017-02-15 00:38:46 -08:00
John McCutchan 19abef97f1 Reland improvements to causal async stack traces
Original CL: https://codereview.chromium.org/2690683002

Improvements to causal async stack traces

UX improvements:

- [x] Stop printing the suffix <%s_async_body> and <%s_async_gen_body> for the generated closures.

Fixes #28743

- [x] Don't include the duplicate frame below the asynchronous suspension marker.

Fixes #28742

Bug fixes:

- [x] Fix service protocol enum naming so that it is consistent with other enums.

Fixes #28726

Misc:

- [x] Stop using package:stack_trace now that the VM does it for us.

BUG=
R=asiva@google.com, devoncarew@google.com, rmacnak@google.com

Review-Url: https://codereview.chromium.org/2691213003 .
2017-02-14 05:00:04 -08:00
John McCutchan e84d8a1f11 Revert "Improvements to causal async stack traces"
This reverts commit 8538d81473.

BUG=

Review-Url: https://codereview.chromium.org/2694213002 .
2017-02-14 02:29:40 -08:00
John McCutchan 8538d81473 Improvements to causal async stack traces
UX improvements:

- [x] Stop printing the suffix <%s_async_body> and <%s_async_gen_body> for the generated closures.

Fixes #28743

- [x] Don't include the duplicate frame below the asynchronous suspension marker.

Fixes #28742

Bug fixes:

- [x] Fix service protocol enum naming so that it is consistent with other enums.

Fixes #28726

Misc:

- [x] Stop using package:stack_trace now that the VM does it for us.

BUG=
R=asiva@google.com, devoncarew@google.com, rmacnak@google.com

Review-Url: https://codereview.chromium.org/2690683002 .
2017-02-14 00:56:55 -08:00
Zachary Anderson 0111122ca0 [Fuchsia] Update test status files
R=asiva@google.com, rmacnak@google.com

Review-Url: https://codereview.chromium.org/2693643002 .
2017-02-10 21:34:33 -08:00
John McCutchan a0ee5b24db Track async causal stack traces
This CL improves the stack traces that accompany exceptions. Whenever an
async function is entered, we remember how we got there. This is similar
in spirit to package:stack_trace but the implementation is more efficient
and memory usage can be more easily reasoned about.

Tracking causal stack traces:

- [x] Upon entry to an async function, capture the synchronous stack trace prefix and store it into the closure.
- [x] Upon entry to an async* function, capture the synchronous stack trace prefix and store it into the closure.
- [x] Before returning from an async function, clear the Thread's asynchronous stack trace.
- [x] After resuming an async function, load the sychronous stack trace prefix into the Thread.
- [x] Filter stack traces to remove async machinery.

Service protocol changes:

- [x] Send causal async stack trace.

Observatory changes:

- [x] Display causal async stack trace below async functions.

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

R=asiva@google.com, rmacnak@google.com

Comparisons: https://docs.google.com/a/google.com/document/d/10r6jEqr8OCiDZ4y9SYU_uOimcHiOGAZMly2ghTErALI/edit?usp=sharing
Review-Url: https://codereview.chromium.org/2646443005 .
2017-02-09 15:39:44 -08:00
Jens Johansen 65e5de9a42 Make service tests more resilient to isolate load timing
https://github.com/dart-lang/sdk/issues/28609

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2670303003 .
2017-02-09 10:02:16 +01:00
John McCutchan e213cf3b15 Mark that developer_extension_test now passes on app-jit
BUG=

Review-Url: https://codereview.chromium.org/2680203003 .
2017-02-07 16:04:16 -08:00
John McCutchan dcbb57a0c5 Fix developer extension test expectations
BUG=

Review-Url: https://codereview.chromium.org/2684723002 .
2017-02-07 11:56:42 -08:00
John McCutchan 4c621ebd90 Update service.status
Fixes #27225
Fixes #26490

BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2679733003 .
2017-02-07 11:17:08 -08:00
John McCutchan 25e8f56425 Fix get_ports_rpc_test to be insensitive to system level ports
Fixes #28560

BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2681583002 .
2017-02-06 13:43:45 -08:00
John McCutchan 4b436fa24b Fix vm_timeline_flags_test flake
Fixes #28625

BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2683443002 .
2017-02-06 13:29:16 -08:00
Brian Wilkerson 2ee2fe9b5c [Gardening] Disable running strong-mode analyzer tests in code that is not strong mode clean
R=whesse@google.com

Review-Url: https://codereview.chromium.org/2679553003 .
2017-02-06 13:26:39 -08:00
Florian Loitsch d2f9ba6d37 Mark vm_timeline_flags_test as flaky everywhere.
Review-Url: https://codereview.chromium.org/2679633004 .
2017-02-06 19:55:48 +01:00
Kevin Millikin 8d7583b8d1 Mark a service test that seems flaky on Windows
This test has failed twice recently, both times on Windows.  This is
issue #28625.

BUG=
R=dmitryas@google.com

Review-Url: https://codereview.chromium.org/2671783004 .
2017-02-03 13:50:57 +01:00
Kevin Millikin 407464ce90 Mark a pair of flaky service tests
These test have (unexpectedly) different event timestamps.  This is
issue #28624.

BUG=
R=dmitryas@google.com

Review-Url: https://codereview.chromium.org/2671613007 .
2017-02-03 13:29:20 +01:00
John McCutchan 95b84d898e Fix stale key names in get_isolate_rpc_test.
BUG=
R=bkonyi@google.com

Review-Url: https://codereview.chromium.org/2673753002 .
2017-02-02 15:10:32 -08:00
Todd Turnidge e60003d1a7 Remove a major source of flaky service test failures.
The first three bugs below have bug reports which indicate that they
will be fixed.  The bottom three bugs were filed without log
information, so it is impossible to know if they will be fixed or not,
but it is quite possible.

Closes #26470
Closes #28947
Closes #28605
Closes #28091
Closes #28184
Closes #28185

BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2671603004 .
2017-02-02 14:54:20 -08:00
Todd Turnidge bcb7cfa79e Better reporting of ambiguous and "not found" commands in Obs debugger.
Add a missing space in another random file.

BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2552783003 .
2017-01-31 11:31:31 -08:00
Florian Schneider 1f046952d8 Fix service test script to avoid unhandled exception.
This caused the test to fail sometimes.

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2647573006 .
2017-01-20 16:44:49 -08:00