Liu Cunyuan
8c0101b971
Add tomstone proto support for riscv64
...
Signed-off-by: Liu Cunyuan <liucunyuan.lcy@linux.alibaba.com>
Signed-off-by: Mao Han <han_mao@linux.alibaba.com>
Change-Id: Ie22c2895fc30fab68eddc18713c80e403f44b203
2022-10-12 22:31:45 +00:00
Elliott Hughes
df2e7eb3cc
Explain how to get a tombstone proto.
...
There's a link here from the javadoc, but a link to the javadoc from
here seems like a good idea.
Test: N/A
Change-Id: I89a29f72d086d08174e72f7d0aa0421fe417f733
2022-09-12 22:24:18 +00:00
Christopher Ferris
c95047dd20
Update for accurate unreadable elf files.
...
The functionality moved from the Unwinder object to the MapInfo
object and means that the individual unreadable files can be
displayed now.
Included adding the unreadable elfs per thread in the protobuf.
Updated the unwinder test.
Test: All unit tests pass.
Change-Id: I7140bde16938736da005f926e10bbdb3dbc0f6f5
2022-03-15 09:50:48 -07:00
Elliott Hughes
d13ea523e1
debuggerd: add the PAC keys to the tombstones.
...
Hard to get otherwise if you're trying to debug PAC issues.
Bug: http://b/214314197
Test: treehugger
Change-Id: I2e5502809f84579bf287364e59d6e7ff67770919
2022-01-13 15:03:19 -08:00
Mitch Phillips
5ddcea2924
[MTE] Add a HWASan-style tag dump to tombstones.
...
We already dump the tags in the regigster dump section by appending the
tag to the memory address. You only get 2 granules before each register
and 13 after.
The HWASan-style tag dump is extremely useful for debugging, as it gives
a pretty comprehensive overview of the memory subsystem. It also
provides enough context bytes (256) to give you a reasonable intuition
about a particular bug.
The tag dump shows up only if PTRACE_PEEKTAGS returns at least one value
in the 256 requested. If the start of end of the region is untagged,
it's omitted. The tag dump looks like this:
Change-Id: Icc33fb97542d9b1fa3ae9e58aba34d524c6ba7b5
---
Memory tags around the fault address (0x60000704414d340), one tag per 16 bytes:
0x704414d000: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0x704414d100: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0x704414d200: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
=>0x704414d300: 0 0 0 0 [2] 2 0 0 0 0 0 0 0 0 0 0
0x704414d400: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0x704414d500: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0x704414d600: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0x704414d700: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0x704414d800: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0x704414d900: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0x704414da00: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
---
Bug: 183992164
Test: atest debuggerd_test on MTE+QEMU and sunfish.
Change-Id: I8d5842e4803ca30b407e866c99eef56f2cb36600
2021-06-28 15:53:10 -07:00
Paul Duffin
69caa70145
Add missing //apex_available:platform to debuggerd
...
This does not currently cause any problems but it does block progress
on the referenced bugs.
Bug: 187910671
Bug: 187914588
Test: m droid
Change-Id: I977cd842101187441ddbc873eac25598295aab06
2021-05-12 11:22:55 +01:00
Christopher Ferris
fe751c5a61
Re-add backtrace note about unreadable elf.
...
When moving to the proto-ized tombstones, the note about unreadable
elf files in a backtrace got lost. This re-adds it and adds a test
to verify that the note properly shows up.
Bug: 185428454
Test: Ran unit tests.
Change-Id: I1150cc737772e1b79fd73ec5c782caadc4629421
2021-05-03 15:21:11 -07:00
Josh Gao
31348a74e0
debuggerd: store commandline instead of process name.
...
Bug: http://b/180605583
Test: debuggerd_test
Change-Id: I018d399a5460f357766dc1b429f645f78fe88565
2021-03-30 12:15:56 -07:00
Josh Gao
777148f9f2
Merge "libdebuggerd: store process uptime."
2021-03-23 06:46:05 +00:00
Peter Collingbourne
1a1f7d79a4
Support MTE and GWP-ASan features in proto tombstones.
...
Proto tombstones were missing tagged fault addresses, tagged_addr_ctrl,
tags in memory dumps and Scudo and GWP-ASan error reports. Since text
tombstones now go via protos, all of these features broke when we
switched to text tombstones generated from protos by default. Fix
the features by adding support for them to the proto format,
tombstone_proto and tombstone_proto_to_text.
Bug: 135772972
Bug: 182489365
Change-Id: I3ca854546c38755b1f6410a1f6198a44d25ed1c5
2021-03-16 10:59:39 -07:00
Josh Gao
dbb83de0d5
libdebuggerd: store process uptime.
...
Application developers would like to know how long their process has
been alive for to distinguish between crashes that happen immediately
upon startup and crashes in regular operation.
Test: manual
Change-Id: Ia31eeadfcced358b478c7a7c7bb2e8a0252e30f4
2021-03-01 23:45:29 -08:00
Bob Badour
d69ad69a93
[LSC] Add LOCAL_LICENSE_KINDS to system/core
...
Added SPDX-license-identifier-Apache-2.0 to:
bootstat/Android.bp
cli-test/Android.bp
code_coverage/Android.bp
cpio/Android.bp
debuggerd/crasher/Android.bp
debuggerd/proto/Android.bp
diagnose_usb/Android.bp
fs_mgr/libdm/Android.bp
fs_mgr/libfiemap/Android.bp
fs_mgr/liblp/Android.bp
fs_mgr/libsnapshot/Android.bp
fs_mgr/libstorage_literals/Android.bp
fs_mgr/libvbmeta/Android.bp
fs_mgr/tests/Android.bp
fs_mgr/tools/Android.bp
gatekeeperd/Android.bp
healthd/Android.bp
healthd/testdata/Android.bp
init/Android.bp
init/Android.mk
init/sysprop/Android.bp
init/test_kill_services/Android.bp
init/test_service/Android.bp
libappfuse/Android.bp
libasyncio/Android.bp
libbinderwrapper/Android.bp
libcrypto_utils/Android.bp
libcrypto_utils/tests/Android.bp
libdiskconfig/Android.bp
libgrallocusage/Android.bp
libkeyutils/mini_keyctl/Android.bp
libmodprobe/Android.bp
libnetutils/Android.bp
libpackagelistparser/Android.bp
libprocessgroup/Android.bp
libprocessgroup/cgrouprc/Android.bp
libprocessgroup/cgrouprc_format/Android.bp
libprocessgroup/profiles/Android.bp
libprocessgroup/setup/Android.bp
libqtaguid/Android.bp
libsparse/Android.bp
libstats/push_compat/Android.bp
libsuspend/Android.bp
libsync/Android.bp
libsystem/Android.bp
libsysutils/Android.bp
libusbhost/Android.bp
libutils/Android.bp
libvndksupport/Android.bp
libvndksupport/tests/Android.bp
llkd/Android.bp
llkd/tests/Android.bp
property_service/libpropertyinfoparser/Android.bp
property_service/libpropertyinfoserializer/Android.bp
property_service/property_info_checker/Android.bp
qemu_pipe/Android.bp
reboot/Android.bp
rootdir/Android.bp
rootdir/Android.mk
rootdir/avb/Android.bp
rootdir/avb/Android.mk
run-as/Android.bp
sdcard/Android.bp
set-verity-state/Android.bp
shell_and_utilities/Android.bp
storaged/Android.bp
toolbox/Android.bp
trusty/apploader/Android.bp
trusty/confirmationui/Android.bp
trusty/confirmationui/fuzz/Android.bp
trusty/coverage/Android.bp
trusty/fuzz/Android.bp
trusty/fuzz/test/Android.bp
trusty/gatekeeper/Android.bp
trusty/gatekeeper/fuzz/Android.bp
trusty/keymaster/Android.bp
trusty/keymaster/fuzz/Android.bp
trusty/libtrusty/Android.bp
trusty/libtrusty/tipc-test/Android.bp
trusty/secure_dpu/Android.bp
trusty/storage/interface/Android.bp
trusty/storage/lib/Android.bp
trusty/storage/proxy/Android.bp
trusty/storage/tests/Android.bp
trusty/utils/spiproxyd/Android.bp
trusty/utils/trusty-ut-ctrl/Android.bp
usbd/Android.bp
watchdogd/Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:
debuggerd/Android.bp
fastboot/Android.bp
libkeyutils/Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
SPDX-license-identifier-MIT
to:
libcutils/Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
to:
fs_mgr/Android.bp
fs_mgr/libfs_avb/Android.bp
trusty/Android.bp
trusty/utils/rpmb_dev/Android.bp
Added SPDX-license-identifier-BSD
to:
fastboot/fuzzy_fastboot/Android.bp
Bug: 68860345
Bug: 151177513
Bug: 151953481
Test: m all
Exempt-From-Owner-Approval: janitorial work
Change-Id: Id740a7d2884556081fdb68876584b25eb95e1bef
2021-02-19 12:59:05 -08:00
Elliott Hughes
c3a206ccda
Revert "[LSC] Add LOCAL_LICENSE_KINDS to system/core"
...
This reverts commit 187b7d1950
.
Reason for revert: system/core is multiple projects, not one.
Change-Id: I790ea41741f8cd9b8b6db2f59a49e71fb0958fd6
2021-02-16 20:01:20 +00:00
Bob Badour
187b7d1950
[LSC] Add LOCAL_LICENSE_KINDS to system/core
...
Added SPDX-license-identifier-Apache-2.0 to:
bootstat/Android.bp
cli-test/Android.bp
code_coverage/Android.bp
cpio/Android.bp
debuggerd/crasher/Android.bp
debuggerd/proto/Android.bp
diagnose_usb/Android.bp
fs_mgr/libdm/Android.bp
fs_mgr/libfiemap/Android.bp
fs_mgr/liblp/Android.bp
fs_mgr/libsnapshot/Android.bp
fs_mgr/libstorage_literals/Android.bp
fs_mgr/libvbmeta/Android.bp
fs_mgr/tests/Android.bp
fs_mgr/tools/Android.bp
gatekeeperd/Android.bp
healthd/Android.bp
healthd/testdata/Android.bp
init/Android.bp
init/Android.mk
init/sysprop/Android.bp
init/test_kill_services/Android.bp
init/test_service/Android.bp
libappfuse/Android.bp
libasyncio/Android.bp
libbinderwrapper/Android.bp
libcrypto_utils/Android.bp
libcrypto_utils/tests/Android.bp
libdiskconfig/Android.bp
libgrallocusage/Android.bp
libkeyutils/mini_keyctl/Android.bp
libmodprobe/Android.bp
libnetutils/Android.bp
libpackagelistparser/Android.bp
libprocessgroup/Android.bp
libprocessgroup/cgrouprc/Android.bp
libprocessgroup/cgrouprc_format/Android.bp
libprocessgroup/profiles/Android.bp
libprocessgroup/setup/Android.bp
libqtaguid/Android.bp
libsparse/Android.bp
libstats/push_compat/Android.bp
libsuspend/Android.bp
libsync/Android.bp
libsystem/Android.bp
libsysutils/Android.bp
libusbhost/Android.bp
libutils/Android.bp
libvndksupport/Android.bp
libvndksupport/tests/Android.bp
llkd/Android.bp
llkd/tests/Android.bp
property_service/libpropertyinfoparser/Android.bp
property_service/libpropertyinfoserializer/Android.bp
property_service/property_info_checker/Android.bp
qemu_pipe/Android.bp
reboot/Android.bp
rootdir/Android.bp
rootdir/Android.mk
rootdir/avb/Android.bp
rootdir/avb/Android.mk
run-as/Android.bp
sdcard/Android.bp
set-verity-state/Android.bp
shell_and_utilities/Android.bp
storaged/Android.bp
toolbox/Android.bp
trusty/apploader/Android.bp
trusty/confirmationui/Android.bp
trusty/confirmationui/fuzz/Android.bp
trusty/coverage/Android.bp
trusty/fuzz/Android.bp
trusty/fuzz/test/Android.bp
trusty/gatekeeper/Android.bp
trusty/gatekeeper/fuzz/Android.bp
trusty/keymaster/Android.bp
trusty/keymaster/fuzz/Android.bp
trusty/libtrusty/Android.bp
trusty/libtrusty/tipc-test/Android.bp
trusty/secure_dpu/Android.bp
trusty/storage/interface/Android.bp
trusty/storage/lib/Android.bp
trusty/storage/proxy/Android.bp
trusty/storage/tests/Android.bp
trusty/utils/spiproxyd/Android.bp
trusty/utils/trusty-ut-ctrl/Android.bp
usbd/Android.bp
watchdogd/Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:
debuggerd/Android.bp
fastboot/Android.bp
libkeyutils/Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
SPDX-license-identifier-MIT
to:
Android.bp
libcutils/Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
to:
fs_mgr/Android.bp
fs_mgr/libfs_avb/Android.bp
trusty/utils/rpmb_dev/Android.bp
Added SPDX-license-identifier-BSD
to:
fastboot/fuzzy_fastboot/Android.bp
Bug: 68860345
Bug: 151177513
Bug: 151953481
Test: m all
Exempt-From-Owner-Approval: janitorial work
Change-Id: I5bd81adb5cdcf2b4dd4141b204eb430ff526af8f
2021-02-16 04:10:03 -08:00
Josh Gao
fc4fb216d1
tombstone.proto: reserve numbers for future growth.
...
Test: treehugger
Change-Id: I66adbe70e95363b0083d6eed746de3bc6d17ae28
2021-02-10 16:59:50 -08:00
Josh Gao
d3df0ae39d
Expose libtombstone_proto srcs.
...
Test: treehugger
Change-Id: I4f993e6bf025120bda82eb60f6c534f43030085c
2021-02-01 17:43:18 -08:00
Josh Gao
76e1e30f16
Reland protobuf tombstones.
...
This reverts the following commits:
e156ede145
.
eda96eddcb
.
5ec54d1e84
.
1e45d3f223
.
a50f61f8fa
.
Test: treehugger
Test: atest -c CtsSeccompHostTestCases:android.seccomp.cts.SeccompHostJUnit4DeviceTest#testAppZygoteSyscalls
Change-Id: Ic2b1f489ac9f1fec7d7a33c845c29891f4306bbd
2021-01-26 17:55:17 -08:00
Jerome Gaillard
1e45d3f223
Revert "libdebuggerd: add protobuf implementation."
...
Revert "Let crash_dump read /proc/$PID."
Revert submission 1556807-tombstone_proto
Reason for revert: b/178455196, Broken test: android.seccomp.cts.SeccompHostJUnit4DeviceTest#testAppZygoteSyscalls on git_master on cf_x86_64_phone-userdebug
Reverted Changes:
Ide6811297:tombstoned: switch from goto to RAII.
I8d285c4b4:tombstoned: make it easier to add more types of ou...
Id0f0fa285:tombstoned: support for protobuf fds.
I6be6082ab:Let crash_dump read /proc/$PID.
Id812ca390:Make protobuf vendor_ramdisk_available.
Ieeece6e6d:libdebuggerd: add protobuf implementation.
Change-Id: Ia0a1ee57e7630e01c495dc166218f665340aad7f
2021-01-26 12:41:20 +00:00
Josh Gao
92317d82c9
libdebuggerd: add protobuf implementation.
...
This commit implements protobuf output for tombstones, along with a
translator that should emit bytewise identical output to the existing
tombstone dumping code, except for ancillary data from GWP-ASan and
Scudo, which haven't been implemented yet.
Test: setprop debug.debuggerd.translate.translate_proto_to_text 1 &&
/data/nativetest64/debuggerd_test/debuggerd_test
Test: for TOMBSTONE in /data/tombstones/tombstone_??; do
pbtombstone $TOMBSTONE.pb | diff $TOMBSTONE -
done
Change-Id: Ieeece6e6d1c26eb608b00ec24e2e725e161c8c92
2021-01-21 15:40:23 -08:00