Initialize new isolate after restart #1305
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Dart devtools sometimes gets erroneous isolate information from dwds in the middle of hot restart,
for example,
getIsolate
does not wait for initializations of the new isolate after restart and returnsan isolate with null ID.
This seems to cause various issues after hot restart, including exceptions in debug console, non-working
layout explorer, and disabled breakpoints in the UI. While this PR does not solve all of them yet, it makes
sure that the new isolate is initialized before VM replies to the clients after hot restart:
destroyIsolate
.Towards: flutter/flutter#74903
Closes: #1304