New issue
Advanced search Search tips

Issue 770562 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature



Sign in to add a comment

tast should support collecting crashes

Project Member Reported by derat@chromium.org, Oct 1 2017

Issue description

James asked me whether there's any way for a Tast test to detect that Chrome has crashed, either by checking for .dmp files or by scanning /var/log/messages.

I think that this was in the context of https://chromium-review.googlesource.com/c/chromiumos/platform/tast-tests/+/692626, which added a ui.MashLogin test that restarts Chrome with --mash. Browser crashes at startup are of special interest there, and I suspect that we want to log them to aid in debugging when login fails and chrome.New returns an error, while possibly also making the test fail if Chrome crashes once when it's first restarted but then works after that.

In this context (if I'm guessing correctly), a single test wants to be able to check if any crashes happened in a single executable after the time at which the test started. I think that this use case will be easy to support.

I think that the autotest code for analyzing crashes is in server/crashcollect.py and server/site_crashcollect.py. It supports running minidump_stackwalk to symbolize dumps locally and copying minidumps to various locations, including copying them off the device. There's also code to use devserver to symbolize dumps, although I don't know how this part works or how often it's used.

There are larger questions around this:

a) Should a given test fail if any processes crash while it's running? I don't think so. This is too noisy and unfairly blames tests if some unimportant process on the system is stuck in a crash loop.

b) Should Tast note if any crashes occurred during the run? Probably. I don't know that it makes sense to make the run fail if there were crashes, but the crashes should at least be noted and copied to the results directory.

c) How should we detect persistent crashes at boot? I think that we have various autotest-based tests that try to handle this by checking whether important processes are running (based on platform_CheckCriticalProcesses). This approach is probably reasonable to replicate, but it won't tell us if something crashes once but then runs successfully, though. To catch that, it might make sense to have a remote test that reboots the system, waits a bit, and then checks for crash dumps or log messages written post-boot.
 
Yes, I'm interested in whether chrome crashed on startup. I need a way to get a stack when this happened, preferably by having something in the lab symbolize it for me.

Unrelated to this bug, I would like to have a way to check if chrome has a browser, renderer and "ash" process running after startup. This might require examining command lines on a list of processes.

Comment 2 by derat@chromium.org, Dec 7 2017

Status: Started (was: Assigned)
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/2d5f3de36cefae63901f4b4c1c1372a3a6b9a4f2

commit 2d5f3de36cefae63901f4b4c1c1372a3a6b9a4f2
Author: Daniel Erat <derat@chromium.org>
Date: Fri Dec 08 11:59:07 2017

tast-tests: Add local/crash package.

Add a chromiumos/tast/local/crash package that can be used
by local tests to gather information about crashes.

Also update local_tests to gather minidumps that were
created during the test run so they can be copied by the
tast command.

BUG= chromium:770562 
TEST=added unit tests; also updated a test to kill a process
     and verified that the minidump file was copied
CQ-DEPEND=Ic993fa215123d663c955e1401b3b5abd8875415d

Change-Id: I768db12107bb4b6beb2b522ddb8b8f4c515dc06c
Reviewed-on: https://chromium-review.googlesource.com/814574
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[add] https://crrev.com/2d5f3de36cefae63901f4b4c1c1372a3a6b9a4f2/src/chromiumos/tast/local/crash/crash.go
[add] https://crrev.com/2d5f3de36cefae63901f4b4c1c1372a3a6b9a4f2/src/chromiumos/tast/local/crash/crash_test.go
[modify] https://crrev.com/2d5f3de36cefae63901f4b4c1c1372a3a6b9a4f2/src/chromiumos/cmd/remote_tests/main.go
[modify] https://crrev.com/2d5f3de36cefae63901f4b4c1c1372a3a6b9a4f2/src/chromiumos/cmd/local_tests/main.go

Project Member

Comment 4 by bugdroid1@chromium.org, Dec 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/872839ee7bdef083f560d36a6ae011e318a80d27

commit 872839ee7bdef083f560d36a6ae011e318a80d27
Author: Daniel Erat <derat@chromium.org>
Date: Fri Dec 08 11:59:06 2017

tast: Collect crashes from local tests.

Update the tast command to collect minidump crash files that
were created while running local_tests. They end up in a
"crashes" directory within the results dir.

BUG= chromium:770562 
TEST=updated a test to kill a process and verified that its
     minidump was copied
CQ-DEPEND=I768db12107bb4b6beb2b522ddb8b8f4c515dc06c

Change-Id: Ic993fa215123d663c955e1401b3b5abd8875415d
Reviewed-on: https://chromium-review.googlesource.com/814496
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[modify] https://crrev.com/872839ee7bdef083f560d36a6ae011e318a80d27/src/chromiumos/tast/control/control_test.go
[modify] https://crrev.com/872839ee7bdef083f560d36a6ae011e318a80d27/src/chromiumos/tast/control/control.go
[modify] https://crrev.com/872839ee7bdef083f560d36a6ae011e318a80d27/src/chromiumos/cmd/tast/run/results_test.go
[modify] https://crrev.com/872839ee7bdef083f560d36a6ae011e318a80d27/src/chromiumos/cmd/tast/run/results.go
[modify] https://crrev.com/872839ee7bdef083f560d36a6ae011e318a80d27/src/chromiumos/cmd/tast/run/local_test.go

Project Member

Comment 5 by bugdroid1@chromium.org, Dec 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/system_api/+/cc4a60c6144604ce5a4068ccf5b38578094b6884

commit cc4a60c6144604ce5a4068ccf5b38578094b6884
Author: Daniel Erat <derat@chromium.org>
Date: Mon Dec 11 13:32:16 2017

system_api: Add missing EnableChromeTesting constant.

Add a missing constant for a session_manager D-Bus method.

BUG= chromium:770562 
TEST=built it

Change-Id: Ib65ead08400dc4af8c17040d3aa60e57b8295638
Reviewed-on: https://chromium-review.googlesource.com/818736
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Mattias Nissler <mnissler@chromium.org>

[modify] https://crrev.com/cc4a60c6144604ce5a4068ccf5b38578094b6884/dbus/login_manager/dbus-constants.h

Project Member

Comment 6 by bugdroid1@chromium.org, Dec 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/db015ab7cdeb9c579c370307fb9cadb27420fda1

commit db015ab7cdeb9c579c370307fb9cadb27420fda1
Author: Daniel Erat <derat@chromium.org>
Date: Mon Dec 11 20:47:50 2017

login: Make EnableChromeTesting take environment vars.

Update session_manager's EnableChromeTesting D-Bus method to
take an additional (currently optional) argument listing
environment variables that should be set before running
Chrome.

Unfortunately, D-Bus codegen doesn't support optional args,
so this requires manually unmarshaling arguments from calls
to this method until all callers have been updated.

BUG= chromium:770562 , chromium:793668 
TEST=tests pass; also verified that method works both with
     and without env vars arg
CQ-DEPEND=Ib65ead08400dc4af8c17040d3aa60e57b8295638

Change-Id: Ia1b7f030c2241c051233ccce38e1150a625f943a
Reviewed-on: https://chromium-review.googlesource.com/818737
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Mattias Nissler <mnissler@chromium.org>

[modify] https://crrev.com/db015ab7cdeb9c579c370307fb9cadb27420fda1/login_manager/session_manager_main.cc
[modify] https://crrev.com/db015ab7cdeb9c579c370307fb9cadb27420fda1/login_manager/mock_process_manager_service.h
[modify] https://crrev.com/db015ab7cdeb9c579c370307fb9cadb27420fda1/login_manager/session_manager_service.h
[modify] https://crrev.com/db015ab7cdeb9c579c370307fb9cadb27420fda1/login_manager/session_manager_service.cc
[modify] https://crrev.com/db015ab7cdeb9c579c370307fb9cadb27420fda1/login_manager/fake_browser_job.h
[modify] https://crrev.com/db015ab7cdeb9c579c370307fb9cadb27420fda1/login_manager/session_manager_impl.cc
[modify] https://crrev.com/db015ab7cdeb9c579c370307fb9cadb27420fda1/login_manager/dbus_bindings/org.chromium.SessionManagerInterface.xml
[modify] https://crrev.com/db015ab7cdeb9c579c370307fb9cadb27420fda1/login_manager/session_manager_impl_unittest.cc
[modify] https://crrev.com/db015ab7cdeb9c579c370307fb9cadb27420fda1/login_manager/browser_job.h
[modify] https://crrev.com/db015ab7cdeb9c579c370307fb9cadb27420fda1/login_manager/process_manager_service_interface.h
[modify] https://crrev.com/db015ab7cdeb9c579c370307fb9cadb27420fda1/login_manager/browser_job.cc
[modify] https://crrev.com/db015ab7cdeb9c579c370307fb9cadb27420fda1/login_manager/browser_job_unittest.cc
[modify] https://crrev.com/db015ab7cdeb9c579c370307fb9cadb27420fda1/login_manager/session_manager_impl.h

Project Member

Comment 7 by bugdroid1@chromium.org, Dec 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/8622a2cfaf574d422f200399d29ba9152ae47bbd

commit 8622a2cfaf574d422f200399d29ba9152ae47bbd
Author: Daniel Erat <derat@chromium.org>
Date: Thu Dec 14 04:10:19 2017

tast-tests: Add NoLogin option to local/chrome.

Add a new NoLogin option that can be passed to
chrome.NewChrome to avoid automatically logging in. This can
be used by tests that want to verify behavior in a
not-logged in state but still need to interact with Chrome
(and hence want to restart it with testing-friendly flags).

BUG= chromium:770562 
TEST=existing ui.ChromeSanity test passes, and used it in
     a new test and verified that it puts chrome into the
     expected state

Change-Id: I0da0daecb5b07be1f8747dee6acdee3d14f12f12
Reviewed-on: https://chromium-review.googlesource.com/826163
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[modify] https://crrev.com/8622a2cfaf574d422f200399d29ba9152ae47bbd/src/chromiumos/tast/local/chrome/chrome.go

Project Member

Comment 8 by bugdroid1@chromium.org, Dec 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/776979fd4ccafd91feabda9c6ef468b765acaa97

commit 776979fd4ccafd91feabda9c6ef468b765acaa97
Author: Daniel Erat <derat@chromium.org>
Date: Sat Dec 16 03:04:09 2017

tast-tests: Write Chrome crash dumps to /home/chronos/crash.

Update the tast/local/chrome package to instruct
session_manager to set the HEADLESS and
BREAKPAD_DUMP_LOCATION environment variables so that Chrome
will always write minidump files to /home/chronos/crash.
Make local_tests collect files from this location in
addition to /var/spool/crash.

Also add ui.ChromeCrashLoggedIn and
ui.ChromeCrashNotLoggedIn local tests that verify that crash
dumps are written to the expected location when Chrome
receives SIGSEGV.

BUG= chromium:770562 
TEST=new tests pass
CQ-DEPEND=I5259f185a8c5302ab31673b44874ac8086ab4455

Change-Id: I3d6fa46695f5391aa1a2a274c2b9fce6df2fe4e0
Reviewed-on: https://chromium-review.googlesource.com/826251
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[modify] https://crrev.com/776979fd4ccafd91feabda9c6ef468b765acaa97/src/chromiumos/tast/local/crash/crash.go
[modify] https://crrev.com/776979fd4ccafd91feabda9c6ef468b765acaa97/src/chromiumos/tast/local/crash/crash_test.go
[modify] https://crrev.com/776979fd4ccafd91feabda9c6ef468b765acaa97/src/chromiumos/tast/local/chrome/chrome.go
[add] https://crrev.com/776979fd4ccafd91feabda9c6ef468b765acaa97/src/chromiumos/tast/local/tests/ui/chrome_crash_not_logged_in.go
[add] https://crrev.com/776979fd4ccafd91feabda9c6ef468b765acaa97/src/chromiumos/tast/local/tests/ui/chromecrash/crash.go
[add] https://crrev.com/776979fd4ccafd91feabda9c6ef468b765acaa97/src/chromiumos/tast/local/chrome/proc.go
[add] https://crrev.com/776979fd4ccafd91feabda9c6ef468b765acaa97/src/chromiumos/tast/local/tests/ui/chrome_crash_logged_in.go
[modify] https://crrev.com/776979fd4ccafd91feabda9c6ef468b765acaa97/src/chromiumos/cmd/local_tests/main.go

Project Member

Comment 9 by bugdroid1@chromium.org, Dec 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/593242a69a2f4b779990394d58635aac4eb75980

commit 593242a69a2f4b779990394d58635aac4eb75980
Author: Daniel Erat <derat@chromium.org>
Date: Sat Dec 16 03:04:09 2017

gopsutil: Add ebuild.

Add an ebuild for building github.com/shirou/gopsutil as
dev-go/gopsutil. Make chromeos-base/tast-local-tests depend
on it.

BUG= chromium:770562 
TEST=emerged with FEATURES=test

Change-Id: I5259f185a8c5302ab31673b44874ac8086ab4455
Reviewed-on: https://chromium-review.googlesource.com/828893
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>

[add] https://crrev.com/593242a69a2f4b779990394d58635aac4eb75980/dev-go/gopsutil/gopsutil-2.17.11.ebuild
[modify] https://crrev.com/593242a69a2f4b779990394d58635aac4eb75980/chromeos-base/tast-local-tests/tast-local-tests-9999.ebuild

Project Member

Comment 10 by bugdroid1@chromium.org, Dec 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/d2835b1937d574a273291073b5019e3ec2d1457a

commit d2835b1937d574a273291073b5019e3ec2d1457a
Author: Daniel Erat <derat@chromium.org>
Date: Sun Dec 17 17:54:27 2017

tast-tests: Collect /etc/lsb-release alongside crash dumps.

Make the local_tests command copy /etc/lsb-release into its
crash directory. This contains build information that is
useful when symbolizing minidumps.

BUG= chromium:770562 
TEST=crash/ subdir in results dir contains lsb-release

Change-Id: Iee5e5fe71382d0cc65c2b618eb707abd892dc59a
Reviewed-on: https://chromium-review.googlesource.com/831157
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[modify] https://crrev.com/d2835b1937d574a273291073b5019e3ec2d1457a/src/chromiumos/tast/local/crash/crash.go
[modify] https://crrev.com/d2835b1937d574a273291073b5019e3ec2d1457a/src/chromiumos/cmd/local_tests/main.go

Comment 11 by derat@chromium.org, Dec 31 2017

Current status: minidumps produced while local tests are running are collected and saved to a "crash" subdir in the results directory, and I've used them to track down a Chrome bug ( issue 791200 ).

I've written some not-yet-reviewed code that uses Breakpad's dump_syms and minidump_stackwalk tools to symbolize minidumps based on the unstripped objects in /build/<board>/usr/lib/debug, but symbolizing minidumps from builder-produced images is harder: talking to "crash server" devservers (or even getting their hostnames!) from within corp is challenging.
Project Member

Comment 12 by bugdroid1@chromium.org, Jan 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/6efb59d7ca329503d72c4127938fc841fd075790

commit 6efb59d7ca329503d72c4127938fc841fd075790
Author: Daniel Erat <derat@chromium.org>
Date: Thu Jan 04 20:31:28 2018

tast-cmd: Add dependency on google-breakpad.

Make the tast command depend on google-breakpad so it can
use its dump_syms and minidump_stackwalk tools.

BUG= chromium:770562 
TEST=built with FEATURES=test

Change-Id: Ib2154d524634c95dab93d96b7aadbfe9526ae9fe
Reviewed-on: https://chromium-review.googlesource.com/849478
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Eric Caruso <ejcaruso@chromium.org>

[modify] https://crrev.com/6efb59d7ca329503d72c4127938fc841fd075790/chromeos-base/tast-cmd/tast-cmd-9999.ebuild

Project Member

Comment 13 by bugdroid1@chromium.org, Jan 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/074dc538e3eddc8f22032b536b4de4a083ea3eec

commit 074dc538e3eddc8f22032b536b4de4a083ea3eec
Author: Daniel Erat <derat@chromium.org>
Date: Thu Jan 04 20:31:28 2018

tast: Add cmd/tast/breakpad package.

Add a package that can be used by the tast command (in a
future change) to symbolize minidump crash reports created
by Breakpad using debug binaries from a /build directory.

BUG= chromium:770562 
TEST=added unit tests; also used with new code
CQ-DEPEND=Ib2154d524634c95dab93d96b7aadbfe9526ae9fe

Change-Id: Ifcd3b2bcae8a02dbf99662afc0a4aefda5b26300
Reviewed-on: https://chromium-review.googlesource.com/849477
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Eric Caruso <ejcaruso@chromium.org>

[add] https://crrev.com/074dc538e3eddc8f22032b536b4de4a083ea3eec/src/chromiumos/cmd/tast/breakpad/minidump.go
[add] https://crrev.com/074dc538e3eddc8f22032b536b4de4a083ea3eec/src/chromiumos/cmd/tast/breakpad/minidump_test.go
[add] https://crrev.com/074dc538e3eddc8f22032b536b4de4a083ea3eec/src/chromiumos/cmd/tast/breakpad/testdata/README.md
[add] https://crrev.com/074dc538e3eddc8f22032b536b4de4a083ea3eec/src/chromiumos/cmd/tast/breakpad/testdata/abort.20180103.145440.20827.dmp
[add] https://crrev.com/074dc538e3eddc8f22032b536b4de4a083ea3eec/src/chromiumos/cmd/tast/breakpad/testdata/abort.debug

Project Member

Comment 14 by bugdroid1@chromium.org, Jan 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/b3c03fa05a7f8071817cbfbc6cb5ca1be7b494c7

commit b3c03fa05a7f8071817cbfbc6cb5ca1be7b494c7
Author: Daniel Erat <derat@chromium.org>
Date: Fri Jan 05 05:52:09 2018

tast: Add support for parsing Chrome crash reports.

Chrome's crash-dumping code wraps minidump data in a bespoke
file format that's parsed by crash_reporter. Add a
ReadCrashReport function to cmd/tast/breakpad that can be
used to extract key/value pairs and determine where the
actual minidump data is.

Also add an IsMinidump function that can be used to
determine whether a crash report is a raw minidump file or a
Chrome crash report.

BUG= chromium:770562 
TEST=added unit tests

Change-Id: If8e805c8a9a9d772a6c80303c375cfa45384428d
Reviewed-on: https://chromium-review.googlesource.com/850549
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>
Reviewed-by: Eric Caruso <ejcaruso@chromium.org>

[add] https://crrev.com/b3c03fa05a7f8071817cbfbc6cb5ca1be7b494c7/src/chromiumos/cmd/tast/breakpad/crash_report_test.go
[add] https://crrev.com/b3c03fa05a7f8071817cbfbc6cb5ca1be7b494c7/src/chromiumos/cmd/tast/breakpad/crash_report.go
[modify] https://crrev.com/b3c03fa05a7f8071817cbfbc6cb5ca1be7b494c7/src/chromiumos/cmd/tast/breakpad/testdata/README.md
[modify] https://crrev.com/b3c03fa05a7f8071817cbfbc6cb5ca1be7b494c7/src/chromiumos/cmd/tast/breakpad/minidump_test.go
[add] https://crrev.com/b3c03fa05a7f8071817cbfbc6cb5ca1be7b494c7/src/chromiumos/cmd/tast/breakpad/testdata/chrome_crash_report.dmp
[modify] https://crrev.com/b3c03fa05a7f8071817cbfbc6cb5ca1be7b494c7/src/chromiumos/cmd/tast/breakpad/minidump.go

Project Member

Comment 15 by bugdroid1@chromium.org, Jan 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/520a1911df3f9ea19572bd98487e3711613ce21d

commit 520a1911df3f9ea19572bd98487e3711613ce21d
Author: Daniel Erat <derat@chromium.org>
Date: Tue Jan 09 01:22:57 2018

tast: Add breakpad.GetMinidumpReleaseInfo.

Add a new function that can be used to get the contents of
/etc/lsb-release from a minidump crash file.

BUG= chromium:770562 
TEST=added a test

Change-Id: I3af98f9d9ae31d1c00b32dc2d860f6ff0e198008
Reviewed-on: https://chromium-review.googlesource.com/853776
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Eric Caruso <ejcaruso@chromium.org>

[modify] https://crrev.com/520a1911df3f9ea19572bd98487e3711613ce21d/src/chromiumos/cmd/tast/breakpad/minidump.go
[modify] https://crrev.com/520a1911df3f9ea19572bd98487e3711613ce21d/src/chromiumos/cmd/tast/breakpad/minidump_test.go

Project Member

Comment 16 by bugdroid1@chromium.org, Jan 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74

commit 4a6a1ee64b548fa3e4f9a76a37d3794241aebe74
Author: Daniel Erat <derat@chromium.org>
Date: Tue Jan 09 06:42:13 2018

tast: Add "symbolize" subcommand.

Add a "symbolize" subcommand to the tast command that can be
used to symbolize crash dumps.

Also introduce a cmd/tast/symbolize package and move the
breakpad package to cmd/tast/symbolize/breakpad.

BUG= chromium:770562 
TEST=added unit tests; also ran "tast symbolize" on
     powerd minidumps and chrome crash reports

Change-Id: Icb10d28432001a1e687db91ad5a8777b28fa6312
Reviewed-on: https://chromium-review.googlesource.com/855319
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>

[rename] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize/breakpad/testdata/chrome_crash_report.dmp
[modify] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/main.go
[rename] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize/breakpad/testdata/abort.debug
[add] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize/release.go
[rename] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize/breakpad/minidump_test.go
[add] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize/symbol_files.go
[rename] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize/breakpad/minidump.go
[add] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize/symbolize.go
[add] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize/testdata/libpcprofile.so.debug
[add] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize/release_test.go
[add] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize/testdata/README.md
[rename] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize/breakpad/crash_report.go
[add] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize/symbol_files_test.go
[add] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize_cmd.go
[rename] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize/breakpad/crash_report_test.go
[add] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize/testdata/libutil-2.23.so.debug
[rename] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize/breakpad/testdata/README.md
[rename] https://crrev.com/4a6a1ee64b548fa3e4f9a76a37d3794241aebe74/src/chromiumos/cmd/tast/symbolize/breakpad/testdata/abort.20180103.145440.20827.dmp

Project Member

Comment 17 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/20f85579819a5f4854615ab5788fcccc6d57058c

commit 20f85579819a5f4854615ab5788fcccc6d57058c
Author: Daniel Erat <derat@chromium.org>
Date: Wed Jan 10 08:10:48 2018

tast-cmd: Add gsutil and xz-utils to RDEPEND.

Update the chromeos-base/tast-cmd ebuild to have runtime
dependencies on app-arch/xz-utils and net-misc/gsutil. The
"tast symbolize" command will soon run both gsutil and xz to
get symbol files.

BUG= chromium:770562 
TEST=emerged with FEATURES=test

Change-Id: I7b4dccad59935aa712b30e892f903e6b70cdde6d
Reviewed-on: https://chromium-review.googlesource.com/857751
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Eric Caruso <ejcaruso@chromium.org>

[modify] https://crrev.com/20f85579819a5f4854615ab5788fcccc6d57058c/chromeos-base/tast-cmd/tast-cmd-9999.ebuild

Project Member

Comment 18 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/2644cda1107edd65f321c5fb39b538319220de98

commit 2644cda1107edd65f321c5fb39b538319220de98
Author: Daniel Erat <derat@chromium.org>
Date: Wed Jan 10 08:10:49 2018

tast: Get Breakpad debug symbols from Cloud Storage.

Add a DownloadSymbols function to
cmd/tast/symbolize/breakpad that can be used to download a
debug_breakpad.tar.xz build artifact and extract symbol
files from it.

Also update the "tast symbolize" command to download symbols
when processing minidumps that came from release images.

BUG= chromium:770562 
TEST=added unit tests; also manually verified by running
     "tast symbolize" against minidump files from developer
     images and release images
CQ-DEPEND=I7b4dccad59935aa712b30e892f903e6b70cdde6d

Change-Id: If5fe45f3f69458d72e46d4abde271e78d5385b06
Reviewed-on: https://chromium-review.googlesource.com/857837
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Eric Caruso <ejcaruso@chromium.org>

[modify] https://crrev.com/2644cda1107edd65f321c5fb39b538319220de98/src/chromiumos/cmd/tast/symbolize/symbol_files.go
[add] https://crrev.com/2644cda1107edd65f321c5fb39b538319220de98/src/chromiumos/cmd/tast/symbolize/breakpad/download.go
[modify] https://crrev.com/2644cda1107edd65f321c5fb39b538319220de98/src/chromiumos/cmd/tast/symbolize/symbol_files_test.go
[add] https://crrev.com/2644cda1107edd65f321c5fb39b538319220de98/src/chromiumos/cmd/tast/symbolize/breakpad/download_test.go
[modify] https://crrev.com/2644cda1107edd65f321c5fb39b538319220de98/src/chromiumos/cmd/tast/symbolize/symbolize.go

Comment 19 by derat@chromium.org, Jan 23 2018

Components: Tests>Tast

Comment 20 by derat@chromium.org, Mar 28 2018

Status: Fixed (was: Started)

Sign in to add a comment