Commit c62077fb authored by primiano's avatar primiano Committed by Commit bot

[android-webview] Skip signal handler registration on x86/64

An intricate entangling of libsigchain, sigaction() chaining and
user-space SIGSEGV handling by binary translator cause persistent
crashes when a SIGSEGV handler is installed by a x86 library on
a hybrid application which uses both Arm and x86 libraries.
Backing out the crash handler as a temporary workaround.
More context in the related bug.

BUG=477444

Review URL: https://codereview.chromium.org/1059543003

Cr-Commit-Position: refs/heads/master@{#325441}
parent e4bc3e8a
......@@ -11,6 +11,7 @@
#include <unistd.h>
#include "base/logging.h"
#include "build/build_config.h"
namespace {
......@@ -66,6 +67,13 @@ namespace android_webview {
namespace crash_handler {
void RegisterCrashHandler(const std::string& version) {
#if defined(ARCH_CPU_X86_FAMILY)
// Don't install signal handler on X86/64 because this breaks binary
// translators that handle SIGSEGV in userspace and get chained after our
// handler. See crbug.com/477444
return;
#endif
if (crash_handler_registered) {
NOTREACHED();
return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment