From 5d3bc457c0068aae387fb982003687c5558bb7f4 Mon Sep 17 00:00:00 2001 From: Shoaib Meenai Date: Thu, 16 Jun 2022 01:12:27 -0700 Subject: [PATCH] Back out "Temporarily disable stack traces for libc++ arm64" Summary: As with all temporary solutions, this turned out to be a lot less temporary than I was hoping for :D I was never able to figure out the original issue, but I tried again after switching unwinders from libgcc to libunwind. Unfortunately that ran into new crashes so I had to revert it again. I fixed the underlying issue in LLVM's libunwind in https://reviews.llvm.org/D126343, so let's try this again and see what happens. Reviewed By: simpleton Differential Revision: D37181295 fbshipit-source-id: bb4ca5c8e525e8deab3fa43b8be78120b477ffed --- deps/fbjni/cxx/lyra/cxa_throw.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/deps/fbjni/cxx/lyra/cxa_throw.cpp b/deps/fbjni/cxx/lyra/cxa_throw.cpp index 0e33e615d..db29dcf0a 100644 --- a/deps/fbjni/cxx/lyra/cxa_throw.cpp +++ b/deps/fbjni/cxx/lyra/cxa_throw.cpp @@ -131,14 +131,11 @@ void trace_destructor(void* exception_obj) { [[noreturn]] void cxa_throw(void* obj, const std::type_info* type, destructor_type destructor) { - // TODO(T61689492): Re-enable Lyra stack traces for libc++ arm64 -#if !defined(__aarch64__) if (enableBacktraces.load(std::memory_order_relaxed)) { std::lock_guard lock(*get_exception_state_map_mutex()); get_exception_state_map()->emplace( obj, ExceptionState{ExceptionTraceHolder(), destructor}); } -#endif original_cxa_throw(obj, type, trace_destructor); }