Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add editor support for setting breakpoints using file suffix #21280

Closed
sgjesse opened this issue Oct 9, 2014 · 7 comments

Comments

@sgjesse
Copy link
Member

commented Oct 9, 2014

The VM change done when resolving issue #21067 needs to be supported by the Dart Editor.

Maybe the Dart Editor can just always use relative paths starting at the project root to get the exact same behavior as before.

@clayberg

This comment has been minimized.

Copy link

commented Oct 9, 2014

cc @scheglov.
Set owner to @devoncarew.
Removed Type-Defect, Priority-Unassigned labels.
Added Type-Enhancement, Priority-Medium labels.

@sethladd

This comment has been minimized.

Copy link
Member

commented Oct 23, 2014

Set owner to @scheglov.

@scheglov

This comment has been minimized.

Copy link
Contributor

commented Oct 23, 2014

AFAIK Devon done it it https://codereview.chromium.org//669613006


Set owner to @devoncarew.

@sgjesse

This comment has been minimized.

Copy link
Member Author

commented Nov 11, 2014

Setting breakpoints using a prefix works, but matching the stack at a breakpoint set with prefix with the actual code does not work.

Below is a trace of the communication between the debugger and the debugee inside a Docker container, where the Dart code in running off /app/bin/server.dart.

The change in https://codereview.chromium.org//669613006 does add the suffix support for setting breakpoints. I am now able to set a breakpoint when running in a Docker container ad described in issue #21067. This is command 6 in the trace below:

{"id":6,"command":"setBreakpoint","params":{"isolateId":703850198,"line":20,"url":"bin/server.dart"}}{ "id": 6, "result": { "breakpointId": 1 }}

However when the breakpoint is hit the editor says:

Source not available for <anonomous closure>().

I think this is due to the stack-trace from the VM having absolute URIs which are not matched by the editor. I think this is caused bu the handling of one or more of these commands in the trace below:

Command 7 is resume, and the result is a break in file:///app/bin/server.dart.

Command 8 is getting the stack, where the top frame is reported in file:///app/bin/server.dart

Command 9 is asking for script source for file:/app/bin/server.dart

Besides the top frame I can see the code for the other frames, but they are all in dart: libraries, e.g. dart:async/zone.dart.

{"id":7,"command":"resume","params":{"isolateId":703850198}}{ "id": 7 }{ "event": "breakpointResolved", "params": {"breakpointId": 1, "isolateId":703850198, "location":{"url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":163}}}{ "event": "paused", "params": { "reason": "breakpoint", "isolateId": 703850198,"breakpointId": 1,"location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":163}}}

{"id":8,"command":"getStackTrace","params":{"isolateId":703850198}}{ "id": 8, "result": {"callFrames" : [ {"functionName":"<anonymous closure>","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":163},"locals":[{"name":"webFiles","value":{"objectId":0,"kind":"object","classId":1340,"text":"object of type VirtualDirectory"}},{"name":"request","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_rootRunUnary@687914314","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":6511},"locals":[{"name":"self","value":{"objectId":2,"kind":"object","classId":467,"text":"object of type _RootZone"}},{"name":"parent","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"zone","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":5,"kind":"function","name":"main.<anonymous closure>.<anonymous closure>.<anonymous closure>","signature":"(dynamic) => dynamic","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":64}}},{"name":"arg","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},
...

{"id":9,"command":"getScriptSource","params":{"libraryId":13,"isolateId":703850198,"url":"file:/app/bin/server.dart"}}{"id": 9, "error": "Error: Dart_ScriptGetSource: script 'file:/app/bin/server.dart' not found in library 'file:///app/bin/server.dart'"}

Here is the full trace of the communication between the debugger and the debugee:

{ "event": "isolate", "params": { "reason": "created", "id": 814077656 }}{"id":1,"command":"getLibraries","params":{"isolateId":814077656}}{ "event": "isolate", "params": { "reason": "created", "id": 703850198 }}{"id":2,"command":"getLibraries","params":{"isolateId":703850198}}{ "event": "paused", "params": { "reason": "breakpoint", "isolateId": 703850198,"location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":27}}}{ "id": 2, "result": { "libraries": [{"id":0,"url":"dart:core"}, {"id":1,"url":"dart:isolate"}, {"id":2,"url":"dart:mirrors"}, {"id":3,"url":"dart:collection"}, {"id":4,"url":"dart:profiler"}, {"id":5,"url":"dart:nativewrappers"}, {"id":6,"url":"dart:typed_data"}, {"id":7,"url":"dart:async"}, {"id":8,"url":"dart:convert"}, {"id":9,"url":"dart:_internal"}, {"id":10,"url":"dart:math"}, {"id":11,"url":"dart:_builtin"}, {"id":12,"url":"dart:io"}, {"id":13,"url":"file:///app/bin/server.dart"}, {"id":14,"url":"package:http_server/http_server.dart"}, {"id":15,"url":"package:mime/mime.dart"}, {"id":16,"url":"package:path/path.dart"}, {"id":17,"url":"package:mime/src/mime_multipart_transformer.dart"}, {"id":18,"url":"package:mime/src/mime_shared.dart"}, {"id":19,"url":"package:mime/src/mime_type.dart"}, {"id":20,"url":"package:path/src/context.dart"}, {"id":21,"url":"package:path/src/style.dart"}, {"id":22,"url":"package:path/src/path_exception.dart"}, {"id":23,"url":"package:mime/src/bound_multipart_stream.dart"}, {"id":24,"url":"package:mime/src/char_code.dart"}, {"id":25,"url":"package:mime/src/default_extension_map.dart"}, {"id":26,"url":"package:mime/src/magic_number.dart"}, {"id":27,"url":"package:path/src/internal_style.dart"}, {"id":28,"url":"package:path/src/parsed_path.dart"}, {"id":29,"url":"package:path/src/style/posix.dart"}, {"id":30,"url":"package:path/src/style/url.dart"}, {"id":31,"url":"package:path/src/style/windows.dart"}, {"id":32,"url":"package:path/src/characters.dart"}, {"id":33,"url":"package:path/src/utils.dart"}]}}{"id":3,"command":"getLineNumberTable","params":{"libraryId":13,"isolateId":703850198,"url":"file:///app/bin/server.dart"}}{"id":4,"command":"setPauseOnException","params":{"exceptions":"unhandled","isolateId":703850198}}{ "id": 3, "result": { "lines": [[4,3,1,4,8,5,20], [5,7,1,8,8,9,17], [7,12,1,13,8,14,46], [9,17,1,18,6,19,10,20,11,21,13], [10,23,3,24,7,25,16,26,18,27,22,28,38,29,39,30,44,31,45], [12,34,3,35,11,36,12,37,13,38,15], [13,40,5,41,15,42,16,43,20,44,21,45,30,46,32,47,36,48,37,49,38,51,42,52,43,53,44,55,50,56,52], [14,58,7,60,13,61,14,63,20,64,21,65,22,67,29,68,31], [15,70,11,71,14,72,15,74,22,75,23,77,26,78,27,80,32,81,35,83,38,84,40], [16,86,13,88,20,89,21,91,29,92,30,94,38,95,39,97,46,98,47,100,50,101,51,103,58,104,59,106,72,107,73,108,74], [17,110,11,111,13,112,18,113,21,114,22,116,29,117,30,119,33,120,34,122,39,123,42,125,52,126,54], [18,128,13,130,20,131,21,133,29,134,30,136,37,137,39,139,51,140,53,142,64,143,65,145,69], [19,147,13,149,20,150,21], [20,153,17,154,19,156,26,157,27,159,42,160,44,162,52,163,53,165,60,166,61,168,62], [21,170,17,171,19,173,26,174,27,176,45,177,47,179,55,180,56,182,66,183,67,185,68], [22,187,17,188,19,190,26,191,27], [23,194,27,196,28,197,30,199,38,200,39,202,58,203,59,205,60], [24,207,17,208,19,210,24,211,25,212,26], [25,214,11,215,13,216,18], [26,218,13,219,21,220,22,222,34,223,35,225,42,226,43], [27,228,11], [28,230,7,231,8,232,9], [29,234,5,235,6,236,7], [30,238,3,239,4], [31,241,3,243,10,244,12,245,13,247,14,248,16,250,26,251,28], [32,253,5,255,10,256,11,258,37,260,39,262,41,264,52,266,53,267,54], [33,269,3,270,4,271,5], [34,273,1]]}}{ "id": 4 }{"id":5,"command":"getStackTrace","params":{"isolateId":703850198}}{ "id": 5, "result": {"callFrames" : [ {"functionName":"main","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":27},"locals":[{"name":"webFiles","value":{"objectId":0,"kind":"object","text":"null"}}]},{"functionName":"_startIsolate@709387912","location": { "url":"dart:isolate-patch/isolate_patch.dart","libraryId":1,"tokenOffset":1247},"locals":[{"name":"parentPort","value":{"objectId":0,"kind":"object","text":"null"}},{"name":"entryPoint","value":{"objectId":1,"kind":"function","name":"main","signature":"() => void","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":17}}},{"name":"args","value":{"objectId":2,"kind":"list","length":0,"text":"[]"}},{"name":"message","value":{"objectId":0,"kind":"object","text":"null"}},{"name":"isSpawnUri","value":{"objectId":3,"kind":"boolean","text":"true"}},{"name":"controlPort","value":{"objectId":0,"kind":"object","text":"null"}},{"name":"capabilities","value":{"objectId":0,"kind":"object","text":"null"}}]},{"functionName":"<anonymous closure>","location": { "url":"dart:isolate-patch/isolate_patch.dart","libraryId":1,"tokenOffset":988},"locals":[{"name":"port","value":{"objectId":4,"kind":"object","classId":54,"text":"object of type RawReceivePortImpl"}},{"name":"entryPoint","value":{"objectId":1,"kind":"function","name":"main","signature":"() => void","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":17}}},{"name":"args","value":{"objectId":2,"kind":"list","length":0,"text":"[]"}},{"name":"@709387912","value":{"objectId":0,"kind":"object","text":"null"}}]},{"functionName":"_RawReceivePortImpl@709387912._handleMessage@709387912","location": { "url":"dart:isolate-patch/isolate_patch.dart","libraryId":1,"tokenOffset":649},"classId":54,"locals":[{"name":"handler","value":{"objectId":5,"kind":"function","name":"_startMainIsolate.<anonymous closure>","signature":"(dynamic) => dynamic","location": { "url":"dart:isolate-patch/isolate_patch.dart","libraryId":1,"tokenOffset":971}}},{"name":"message","value":{"objectId":0,"kind":"object","text":"null"}}]}]}}{"id":6,"command":"setBreakpoint","params":{"isolateId":703850198,"line":20,"url":"bin/server.dart"}}{ "id": 6, "result": { "breakpointId": 1 }}{"id":7,"command":"resume","params":{"isolateId":703850198}}{ "id": 7 }{ "event": "breakpointResolved", "params": {"breakpointId": 1, "isolateId":703850198, "location":{"url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":163}}}{ "event": "paused", "params": { "reason": "breakpoint", "isolateId": 703850198,"breakpointId": 1,"location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":163}}}{"id":8,"command":"getStackTrace","params":{"isolateId":703850198}}{ "id": 8, "result": {"callFrames" : [ {"functionName":"<anonymous closure>","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":163},"locals":[{"name":"webFiles","value":{"objectId":0,"kind":"object","classId":1340,"text":"object of type VirtualDirectory"}},{"name":"request","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_rootRunUnary@687914314","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":6511},"locals":[{"name":"self","value":{"objectId":2,"kind":"object","classId":467,"text":"object of type _RootZone"}},{"name":"parent","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"zone","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":5,"kind":"function","name":"main.<anonymous closure>.<anonymous closure>.<anonymous closure>","signature":"(dynamic) => dynamic","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":64}}},{"name":"arg","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_CustomZone@687914314.runUnary","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":5549},"classId":465,"locals":[{"name":"this","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":5,"kind":"function","name":"main.<anonymous closure>.<anonymous closure>.<anonymous closure>","signature":"(dynamic) => dynamic","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":64}}},{"name":"arg","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}},{"name":"implementation","value":{"objectId":6,"kind":"object","classId":458,"text":"object of type _ZoneFunction"}},{"name":"parentDelegate","value":{"objectId":3,"kind":"object","text":"null"}}]},{"functionName":"_CustomZone@687914314.runUnaryGuarded","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4778},"classId":465,"locals":[{"name":"this","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":5,"kind":"function","name":"main.<anonymous closure>.<anonymous closure>.<anonymous closure>","signature":"(dynamic) => dynamic","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":64}}},{"name":"arg","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_BufferingStreamSubscription@687914314._sendData@687914314","location": { "url":"dart:async/stream_impl.dart","libraryId":7,"tokenOffset":1731},"classId":361,"locals":[{"name":"this","value":{"objectId":7,"kind":"object","classId":354,"text":"object of type _ControllerSubscription"}},{"name":"data","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}},{"name":"wasInputPaused","value":{"objectId":8,"kind":"boolean","text":"false"}}]},{"functionName":"_BufferingStreamSubscription@687914314._add@687914314","location": { "url":"dart:async/stream_impl.dart","libraryId":7,"tokenOffset":1368},"classId":361,"locals":[{"name":"this","value":{"objectId":7,"kind":"object","classId":354,"text":"object of type _ControllerSubscription"}},{"name":"data","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_StreamController@687914314&&_SyncStreamControllerDispatch@687914314._sendData@687914314","location": { "url":"dart:async/stream_controller.dart","libraryId":7,"tokenOffset":2424},"classId":345,"locals":[{"name":"this","value":{"objectId":9,"kind":"object","classId":348,"text":"object of type _SyncStreamController<HttpRequest>"}},{"name":"data","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_StreamController@687914314._add@687914314","location": { "url":"dart:async/stream_controller.dart","libraryId":7,"tokenOffset":1667},"classId":344,"locals":[{"name":"this","value":{"objectId":9,"kind":"object","classId":348,"text":"object of type _SyncStreamController<HttpRequest>"}},{"name":"value","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_StreamController@687914314.add","location": { "url":"dart:async/stream_controller.dart","libraryId":7,"tokenOffset":1397},"classId":344,"locals":[{"name":"this","value":{"objectId":9,"kind":"object","classId":348,"text":"object of type _SyncStreamController<HttpRequest>"}},{"name":"value","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_HttpServer@497094340.<anonymous closure>","location": { "url":"dart:io/http_impl.dart","libraryId":12,"tokenOffset":18240},"classId":1045,"locals":[{"name":"this","value":{"objectId":10,"kind":"object","classId":1045,"text":"object of type _HttpServer"}},{"name":"request","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_rootRun@687914314","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":6423},"locals":[{"name":"self","value":{"objectId":2,"kind":"object","classId":467,"text":"object of type _RootZone"}},{"name":"parent","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"zone","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":11,"kind":"function","name":"_HttpServer._handleRequest.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:io/http_impl.dart","libraryId":12,"tokenOffset":18223}}}]},{"functionName":"_CustomZone@687914314.run","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":5470},"classId":465,"locals":[{"name":"this","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":11,"kind":"function","name":"_HttpServer._handleRequest.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:io/http_impl.dart","libraryId":12,"tokenOffset":18223}}},{"name":"implementation","value":{"objectId":12,"kind":"object","classId":458,"text":"object of type _ZoneFunction"}},{"name":"parentDelegate","value":{"objectId":3,"kind":"object","text":"null"}}]},{"functionName":"_CustomZone@687914314.runGuarded","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4724},"classId":465,"locals":[{"name":"this","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":11,"kind":"function","name":"_HttpServer._handleRequest.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:io/http_impl.dart","libraryId":12,"tokenOffset":18223}}}]},{"functionName":"_CustomZone@687914314.<anonymous closure>","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4923},"classId":465,"locals":[{"name":"this","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"registered","value":{"objectId":11,"kind":"function","name":"_HttpServer._handleRequest.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:io/http_impl.dart","libraryId":12,"tokenOffset":18223}}}]},{"functionName":"_rootRun@687914314","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":6448},"locals":[{"name":"self","value":{"objectId":2,"kind":"object","classId":467,"text":"object of type _RootZone"}},{"name":"parent","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"zone","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":13,"kind":"function","name":"_CustomZone.bindCallback.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4916}}},{"name":"old","value":{"objectId":2,"kind":"object","classId":467,"text":"object of type _RootZone"}}]},{"functionName":"_CustomZone@687914314.run","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":5470},"classId":465,"locals":[{"name":"this","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":13,"kind":"function","name":"_CustomZone.bindCallback.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4916}}},{"name":"implementation","value":{"objectId":12,"kind":"object","classId":458,"text":"object of type _ZoneFunction"}},{"name":"parentDelegate","value":{"objectId":3,"kind":"object","text":"null"}}]},{"functionName":"_CustomZone@687914314.runGuarded","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4724},"classId":465,"locals":[{"name":"this","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":13,"kind":"function","name":"_CustomZone.bindCallback.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4916}}}]},{"functionName":"_CustomZone@687914314.<anonymous closure>","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4923},"classId":465,"locals":[{"name":"this","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"registered","value":{"objectId":13,"kind":"function","name":"_CustomZone.bindCallback.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4916}}}]},{"functionName":"Timer.<anonymous closure>","location": { "url":"dart:async-patch/timer_patch.dart","libraryId":7,"tokenOffset":78},"classId":476,"locals":[{"name":"callback","value":{"objectId":14,"kind":"function","name":"CustomZone.bindCallback.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4916}}},{"name":"@687914314","value":{"objectId":15,"kind":"object","classId":1125,"text":"object of type _Timer"}}]},{"functionName":"_Timer@497094340.handleTimeout@497094340","location": { "url":"dart:io/timer_impl.dart","libraryId":12,"tokenOffset":1924},"classId":1125,"locals":[{"name":"@497094340","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"currentTime","value":{"objectId":16,"kind":"number","text":"1415717774505"}},{"name":"timer","value":{"objectId":15,"kind":"object","classId":1125,"text":"object of type _Timer"}},{"name":"nextTimer","value":{"objectId":15,"kind":"object","classId":1125,"text":"object of type _Timer"}},{"name":"next","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"callback","value":{"objectId":17,"kind":"function","name":"Timer._createTimer.<anonymous closure>","signature":"(dynamic) => dynamic","location": { "url":"dart:async-patch/timer_patch.dart","libraryId":7,"tokenOffset":72}}}]},{"functionName":"_RawReceivePortImpl@709387912._handleMessage@709387912","location": { "url":"dart:isolate-patch/isolate_patch.dart","libraryId":1,"tokenOffset":649},"classId":54,"locals":[{"name":"handler","value":{"objectId":18,"kind":"function","name":"_handleTimeout","signature":"(dynamic) => void","location": { "url":"dart:io/timer_impl.dart","libraryId":12,"tokenOffset":1692}}},{"name":"message","value":{"objectId":3,"kind":"object","text":"null"}}]}]}}{"id":9,"command":"getScriptSource","params":{"libraryId":13,"isolateId":703850198,"url":"file:/app/bin/server.dart"}}{"id": 9, "error": "Error: Dart_ScriptGetSource: script 'file:/app/bin/server.dart' not found in library 'file:///app/bin/server.dart'"}{"id":10,"command":"getObjectProperties","params":{"objectId":0,"isolateId":703850198}}{"id":10, "result":{"classId": 1340,"kind":"object","fields":[{"name":"root","value":{"objectId":19,"kind":"string","text":""web""}},{"name":"allowDirectoryListing","value":{"objectId":8,"kind":"boolean","text":"false"}},{"name":"followLinks","value":{"objectId":20,"kind":"boolean","text":"true"}},{"name":"jailRoot","value":{"objectId":20,"kind":"boolean","text":"true"}},{"name":"_pathPrefixSegments@1026937714","value":{"objectId":21,"kind":"list","length":0,"text":"[]"}},{"name":"_invalidPathRegExp@1026937714","value":{"objectId":22,"kind":"object","classId":57,"text":"object of type _JSSyntaxRegExp"}},{"name":"_errorCallback@1026937714","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"_dirCallback@1026937714","value":{"objectId":3,"kind":"object","text":"null"}}]}}{"id":11,"command":"getObjectProperties","params":{"objectId":1,"isolateId":703850198}}{"id":11, "result":{"classId": 1033,"kind":"object","fields":[{"name":"response","value":{"objectId":23,"kind":"object","classId":1036,"text":"object of type _HttpResponse"}},{"name":"_httpServer@497094340","value":{"objectId":10,"kind":"object","classId":1045,"text":"object of type _HttpServer"}},{"name":"_httpConnection@497094340","value":{"objectId":24,"kind":"object","classId":1044,"text":"object of type _HttpConnection"}},{"name":"_session@497094340","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"_requestedUri@497094340","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"_incoming@497094340","value":{"objectId":25,"kind":"object","classId":1031,"text":"object of type _HttpIncoming"}},{"name":"_cookies@497094340","value":{"objectId":3,"kind":"object","text":"null"}}]}}{"id":12,"command":"getClassProperties","params":{"classId":1340,"isolateId":703850198}}{"id":12, "result":{"name":"VirtualDirectory","superclassId":32,"libraryId":14,"fields":[]}}{"id":13,"command":"getClassProperties","params":{"classId":1033,"isolateId":703850198}}{"id":13, "result":{"name":"_HttpRequest@497094340","superclassId":1032,"libraryId":12,"fields":[]}}{"id":14,"command":"resume","params":{"isolateId":703850198}}{ "id": 14 }


cc @mhausner.
Removed Type-Enhancement, Priority-Medium labels.
Added Type-Defect, Priority-High labels.

@devoncarew

This comment has been minimized.

Copy link
Member

commented Nov 24, 2014

In progress here: https://codereview.chromium.org/753183003/, but needs some additional testing.

@devoncarew

This comment has been minimized.

Copy link
Member

commented Nov 26, 2014

This has landed.


Added Fixed label.

@clayberg

This comment has been minimized.

Copy link

commented Nov 28, 2014

Added this to the 1.8 milestone.

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.