Make symbolizer resilient against parser crashes

Previously we would only catch and report exceptions which
occurred during symbolization phase, but exception during
crash extraction simply bubbled through the symbolizer.

To the outside users this looked like symbolizer bot failing
to react to their commands entirely.

This CL changes the code to catch and report exceptions occurring
outside of symbolization phase.

Change-Id: Idfdf7bd4dc461a82aa9124b0b6745f8d9b87d788
Reviewed-by: Alexander Thomas <>
Commit-Queue: Slava Egorov <>
40 files changed
tree: ef9eb4072cc33778699474f578666fb73bf62be1
  1. appengine/
  2. baseline/
  3. builder/
  4. common/
  5. current_results/
  6. current_results_ui/
  7. functions/
  8. github-label-notifier/
  9. results_feed/
  10. .firebaserc
  11. .gitignore
  13. firebase.json


Tools used by Dart's continuous integration (CI) testing infrastructure.

The repository is based at It is mirrored to Do not land pull requests on Github.

Results Feed

The results feed is an angular Dart application that displays changed results from the CI and from CQ runs (tryjobs). The code is in the results_feed directory. It is deployed to, using Firebase hosting.

Cloud functions

The automated testing of Dart on the CI and CQ publishes results to Cloud Pubsub, and cloud functions triggered by those Pubsub messages process the data and store it in Firestore. These functions are located in the functions directory, and are deployed on the dart-ci Google Cloud project.

Github Label Notifier

Internal users get automatic notifications of new GitHub issues created in certain repositories, by subscribing to issue labels on those repositories. This tool provides a UI for internal users to subscribe to their chosen issue labels. That UI is hosted at It also defines cloud functions that are triggered by GitHub webhooks and use the issue label subscriptions to send email notifications using SendGrid.