symbolization: Handle EOF conditions and avoid hanging if possible

Sometimes the symbolizer is just hanging, causing bot timeouts. We
should avoid this in a two ways:

1. Handle empty lines coming from llvm-symbolizer (in case the process
has died underneath it), so an EOF doesn't loop infinitely

2. Set more aggressive timeouts (used to be 20 minutes) in case
something is wrong with symbolization

Bug: 571510778
Change-Id: I2e3b781161f86d43bc2e4539ab8eaa70eb9d1517
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8541492
Auto-Submit: Sam Maier <smaier@google.com>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Sam Maier <smaier@google.com>
Cr-Commit-Position: refs/heads/main@{#1715513}
NOKEYCHECK=True
GitOrigin-RevId: dda58c5ae38b060520d6a4ac4be059b06a3d3ab7
1 file changed
tree: 34c34c267b5b48b66020af6e209d6774c2c429d3
  1. google/
  2. .ruff.toml
  3. llvm_objdump.py
  4. llvm_symbolizer.py
  5. OWNERS
  6. README.md
README.md

//tools/python

This directory is meant to contain Python code that is:

  1. Not platform-specific (e.g. //tools/android/python_utils).
  2. Useful to multiple other tools.

All Python code that is used by GN actions or templates within //build must live under //build, since that directory cannot have deps outside of it. However, code here can be used by GN actions or templates that live outside of //build.

When adding code to this directory, or when adding a dep onto code that lives in this directory, please consider whether or not duplicating the code would actually a better choice. Code re-use is helpful, but dependencies also come with a cost, especially when it comes to being able to test changes to shared code.