Automatically generate stack traces for crashes.

Adds support for automatically generating stack traces for crashes. Uses
the post job parser to check for crashes, retrieve debug symbols, and
call cros_generate_stacks_bvt inside the chroot. Upon completion, each
core dump in the results folder has an associated .dmp.txt stack trace.

Uses gsutil to retrieve the debug symbols as well as a local cache to
ensure symbols for the same build aren't downloaded repeatedly. The
cache self cleans to contain only the last 24 hours worth of symbols.

The debug symbol URLs are read from the dashboard configuration files
which are added to autotest/utils/dashboard/.

Fixes an issue with os_dep where it didn't expand usernames or variables
in the path. Will upstream.

Introduces 12 new unit tests to verify this functionality.

BUG=chromium-os:19565
TEST=Ran locally + Unit tests.

Change-Id: Ib46841f62188a3f18be9c2c05c0a2c244cbae605
Reviewed-on: http://gerrit.chromium.org/gerrit/10060
Reviewed-by: Thieu Le <thieule@chromium.org>
Tested-by: Dale Curtis <dalecurtis@chromium.org>
3 files changed