Skip to content

Crash if request for hot reload is sent while a reload is already in progress #14184

@DanTup

Description

@DanTup

If you sent a reload request while a reload is in progress, it crashes. I'll see if I can handle this in the IDE for now, though it should probably be handled better in flutter.

(Copied from Dart-Code/Dart-Code#492)

Error 108 received from application: Isolate is reloading
Unhandled exception:
NoSuchMethodError: The method '[]' was called on null.
Receiver: null
Tried calling: []("type")
#0      Object._noSuchMethod (dart:core-patch/object_patch.dart:42)
#1      Object.noSuchMethod (dart:core-patch/object_patch.dart:46)
#2      HotRunner.validateReloadReport (package:flutter_tools/src/run_hot.dart:407)
#3      HotRunner._reloadSources.<anonymous closure> (package:flutter_tools/src/run_hot.dart:528)
#4      _rootRunUnary (dart:async/zone.dart:1128)
#5      _CustomZone.runUnary (dart:async/zone.dart:1012)
#6      _FutureListener.handleValue (dart:async/future_impl.dart:129)
#7      _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:636)
#8      _Future._propagateToListeners (dart:async/future_impl.dart:665)
#9      _Future._completeWithValue (dart:async/future_impl.dart:478)
#10     Future.wait.<anonymous closure> (dart:async/future.dart:392)
#11     _rootRunUnary (dart:async/zone.dart:1128)
#12     _CustomZone.runUnary (dart:async/zone.dart:1012)
#13     _FutureListener.handleValue (dart:async/future_impl.dart:129)
#14     _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:636)
#15     _Future._propagateToListeners (dart:async/future_impl.dart:665)
#16     _Future._complete (dart:async/future_impl.dart:468)
#17     _SyncCompleter.complete (dart:async/future_impl.dart:51)
#18     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:246)
#19     Isolate.reloadSources (package:flutter_tools/src/vmservice.dart:1047)
#20     _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:30)
#21     _rootRunUnary (dart:async/zone.dart:1128)
#22     _CustomZone.runUnary (dart:async/zone.dart:1012)
#23     _FutureListener.handleValue (dart:async/future_impl.dart:129)
#24     _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:636)
#25     _Future._propagateToListeners (dart:async/future_impl.dart:665)
#26     _Future._complete (dart:async/future_impl.dart:468)
#27     _SyncCompleter.complete (dart:async/future_impl.dart:51)
#28     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:246)
#29     VM.invokeRpcRaw (package:flutter_tools/src/vmservice.dart:748)
#30     _asyncErrorWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:37)
#31     _rootRunBinary (dart:async/zone.dart:1140)
#32     _CustomZone.runBinary (dart:async/zone.dart:1023)
#33     _FutureListener.handleError (dart:async/future_impl.dart:142)
#34     _Future._propagateToListeners.handleError (dart:async/future_impl.dart:648)
#35     _Future._propagateToListeners (dart:async/future_impl.dart:669)
#36     _Future._completeError (dart:async/future_impl.dart:486)
#37     _Future.timeout.<anonymous closure> (dart:async/future_impl.dart:739)
#38     _rootRunBinary (dart:async/zone.dart:1140)
#39     _CustomZone.runBinary (dart:async/zone.dart:1023)
#40     _FutureListener.handleError (dart:async/future_impl.dart:142)
#41     _Future._propagateToListeners.handleError (dart:async/future_impl.dart:648)
#42     _Future._propagateToListeners (dart:async/future_impl.dart:669)
#43     _Future._completeError (dart:async/future_impl.dart:486)
#44     _SyncCompleter._completeError (dart:async/future_impl.dart:55)
#45     _Completer.completeError (dart:async/future_impl.dart:27)
#46     Future.any.<anonymous closure> (dart:async/future.dart:454)
#47     _rootRunBinary (dart:async/zone.dart:1140)
#48     _CustomZone.runBinary (dart:async/zone.dart:1023)
#49     _FutureListener.handleError (dart:async/future_impl.dart:142)
#50     _Future._propagateToListeners.handleError (dart:async/future_impl.dart:648)
#51     _Future._propagateToListeners (dart:async/future_impl.dart:669)
#52     _Future._completeError (dart:async/future_impl.dart:486)
#53     _SyncCompleter._completeError (dart:async/future_impl.dart:55)
#54     _Completer.completeError (dart:async/future_impl.dart:27)
#55     Client._handleSingleResponse (package:json_rpc_2/src/client.dart:193)
#56     Client._handleResponse (package:json_rpc_2/src/client.dart:181)
#57     _rootRunUnary (dart:async/zone.dart:1128)
#58     _CustomZone.runUnary (dart:async/zone.dart:1012)
#59     _CustomZone.runUnaryGuarded (dart:async/zone.dart:909)
#60     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:330)
#61     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:257)
#62     _StreamController&&_SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:796)
#63     _StreamController._add (dart:async/stream_controller.dart:667)
#64     _StreamController.add (dart:async/stream_controller.dart:613)
#65     Peer.listen.<anonymous closure> (package:json_rpc_2/src/peer.dart:91)
#66     _rootRunUnary (dart:async/zone.dart:1128)
#67     _CustomZone.runUnary (dart:async/zone.dart:1012)
#68     _CustomZone.runUnaryGuarded (dart:async/zone.dart:909)
#69     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:330)
#70     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:257)
#71     _ForwardingStreamSubscription._add (dart:async/stream_pipe.dart:132)
#72     _MapStream._handleData (dart:async/stream_pipe.dart:232)
#73     _ForwardingStreamSubscription._handleData (dart:async/stream_pipe.dart:164)
#74     _rootRunUnary (dart:async/zone.dart:1128)
#75     _CustomZone.runUnary (dart:async/zone.dart:1012)
#76     _CustomZone.runUnaryGuarded (dart:async/zone.dart:909)
#77     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:330)
#78     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:257)
#79     _ForwardingStreamSubscription._add (dart:async/stream_pipe.dart:132)
#80     _ForwardingStream._handleData (dart:async/stream_pipe.dart:98)
#81     _ForwardingStreamSubscription._handleData (dart:async/stream_pipe.dart:164)
#82     _rootRunUnary (dart:async/zone.dart:1128)
#83     _CustomZone.runUnary (dart:async/zone.dart:1012)
#84     _CustomZone.runUnaryGuarded (dart:async/zone.dart:909)
#85     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:330)
#86     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:257)
#87     _StreamController&&_SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:796)
#88     _StreamController._add (dart:async/stream_controller.dart:667)
#89     _rootRunUnary (dart:async/zone.dart:1128)
#90     _CustomZone.runUnary (dart:async/zone.dart:1012)
#91     _CustomZone.runUnaryGuarded (dart:async/zone.dart:909)
#92     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:330)
#93     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:257)
#94     _StreamController&&_SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:796)
#95     _StreamController._add (dart:async/stream_controller.dart:667)
#96     _StreamController.add (dart:async/stream_controller.dart:613)
#97     new _WebSocketImpl._fromSocket.<anonymous closure> (dart:io/websocket_impl.dart:1116)
#98     _rootRunUnary (dart:async/zone.dart:1128)
#99     _CustomZone.runUnary (dart:async/zone.dart:1012)
#100    _CustomZone.runUnaryGuarded (dart:async/zone.dart:909)
#101    _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:330)
#102    _BufferingStreamSubscription._add (dart:async/stream_impl.dart:257)
#103    _SinkTransformerStreamSubscription._add (dart:async/stream_transformers.dart:68)
#104    _EventSinkWrapper.add (dart:async/stream_transformers.dart:15)
#105    _WebSocketProtocolTransformer._messageFrameEnd (dart:io/websocket_impl.dart:337)
#106    _WebSocketProtocolTransformer.add (dart:io/websocket_impl.dart:232)
#107    _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:120)
#108    _rootRunUnary (dart:async/zone.dart:1128)
#109    _CustomZone.runUnary (dart:async/zone.dart:1012)
#110    _CustomZone.runUnaryGuarded (dart:async/zone.dart:909)
#111    _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:330)
#112    _BufferingStreamSubscription._add (dart:async/stream_impl.dart:257)
#113    _StreamController&&_SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:796)
#114    _StreamController._add (dart:async/stream_controller.dart:667)
#115    _StreamController.add (dart:async/stream_controller.dart:613)
#116    _Socket._onData (dart:io-patch/socket_patch.dart:1643)
#117    _rootRunUnary (dart:async/zone.dart:1132)
#118    _CustomZone.runUnary (dart:async/zone.dart:1012)
#119    _CustomZone.runUnaryGuarded (dart:async/zone.dart:909)
#120    _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:330)
#121    _BufferingStreamSubscription._add (dart:async/stream_impl.dart:257)
#122    _StreamController&&_SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:796)
#123    _StreamController._add (dart:async/stream_controller.dart:667)
#124    _StreamController.add (dart:async/stream_controller.dart:613)
#125    new _RawSocket.<anonymous closure> (dart:io-patch/socket_patch.dart:1228)
#126    _NativeSocket.issueReadEvent.issue (dart:io-patch/socket_patch.dart:784)
#127    _microtaskLoop (dart:async/schedule_microtask.dart:41)
#128    _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
#129    _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:99)
#130    _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:152)
Exited (255)

Metadata

Metadata

Assignees

Labels

t: hot reloadReloading code during "flutter run"toolAffects the "flutter" command-line tool. See also t: labels.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions