| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Bug: 21209050
Change-Id: I91d4c44de479b37f2729382fcdf103b8c69aa668
(cherry picked from commit 6e96403b8fd25a98f2cfc9680de45f39ff4ec491)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Under some conditions, /proc/<pid>/maps might return nothing. If we
try and unwind in this case, we'll crash. Check this case and fail
the unwind.
Add checks that no other functions try and use map_ without
checking for nullptr.
Add logging when an unwind fails so it's clear what happened.
Bug: 21162746
Change-Id: I56ce51dda0cfc9db20475a441f118108196aa07c
(cherry picked from commit 30c942cf1024bf791c28ab9b67a1f752de72248c)
|
|
|
|
|
|
|
|
| |
Also, print the offset in the maps section.
Bug: 20864928
Change-Id: I71f005726e5ef73cf75bbcb8f829fd5127cb9d61
(cherry picked from commit 5c8856854de4ae7836fc1073d534f4b7b7a03eb9)
|
|
|
|
|
|
|
|
|
| |
This avoids the log daemon skipping some of the log output from
debuggerd.
Bug: 20846525
(cherry picked from commit b0412a5c2b446edb137980333aa0a0bbfda2e955)
Change-Id: Ifed48814d76c7e855645b6d5487d5e6e1fcafd9e
|
|
|
|
|
|
|
|
|
|
| |
The new linker relocation packing support uses non-zero load bases,
so we better handle them properly.
Also print out the load base for a map if it's non-zero.
Bug: 20687795
Change-Id: Iec2d1db2051e7b4a278c1dfa57d745128a7f2974
|
|
|
|
|
|
| |
(cherry picked from commit b7cd09b93eaa8efa42db880a419d8d845dd4b4b3)
Change-Id: Ic81b4134fe563d8ebb15ba4ff3e9b2e8893c97a5
|
|
|
|
|
|
|
|
| |
ELF said that padding is present, if necessary, to ensure 4-byte
alignment for the descriptor and next note entry, but such padding
is not included in namesz and descsz.
Change-Id: I7896783f3d9a787772d56c49905f52a493c9fba1
|
|
|
|
|
|
|
|
|
|
|
|
| |
For every map that has a name, and if it's a mapped in shared library,
print the build id.
Refactor the way dump_all_maps logs data.
Refactor the way stack segments are dumped.
Bug: 19371018
Change-Id: Ic08d05a4b13f128925743936fb84d8059f7cb56f
|
|
|
|
| |
Change-Id: I12ea2fcbe6780bb596f51988eae1ceafcec858df
|
|
|
|
|
|
|
|
| |
Move away from using POSIX open(2) flags and introduce ANDROID_LOG_* flags to
replace them. Add security by preventing random mode flags from getting into
underlying POSIX calls. ANDROID_LOG_* flags overlap POSIX O_* flag definitions.
Change-Id: Ib32bb64c287e8bf150be62242e1ba46bb37839fc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modifies the code so that if the unwind fails, the code still prints
as much data as possible.
Also, for sibling threads, skip printing the maps and memory/code
since it's not likely to be very relevant.
Fix a few cases where extra space is at the end of lines.
Fix an inverted if statement that was checking the wrong condition.
Bug: 18816322
Change-Id: Ic659e0c34489bf2c65c5a23e2b83e31653b927e4
|
|
|
|
|
|
|
|
|
|
|
| |
The backtrace structure used to include a pointer to a backtrace_map_t
that represented the map data for a particular pc. This introduced a
race condition where the pointer could be discarded, but the backtrace
structure still contained a pointer to garbage memory. Now all of the map
information is right in the structure.
Bug: 19028453
Change-Id: If7088a73f3c6bf1f3bc8cdd2bb4b62e7cab831c0
|
|
|
|
|
|
|
| |
The kernel finally has the pt_regs structure properly defined for mips,
so we don't need to define it ourselves.
Change-Id: Ifdf75ed827cd2390962e9b3a182bdbbf02fe0732
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On 64 bit systems, calls to dump_backtrace_to_file or dump_tombstone
try and directly contact the correct debuggerd (32 bit vs 64 bit)
by reading the elf information for the executable.
Unfortunately, system_server makes a call to dump_backtrace_to_file
and it doesn't have permissions to read the executable data, so it
defaults to always contacting the 64 bit debuggerd.
This CL changes the code so that all dump requests go to the 64 bit
debuggerd, which reads the elf information and redirects requests for
32 bit processes to the 32 bit debuggerd.
Testing:
- Forced the watchdog code in system_server to dump stacks and
verified that all native stacks are dumped correctly.
- Verified that dumpstate and bugreport still properly dump the native
processes on a 64 bit and 32 bit system.
- Intentionally forced the 64 bit to 32 bit redirect to write only a
byte at a time and verified there are no errors, and no dropped data.
- Used debuggerd and debuggerd64 to dump 32 bit and 64 bit processes
seemlessly.
- Used debuggerd on a 32 bit system to dump native stacks.
Bug: https://code.google.com/p/android/issues/detail?id=97024
Change-Id: Ie01945153bdc1c4ded696c7334b61d58575314d1
|
|
|
|
|
| |
Not sure why this only shows up with clang.
Change-Id: Id5603483e32f8a8d4b091dbb31b3142e3f77deac
|
|
|
|
|
| |
Bug: 18721888
Change-Id: Id0280df7cb2c29832256d3d395e6399fcef9aa2b
|
|
|
|
|
| |
Bug: 17880617
Change-Id: I6870e8ac670c08e45d8efb64479976a38edfdc93
|
|
|
|
|
| |
Bug: 15193147
Change-Id: I935a08e98077b688d1735fb5b84a615cb7df8810
|
|\
| |
| |
| |
| | |
* commit 'a11ac45536f0722becefccdb6b58378c5d9d0d4b':
Fix debuggerd issues.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Fix a problem where a tid exits before the attach completes, and it
causes debuggerd to self terminate.
- Fix a problem where sibling tid dumps do not properly wait for the tid
to get signalled.
Bug: 17800180
Bug: 12567315
(cherry picked from commit 84ddb34a3af77dbe490aaa07b738bbfd7109d5ba)
Change-Id: I45e33865614d4c96f4a89cf117398666b556d500
|
|\ \
| |/
| |
| |
| | |
* commit 'd88323b2667c443c2738eb601eb0b9eaad1c3049':
Add volatile to avoid clang optimization.
|
| |
| |
| |
| |
| | |
BUG: 18108178
Change-Id: Ie5b8b1808fcf6d1eacc14a7c6ac0c8d49641fec2
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
lmp-dev
* commit 'c3e6eb21b58ae3067ed03358687d1edb851f2abf':
Move ABI: line below header when dumping stacks.
|
| | |
| | |
| | |
| | |
| | | |
Bug: 17474152
Change-Id: I66b6e7e1cbb004f7a1915a2c1515df6555fe176f
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also remove alignment of si_addr.
(cherry picked from commit f10aa3ae9d58269465c579e4c286ccef6be4c2d0)
Bug: 16950250
Change-Id: I60170b9eb7dd8fe99c0eeeaec74d13cfbaa920d9
|
| | |
| | |
| | |
| | |
| | |
| | | |
(cherry pick from 45ae446cab9cfc9b6100d91b1a37c6ad82e0cb99)
Change-Id: I619880342ee6febd1a6cc98d2a4f536120efc1c8
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Bug: 16357258
(cherry picked from commit c75a02fe3f9abec006a1e88794f2fa12fbeafd8f)
Change-Id: I96be34ee1664af54b0dcbc928ea542cd749852fd
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
si_addr<PAGE_SIZE"
* commit '75ef453e5d3352aad8c55cd8fa572945c6f4bbfa':
Do not suppress maps dump when si_addr<PAGE_SIZE
|
| | |
| | |
| | |
| | |
| | |
| | | |
Also remove alignment of si_addr.
Change-Id: Ie5445bf8a5baa49e04e37c643c25ebd0f1dc9d22
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
request for logd process"
* commit '1d497f8a92994abeb5baeaacdec037268838af20':
debuggerd: tombstone: suppress logger request for logd process
|
| | |
| | |
| | |
| | | |
Change-Id: I619880342ee6febd1a6cc98d2a4f536120efc1c8
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* commit 'c70ebca44cc37b0d261736446ccf52bbdb61e7d1':
Add SELinux MAC to debuggerd.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
debuggerd allows uid-0 processes to dump tombstones or backtraces
of any process, and uid-system processes to dump backtraces of any
processes. Restrict these operations via SELinux based on the
client context, the target process context, and the action.
Depends on I8e120d319512ff207ed22ed87cde4e0432a13dda for the
corresponding policy definitions.
Change-Id: Ib317564e54e07cc21f259e75124b762ad17c6e16
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
|
|\ \ \
| |/ /
| | /
| |/
|/| |
* commit '4a95a209e8fc472461aa75282b486e1860edde19':
Added default constructor for log_t.
|
| |
| |
| |
| |
| | |
Bug: 16357258
Change-Id: I39169b35653d2b717fadbcff75978db01cc375ef
|
| |
| |
| |
| |
| | |
Bug: 3399996
Change-Id: I115caf846a47f57984c1b1844104e37d29e6f24e
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Also fix dumping of arm64's vector registers, which are actually 128 bits wide.
Also move the arm/arm64 FP registers to the tombstone. (We've never dumped
them at all for the other architectures.)
Change-Id: I239a86dd225b47fa90109bc824b7610df67ad812
|
| |
| |
| |
| | |
Change-Id: I71bdfba30346a9fad3129b404f39eda8190698e3
|
| |
| |
| |
| |
| |
| |
| |
| | |
Bug: 3399996
(cherry picked from commit 3ecc42106ea4cf825a57859cfd58442442685d24)
Change-Id: I075613ca3c022ce8d38a06a5ba236ceff32d181c
|
|/
|
|
|
|
|
|
|
|
|
| |
Also fix dumping of arm64's vector registers, which are actually 128 bits wide.
Also move the arm/arm64 FP registers to the tombstone. (We've never dumped
them at all for the other architectures.)
(cherry picked from commit b40c50351ebd9fb40b76a3169ad5cc6a25c453f1)
Change-Id: Ic646fb9ea01e9beb42e1757feb8742c1d4efafa7
|
|
|
|
|
|
| |
failure.
Change-Id: Ia37cb3f8ecb00a927fa3fc8b4131c158413646e7
|
|
|
|
|
|
|
|
|
|
|
| |
There's no good reason to separate "fill the integer registers with
recognizable patterns and crash" from "fill the FP registers with recognizable
patterns and crash".
Also remove the incorrect use of ARCH_ARM_HAVE_VFP_D32 rather than try to fix
it.
Change-Id: I3a4a3aca1575de5489314027ae52168997404d79
|
|
|
|
| |
Change-Id: Id071417f56dd883e9d2e38a6f3296cb23a0352fb
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I66bc2b181cd75da188c046571492224d5ac3fc98
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Now the debugging output shows the tid of the crashed thread instead of
the pid of the process that crashed.
Change-Id: I637f409ff02d73d458edc6d1a5c462c21d128211
|
|/
|
|
|
| |
Bug: 15520846
Change-Id: I18934cc60af3dda98ab729fbabc4c7a66834512e
|
|
|
|
|
|
|
| |
This lets the stack tool figure out which toolchain to use
automatically.
Change-Id: Ia235d6904622423fe6fbc7b0315a1861e52a41ad
|
|
|
|
|
|
|
| |
The debug output was still showing the pathname that worked with
gdbclient before my changes, and therefore did not work after the fact.
Change-Id: Ie12d79f5346088914ce0a70bda69780707b31d31
|