crash_reporter_logs.conf revision f70060c5e610ed0aa648dcb6aaea5d859834b8ba
1# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
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#
18update_engine:cat $(ls -1tr /var/log/update_engine | tail -5 | sed s.^./var/log/update_engine/.) | tail -c 50000
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.
21cros_installer:cat $(ls -1tr /var/log/update_engine | tail -5 | sed s.^./var/log/update_engine/.) | tail -c 50000
22
23# The following rule is used for generating additional diagnostics when
24# collection of user crashes fails.  This output should not be too large
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").
28crash_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 "===dmesg output==="; dmesg | tail -c 25000; echo "===meminfo==="; cat /proc/meminfo
29
30# This rule is similar to the crash_reporter-user-collection rule, except it is
31# run for kernel errors reported through udev events.
32crash_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
34# The following rules are only for testing purposes.
35crash_log_test:echo hello world
36crash_log_recursion_test:sleep 1 && /usr/local/autotest/tests/crash_log_recursion_test
37