Repository: flutter
Issue: Flutter tool needs to perform additional validation on local engine paths for windows
Labels: c: crash,tool,P3,team-tool,triaged-tool

This is trying to run kevmoo/slide_puzzle@a23d035e87e77b74dd18b832cf7def51b8250aed
using a build of flutter/engine@5c87c31fd3e721f15aca687108f4c64ee2087892 on windows.

```
 .\src\flutter\tools\gn --unoptimized --full-dart-sdk
ninja -C .\out\host_debug_unopt
```

I built with the VSCode 2019 toolchain.

My guess is that this is caused by some partial NNDB conversion confusing things?

```
C:\Users\Study\Documents\GitHub\slide_puzzle [master ≡]> flutter run -d web --web-port 8080 --local-engine=host_debug_unopt --local-engine-src-path=/src/engine/src
Launching lib\main.dart on Web Server in debug mode...
Syncing files to device Web Server...
Unhandled exception:
Invalid argument(s): Missing canonical name for Reference to UnmodifiableListView
#0      BinaryPrinter.writeNonNullReference (package:kernel/binary/ast_to_binary.dart:854:9)
#1      BinaryPrinter.writeAdditionalExports (package:kernel/binary/ast_to_binary.dart:1019:7)
#2      BinaryPrinter.visitLibrary (package:kernel/binary/ast_to_binary.dart:953:5)
#3      Library.accept (package:kernel/ast.dart:605:38)
#4      BinaryPrinter.writeLibraryNode (package:kernel/binary/ast_to_binary.dart:402:10)
#5      BinaryPrinter.writeLibraries (package:kernel/binary/ast_to_binary.dart:708:9)
#6      BinaryPrinter.writeComponentFile.<anonymous closure> (package:kernel/binary/ast_to_binary.dart:551:7)
#7      Timeline.timeSync (dart:developer/timeline.dart:163:22)
#8      BinaryPrinter.writeComponentFile (package:kernel/binary/ast_to_binary.dart:535:14)
#9      IncrementalSerializer.serialize (package:front_end/src/fasta/incremental_serializer.dart:308:13)
#10     IncrementalSerializer.writePackagesToSinkAndTrimComponent (package:front_end/src/fasta/incremental_serializer.dart:159:24)
#11     FrontendCompiler.writeDillFile (package:frontend_server/frontend_server.dart:733:31)
#12     FrontendCompiler.compile (package:frontend_server/frontend_server.dart:556:13)
<asynchronous suspension>
#13     _FlutterFrontendCompiler.compile (package:flutter_frontend_server/server.dart:40:22)
#14     listenAndCompile.<anonymous closure> (package:frontend_server/frontend_server.dart:1187:26)
#15     _RootZone.runUnaryGuarded (dart:async/zone.dart:1384:10)
#16     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357:11)
#17     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285:7)
#18     _SinkTransformerStreamSubscription._add (dart:async/stream_transformers.dart:69:11)
#19     _EventSinkWrapper.add (dart:async/stream_transformers.dart:15:11)
#20     _StringAdapterSink.add (dart:convert/string_conversion.dart:238:11)
#21     _LineSplitterSink._addLines (dart:convert/line_splitter.dart:155:13)
#22     _LineSplitterSink.addSlice (dart:convert/line_splitter.dart:130:5)
#23     StringConversionSinkMixin.add (dart:convert/string_conversion.dart:163:5)
#24     _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:121:24)
#25     _RootZone.runUnaryGuarded (dart:async/zone.dart:1384:10)
#26     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357:11)
#27     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285:7)
#28     _SinkTransformerStreamSubscription._add (dart:async/stream_transformers.dart:69:11)
#29     _EventSinkWrapper.add (dart:async/stream_transformers.dart:15:11)
#30     _StringAdapterSink.add (dart:convert/string_conversion.dart:238:11)
#31     _StringAdapterSink.addSlice (dart:convert/string_conversion.dart:243:7)
#32     _Utf8ConversionSink.addSlice (dart:convert/string_conversion.dart:317:20)
#33     _Utf8ConversionSink.add (dart:convert/string_conversion.dart:310:5)
#34     _ConverterStreamEventSink.add (dart:convert/chunked_conversion.dart:72:18)
#35     _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:121:24)
#36     _RootZone.runUnaryGuarded (dart:async/zone.dart:1384:10)
#37     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357:11)
#38     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285:7)
#39     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:784:19)
#40     _StreamController._add (dart:async/stream_controller.dart:655:7)
#41     _StreamController.add (dart:async/stream_controller.dart:597:5)
#42     _Socket._onData (dart:io-patch/socket_patch.dart:2020:41)
#43     _RootZone.runUnaryGuarded (dart:async/zone.dart:1384:10)
#44     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357:11)
#45     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285:7)
#46     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:784:19)
#47     _StreamController._add (dart:async/stream_controller.dart:655:7)
#48     _StreamController.add (dart:async/stream_controller.dart:597:5)
#49     new _RawSocket.<anonymous closure> (dart:io-patch/socket_patch.dart:1556:33)
#50     _NativeSocket.issueReadEvent.issue (dart:io-patch/socket_patch.dart:1052:14)
#51     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#52     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#53     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#54     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)
the Dart compiler exited unexpectedly.
Syncing files to device Web Server...                           49,655ms (!)
Failed to compile application.
```