Stack Traces From Chrome OS Crash Dumps

If you need to get a stack from a BVT failure that has already been uploaded to Google Cloud Storage, there's a much easier way to do this. See the Chrome OS sheriff documentation under "How to find test results/crash reports". Look in a directory like desktopui_MediaAudioFeedback/sysinfo/iteration.1/var/spool/crash for the chrome.dmp.txt file. It should have a stack.

If you run a test on a device using run_remote_tests and the test crashes (for example, with a Chrome sig 11) the test script will copy a minidump file back to your workstation. However, it will not automatically generate a stack trace for you. Here's how to get one. (Directions are based on the Linux and Windows instructions.)

There's a core file in that directory, but you can't use it directly as the chrome binary is stripped. We can, however, generate symbols from the chrome.debug file and use those with minidump_stackwalk to get a stack trace.

First, copy the dmp file so you don't need to type the long path over and over:

Finally, you can run minidump_stackwalk to get a stack trace. It will look automatically for chrome/<hash> under the /tmp/my_symbols directory:

minidump_stackwalk ~/foo.dmp /tmp/my_symbols

If you need symbols for things like shared libraries you can repeat the above process grepping the path-not-found errors for things like "libglsl.so" instead of "chrome". See the Linux instructions for details.