diff options
author | Ytai Ben-Tsvi <ytai@google.com> | 2020-04-21 10:40:21 -0700 |
---|---|---|
committer | Ytai Ben-Tsvi <ytai@google.com> | 2020-04-24 16:39:36 -0700 |
commit | 458930753d712a04c746e50b94b4b76d11f1dd32 (patch) | |
tree | 2290821672cf90473039a3d44e88988a1dc55ef3 /rs/java/android/renderscript/ProgramStore.java | |
parent | b344e0ac956aeff79372835dc1aa4ecc7980a1ee (diff) |
Deliver internal server errors to the client
Due to a binder limitation (b/150808347), any unexpected exception
thrown by a binder service while processing an RPC call, will be
silently discarded and the client will get back a default-initialized
result parcelable (i.e. in most cases, won't know that anything wrong
happened).
We work around this issue by throwing a ServiceSpecificException,
which does get delivered, having a special code to designate an
internal error. Errors resulting from a HAL malfunctions will result
in a HAL reboot, which leads to recovery.
Bug: 154089179
Test: Manual verification of basic error recovery scenarios by
injecting HAL error codes and crashes.
Change-Id: Ib5dbe08a362e545501c04204bebad5ab95f5d632
Diffstat (limited to 'rs/java/android/renderscript/ProgramStore.java')
0 files changed, 0 insertions, 0 deletions