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
Loading
Please register or sign in to comment