Commit Graph

1605 Commits

Author SHA1 Message Date
Ryan Macnak 8d6aca7085 Add Observatory support for UnlinkedCall, SingleTargetCache and SubtypeTestCache.
Apply dartfmt to the touched files.

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2742333007 .
2017-03-16 12:34:31 -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
Jens Johansen 1ba39faa3f Make observatory 'pub serve' work again in Dartium
pub serve in runtime/observatory with Dartium seems to have been broken
since c8e275537d.

When I try to make observatory connect I just get a blank page.
If I open Dartiums console I get a *long* stacktrace saying
"Caught exception: String Expected".

BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2729773004 .
2017-03-07 08:21:31 +01:00
Ben Konyi f31c653b54 Added comments explaining why some code is not used / returns empty results as a result of issue #28885
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2733613002 .
2017-03-03 12:23:40 -08:00
Ben Konyi 6e02846b6d Temporarily disabling JSON generation for Zone statistics to resolve flakiness in tests until a better implementation is written. Issue #28885 (https://github.com/dart-lang/sdk/issues/28885).
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2728743003 .
2017-03-03 10:43:11 -08: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 8a33d63811 Fix checked mode failure of causal_async_star_stack_contents test
BUG=

Review-Url: https://codereview.chromium.org/2719503002 .
2017-02-24 07:30:40 -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
Ben Konyi c8e275537d Surfaced native heap memory allocation information to the Observatory
BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2667743004 .
2017-01-31 16:09:49 -08:00
Ben Konyi b00df4d4ac Modified service to include current native zone memory consumption information in the VM object. Added a field to display this new information on the main page of the Observatory.
BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2657283004 .
2017-01-31 13:26:01 -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
Ben Konyi de72bf4991 Moved isolate high watermark calculations into the Observatory client.
BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2656723002 .
2017-01-25 15:03:42 -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
Florian Schneider 3e59f95717 Fix debugger's calculation of the context level in async code.
The synthetic call to completeError has the function end as a token position.

This caused the < comparison to fail, and not find the correct context level
when creating a stacktrace in the debugger.

Fixes #28443

R=hausner@google.com

Review-Url: https://codereview.chromium.org/2646093006 .
2017-01-20 16:08:38 -08:00
Ryan Macnak 26a364f998 Support spawnUri in app snapshots.
- Don't mark core_isolate_snapshot_buffer as a const pointer.
 - Update app snapshots without code to not rewrite the VM isolate snapshot, as already done by app snapshots with code.

Fixes #28368

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2637193002 .
2017-01-17 15:59:41 -08:00
Kevin Moore 7c6b933e35 Improve display of long isolate names on summary page
Helps with https://github.com/dart-lang/sdk/issues/28413

R=johnmccutchan@google.com, turnidge@google.com

Review-Url: https://codereview.chromium.org/2630423003 .
2017-01-17 13:34:38 -08:00
Ryan Macnak 12a3699301 Revert "Support spawnUri in app snapshots."
Failures on IA32.

This reverts commit c6ecfe1746.

Review-Url: https://codereview.chromium.org/2631893002 .
2017-01-13 15:52:36 -08:00
Ryan Macnak c6ecfe1746 Support spawnUri in app snapshots.
Don't mark core_isolate_snapshot_buffer as a const pointer.

Fixes #28368

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2623423007 .
2017-01-13 15:18:27 -08:00