Simon Que | f70060c | 2012-04-09 19:07:07 -0700 | [diff] [blame] | 1 | # Copyright (c) 2012 The Chromium OS Authors. All rights reserved. |
Ken Mixter | c49dbd4 | 2010-12-14 17:44:11 -0800 | [diff] [blame] | 2 | # Use of this source code is governed by a BSD-style license that can |
| 3 | # be found in the LICENSE file. |
| 4 | |
| 5 | # This file has the format: |
| 6 | # <basename>:<shell command>\n |
| 7 | # |
| 8 | # Where when any executable with the basename <basename> crashes, the |
| 9 | # given <shell command> is executed and its standard output and |
| 10 | # standard error is sent along with the crash report. |
| 11 | # |
| 12 | # Use caution in modifying this file. Only run common unix commands |
| 13 | # here as these commands will be run when a crash has recently |
| 14 | # occurred and we should avoid running anything that might cause |
| 15 | # another crash. Similarly these command block the notification of |
| 16 | # the crash to parent processes, so commands should execute quickly. |
| 17 | # |
| 18 | update_engine:cat $(ls -1tr /var/log/update_engine | tail -5 | sed s.^./var/log/update_engine/.) | tail -c 50000 |
Ben Chan | 557bf45 | 2012-03-14 16:51:01 -0700 | [diff] [blame] | 19 | # The cros_installer output is logged into the update engine log file, |
| 20 | # so it is handled in the same way as update_engine. |
| 21 | cros_installer:cat $(ls -1tr /var/log/update_engine | tail -5 | sed s.^./var/log/update_engine/.) | tail -c 50000 |
Ken Mixter | c49dbd4 | 2010-12-14 17:44:11 -0800 | [diff] [blame] | 22 | |
Ken Mixter | 1b8fe01 | 2011-01-25 13:33:05 -0800 | [diff] [blame] | 23 | # The following rule is used for generating additional diagnostics when |
| 24 | # collection of user crashes fails. This output should not be too large |
Michael Krebs | c046f57 | 2011-04-07 14:42:14 -0700 | [diff] [blame] | 25 | # as it is stored in memory. The output format specified for 'ps' is the |
| 26 | # same as with the "u" ("user-oriented") option, except it doesn't show |
| 27 | # the commands' arguments (i.e. "comm" instead of "command"). |
Michael Krebs | bc2d7dd | 2012-09-12 20:31:20 -0700 | [diff] [blame] | 28 | crash_reporter-user-collection:echo "===ps output==="; ps axw -o user,pid,%cpu,%mem,vsz,rss,tname,stat,start_time,bsdtime,comm | tail -c 25000; echo "===meminfo==="; cat /proc/meminfo |
Ken Mixter | 1b8fe01 | 2011-01-25 13:33:05 -0800 | [diff] [blame] | 29 | |
Simon Que | f70060c | 2012-04-09 19:07:07 -0700 | [diff] [blame] | 30 | # This rule is similar to the crash_reporter-user-collection rule, except it is |
| 31 | # run for kernel errors reported through udev events. |
| 32 | crash_reporter-udev-collection-change-card0-drm:for dri in /sys/kernel/debug/dri/*; do echo "===$dri/i915_error_state==="; cat $dri/i915_error_state; done |
| 33 | |
Michael Krebs | ed61be6 | 2012-12-05 15:13:08 -0800 | [diff] [blame] | 34 | # TODO(mkrebs,sabercrombie): Because these can be quite large (600KB |
| 35 | # compressed), remove this when GPU hangs are no longer an issue, and/or we |
| 36 | # start collecting "chrome" crashes for normal images. |
| 37 | # Collect i915 error state for Chrome crashes as well. See |
| 38 | # crosbug.com/36979. These can be big (i.e. megabytes), so compress them with |
| 39 | # gzip. Note that the file attached to the crash report will have a ".log" |
| 40 | # extension, but will have been gzip'ed. |
| 41 | chrome:for dri in /sys/kernel/debug/dri/*; do echo "===$dri/i915_error_state==="; cat $dri/i915_error_state; done | gzip -c |
| 42 | |
Yufeng Shen | bbda078 | 2012-11-05 17:06:34 -0500 | [diff] [blame] | 43 | # When trackpad driver cyapa detects some abnormal behavior, we collect |
| 44 | # additional logs from kernel messages. |
| 45 | crash_reporter-udev-collection-change--i2c-cyapa:grep cyapa /var/log/messages |
Yufeng Shen | 0b78311 | 2012-12-20 12:19:55 -0500 | [diff] [blame] | 46 | # When touch device noise are detected, we collect relevant logs. (crosbug.com/p/16788) |
| 47 | crash_reporter-udev-collection---TouchNoise:cat /var/log/touch_noise.log |
Yufeng Shen | ebb86ae | 2013-01-15 19:55:09 -0500 | [diff] [blame^] | 48 | # Periodically collect touch event log for debugging (crosbug.com/p/17244) |
| 49 | crash_reporter-udev-collection---TouchEvent:cat /var/log/touch_event.log |
Ken Mixter | c49dbd4 | 2010-12-14 17:44:11 -0800 | [diff] [blame] | 50 | # The following rules are only for testing purposes. |
| 51 | crash_log_test:echo hello world |
Dale Curtis | c4e01cc | 2011-01-10 11:49:50 -0800 | [diff] [blame] | 52 | crash_log_recursion_test:sleep 1 && /usr/local/autotest/tests/crash_log_recursion_test |