anchor.diff:      }
       if (workerEntryPoint != null) {
         if (workerSetup != null) {
  -        await workerSetup();
  +        try {
  +          await workerSetup();
  +        } catch (e, st) {
  +          logger.severe('Failed to setup worker.', e, st);
  +          rethrow;
  +        }
         }
         for (int i = 0; i < envConfig.workerCount; i++) {
           await startWorkerIsolate();
  
positive.code: import 'package:gcloud/storage.dart';
  import 'package:logging/logging.dart';
  import 'package:meta/meta.dart';
  import 'package:stack_trace/stack_trace.dart';
  
  import 'configuration.dart';
  
negative.code:     // running the setup script multiple times should be safe (no-op if
      // FLUTTER_SDK directory exists).
      if (FileSystemEntity.isFileSync('/project/app/script/setup-flutter.sh')) {
        final sw = new Stopwatch()..start();
        logger.info('Setting up flutter checkout. This may take some time.');
        final ProcessResult result = await runProc(
            '/project/app/script/setup-flutter.sh', ['v$flutterVersion'],
            timeout: const Duration(minutes: 5));
        if (result.exitCode != 0) {
          throw new Exception(
              'Failed to checkout flutter (exited with ${result.exitCode})\n'
              'stdout: ${result.stdout}\nstderr: ${result.stderr}');
        }
        final flutterBin = new File('${envConfig.flutterSdkDir}/bin/flutter');
        if (!(await flutterBin.exists())) {
          throw new Exception(
              'Flutter binary is missing after running setup-flutter.sh');
        }
        sw.stop();
        logger.info('Flutter checkout completed in ${sw.elapsed}.');
      }
    }
  }
  