Skip to content
Commit 1126a08d authored by Mitch Phillips's avatar Mitch Phillips
Browse files

New ActivityManager<->debuggerd protocol for recoverable crashes.

Recoverable GWP-ASan catches memory safety bugs, prints debuggerd
reports, but then is able to patch up the process so that a crash
doesn't have to occur. Currently, because AM receives an IPC from
debuggerd, this results in the app being killed.

We previously worked around this by just making debuggerd not send an
IPC for GWP-ASan crashes, but this was overzealous and resulted in the
debuggerd crash not finding its way to dropbox.

So, to handle this, we introduce a new API between debuggerd and
ActivityManager.

For recoverable crashes, introduce a new log tag and extend other stats
logging areas to also add fields to indicate the crash was recoverable.
Readers of these fields should assume that, if the recoverable field is
set, the app didn't actually crash but the app had a recoverable memory
safety violation.

The GWP-ASan CTS additions (in this topic) cover the behaviour and
ensure that the recoverable crashes make their way to dropbox.

Bug: 270720163
Test: atest CtsGwpAsanTestCases
Change-Id: If3515d30a8dcacd9434b30751ae735b050d88e7d
parent 627b6459
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment