anchor.diff:    final vm = await service.getVM();
     final futures = <Future>[];
     for (var isolateRef in vm.isolates) {
  -    // Guard against sync as well as async errors
  +    // Guard against sync as well as async errors: sync - when we are writing
  +    // message to the socket, the socket might be closed; async - when we are
  +    // waiting for the response, the socket again closes.
       futures.add(Future.sync(() async {
         final isolate = await service.getIsolate(isolateRef.id) as Isolate;
         if (isolate.pauseEvent.kind != EventKind.kResume) {
  
positive.code:   }
    try {
      await Future.wait(futures);
    } catch(e) {
      // Ignore resume isolate failures
    }
  }
  
negative.code:       final options = const CompressionOptions(enabled: false);
        final socket = await WebSocket.connect('$uri', compression: options);
        final controller = StreamController<String>();
        socket.listen((data) => controller.add(data as String), onDone: () {
          controller.close();
          service.dispose();
        });
        service = VmService(
            controller.stream, (String message) => socket.add(message),
            log: StdoutLog(), disposeHandler: () => socket.close());
  