History log of /system/core/debuggerd/crasher.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9466bb2ab64f6647a2c573d01ac7b08349345882 01-Oct-2015 Stephen Hines <srhines@google.com> Fix build break due to unknown pragma (on gcc).

Change-Id: I36bf855769b243139fd45186ac53578448b87a2b
/system/core/debuggerd/crasher.c
18395cb5074c0e039cd715299e82fd1d024559b7 30-Sep-2015 Stephen Hines <srhines@google.com> Ignore explicit infinite recursion.

Clang 3.8 warns against this now, and it is tripping up part of a test.
We suppress the warning, since we are trying to actually test that this
behavior is properly handled.

Change-Id: I8705900572e1a6704bbdc001fece3e2d16c7077c
/system/core/debuggerd/crasher.c
f39383103b888a38e486e8066d7c35838e2f98d4 30-Jul-2015 Elliott Hughes <enh@google.com> bionic no longer sends SIGPIPE to debuggerd.

Static binaries don't get the signal handler installed (that's done by the
dynamic linker) so we don't need to worry about seeing SIGPIPE crashes from
old binaries.

Bug: http://b/20659371
Change-Id: I3b5566634fadd3e822262561188d29814bccd1fd
/system/core/debuggerd/crasher.c
2331b95609e3eb94494aebc9a59cab44d73df234 12-Dec-2014 Yabin Cui <yabinc@google.com> Make crasher smash-stack work.

Bug: 18721888
Change-Id: Id0280df7cb2c29832256d3d395e6399fcef9aa2b
/system/core/debuggerd/crasher.c
a1ff475b07dd7c8a2dfa0e83bc2a25ef159b6152 24-Oct-2014 Chih-Hung Hsieh <chh@google.com> Add volatile to avoid clang optimization.

BUG: 18108178
Change-Id: Ie5b8b1808fcf6d1eacc14a7c6ac0c8d49641fec2
/system/core/debuggerd/crasher.c
3ecc42106ea4cf825a57859cfd58442442685d24 15-Jul-2014 Elliott Hughes <enh@google.com> Add SIGFPE to crasher.

Bug: 3399996
Change-Id: I115caf846a47f57984c1b1844104e37d29e6f24e
/system/core/debuggerd/crasher.c
8606eaa7700609a2f9f2383b954b4e64dbc4c827 07-Jul-2014 Brigid Smith <brigidsmith@google.com> Improving maps output.

Maps output now displays fault address location more intelligently. If
the fault is not in a mapped region, it now shows where that address is
with respect to the other maps.

In addition, the size of the map is now printed as part of the output.

Also, crasher now supports an "mmap" option which mmaps/munmaps a region
of memory and then attempts to access it, causing a fault address in
between mapped regions that can be used to test that new part of the
maps output.

Change-Id: Ia5e1926802bdfcbbdb7857e3631ddf395ae0c5b8
/system/core/debuggerd/crasher.c
7b2078eeb4f68f3a81695de64ec8df003d3f8e3c 17-Jun-2014 Brigid Smith <brigidsmith@google.com> Changed maps output in debuggerd.

Now the map output is only sent to the tombstone, and the entire
contents of /prod/$PID/maps is logged, not just 3 lines. Additionally,
crasher now supports "crasher SIGSEGV-non-null", which attempts to write to a
dereferenced function address, causing a SIGSEGV at a non-zero address.
This new crasher mode can be used to test the new maps output.

Bug: 15343662
Change-Id: I796d92e8352a6b9714bbbfe96f3143c56565ef2f
/system/core/debuggerd/crasher.c
7e35ae8fc840cc1855d26084fdd72cbc3241f04d 17-May-2014 Elliott Hughes <enh@google.com> Add SIGTRAP support to crasher and debuggerd.

Bug: 15024256
Change-Id: I3f34993fcfd9799306852b0a2195db468370be6e
/system/core/debuggerd/crasher.c
f1a8dfa0ebfc233e569ffa83e21e37d0a829b94c 30-Apr-2014 Mark Salyzyn <salyzyn@google.com> debuggerd: turn on -Werror

- Deal with some -Wunused / -Wunused-variable issues

Change-Id: I39849fe30170f69d1cab7d4ad2629b3a49e14ee7
/system/core/debuggerd/crasher.c
855fcc3114c20ff9fd286fe1723d1413fec9685a 26-Apr-2014 Elliott Hughes <enh@google.com> Use the si_code value bionic passes us.

Bionic needs to re-raise various signals, which means the si_code
debuggerd sees has been clobbered. If bionic sends us the original
si_code value, we can use that instead of the one we see when the
ptrace the crashed process' siginfo.

Change-Id: If116a6bc667d55a6fb39b74f96673292af4e4c8c
/system/core/debuggerd/crasher.c
da6b2e2fd79c9aac12127b2c2f512e9555fdd06d 23-Apr-2014 Elliott Hughes <enh@google.com> Improve liblog's fatal logging.

This makes LOG_ALWAYS_FATAL and LOG_ALWAYS_FATAL_IF as good as regular
assert(3).

Change-Id: I0666684d30cae7baf23c64b33d35c1e43f81acf0
/system/core/debuggerd/crasher.c
5d9fe779c8ec2705865a23061834ad8cdbee5b82 06-Feb-2014 Elliott Hughes <enh@google.com> system/core LP64 cleanup.

Fixes -Wint-to-pointer and -Wpointer-to-int warnings, plus various -Wformat
warnings.

Change-Id: I6c5eea6b4273d82d28b8e5d2925f3e5457511b17
/system/core/debuggerd/crasher.c
6694d3e3d5b7ca2418bbca3007ad4b980f3a3602 31-Jan-2014 Elliott Hughes <enh@google.com> Remove dead code that looked like part of debuggerd.

Note that these were two different functions. The definition was unused,
and the declaration was undefined.

Change-Id: I2edd10a0ab9422cd5252bdb9ccdd726dc5fad531
/system/core/debuggerd/crasher.c
b1be27e29b01009d66ac66c20e275506673e962c 16-Jul-2013 Elliott Hughes <enh@google.com> Improve the crasher stack-overflow command.

Runs a lot quicker, with no intermediate noise.

Change-Id: Icd911ff305da2e0889029dc78d5c2b39f32111c5
/system/core/debuggerd/crasher.c
6f40cafd9fe90fb83536c31d84273bf3572e5a32 12-Jun-2013 Elliott Hughes <enh@google.com> Add a new test to crasher to upset dlmalloc.

We should also add a test for heap corruption, but I failed to come up
with a kind of corruption that dlmalloc actually detects (rather than
just crashing accidentally).

Change-Id: I7457e732729635b171ffc44517c3de71f55608e6
/system/core/debuggerd/crasher.c
3808c4ecb4c2d4f05261e6631a765464b055d8b1 24-Apr-2013 Elliott Hughes <enh@google.com> Add a stack overflow test to crasher, and document all the options.

Change-Id: Iebe80c24ef43f08d258881e7847516d414436931
/system/core/debuggerd/crasher.c
af2cb3667ba24d1ef3037aa5a7b3bc0a238cf040 08-Mar-2013 Pavel Chupin <pavel.v.chupin@intel.com> Unwinding implementation via eh_frame sections for x86

Backtracing through eh_frame section is more effective allowing to reuse
ebp register for other purposes within routine. GCC with turned on
optimizations (-O1 and above) implicitly defines -fomit-frame-pointer
anyway. eh_frame sections are generated by default with GCC on any
optimization level.

This change implements remote unwinding (separate process unwinding).
Local unwinding is already implemented through _Unwind_Backtrace call
which is implemented in libgcc.

Change-Id: I1aea1ecd19c21710f9cf5f05dc272fc51b67b7aa
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
/system/core/debuggerd/crasher.c
df4200e8c255fca1d03855b971b57036b9ccaa94 14-Feb-2013 Elliott Hughes <enh@google.com> Add a "smash-stack" option to crasher.

bionic's __stack_chk_fail was preventing debuggerd from dumping
stacks, which was not helpful.

Bug: 2487269
Change-Id: Idba2a274037b960dfb2ac1c21686323268c4b372
/system/core/debuggerd/crasher.c
aa4213057ba1723e4f164e54f80bb7621c3cb6b3 10-Dec-2012 Elliott Hughes <enh@google.com> Expand crasher with a "thread-" prefix to crash on another thread.

So "thread-nostack" runs the "nostack" code on a new thread, and
"thread-abort" runs the "abort" code on a new thread, and so on.

Bug: http://code.google.com/p/android/issues/detail?id=16672
Change-Id: I026a0e43eea147f1a7a74243846954599bcf4238
/system/core/debuggerd/crasher.c
849249064cae9c1bb23b0204b5d35b832567801e 13-Oct-2010 Bruce Beare <bruce.j.beare@intel.com> debuggerd: Reorganize to facilitate IA commit

Change-Id: I22dd02daf617672fc0a8ba7e396017c57f17e26e
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
/system/core/debuggerd/crasher.c
dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/system/core/debuggerd/crasher.c
e54eebbf1a908d65ee8cf80bab62821c05666d70 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/system/core/debuggerd/crasher.c
4f6e8d7a00cbeda1e70cc15be9c4af1018bdad53 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/system/core/debuggerd/crasher.c