diff --git a/app/lib/service/entrypoint/_isolate.dart b/app/lib/service/entrypoint/_isolate.dart index f34bf1c2a7..1fa2dacc42 100644 --- a/app/lib/service/entrypoint/_isolate.dart +++ b/app/lib/service/entrypoint/_isolate.dart @@ -119,6 +119,8 @@ class IsolateRunner { _isolates.add(isolate); unawaited(isolate.done.then((_) async { _isolates.remove(isolate); + // The `done` callback may happen on schedule renewal, instance shutdown, + // or unexpected exits. We only need to propagate the issue on the later. if (!_closing && !isolate.markedForRenew) { throw Exception('$id exited unexpectedly.'); }