From 5e8d68c2b22553c44d64e41b96833da770d1f109 Mon Sep 17 00:00:00 2001 From: Josh Gao Date: Fri, 15 Mar 2019 15:10:24 -0700 Subject: [PATCH] debuggerd_handler: demote abort on exec failure to log. If a process is ptraced already, we might not be able to exec crash_dump due to selinux. Since we can be called for non-fatal events, we shouldn't abort in that case. Bug: http://b/128054996 Test: treehugger Change-Id: I1442041caa7af908df2ab87b9e010c44082e7587 --- debuggerd/handler/debuggerd_handler.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/debuggerd/handler/debuggerd_handler.cpp b/debuggerd/handler/debuggerd_handler.cpp index a064ca0f7..bca5e36d5 100644 --- a/debuggerd/handler/debuggerd_handler.cpp +++ b/debuggerd/handler/debuggerd_handler.cpp @@ -383,7 +383,9 @@ static int debuggerd_dispatch_pseudothread(void* arg) { execle(CRASH_DUMP_PATH, CRASH_DUMP_NAME, main_tid, pseudothread_tid, debuggerd_dump_type, nullptr, nullptr); - fatal_errno("exec failed"); + async_safe_format_log(ANDROID_LOG_FATAL, "libc", "failed to exec crash_dump helper: %s", + strerror(errno)); + return 1; } input_write.reset();