New issue
Advanced search Search tips

Issue 924121 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug



Sign in to add a comment

Linker failure on mac asan due to not included libc++abi sources.

Project Member Reported by yvesg@google.com, Today (16 hours ago)

Issue description

What steps will reproduce the problem?
(0) fetch webrtc && cd webrtc/src
(1) gn args out/mac_asan
dcheck_always_on = true
ffmpeg_branding = "Chrome"
is_asan = true
is_clang = true
is_debug = false
rtc_use_h264 = true
target_cpu = "x64"
(2) ninja -C out/mac_asan

What is the expected result?
Build flawlessly.

What happens instead?
Linker error:
  "___cxa_current_primary_exception", referenced from:
      std::nested_exception::nested_exception() in exception.o
      std::current_exception() in exception.o
      std::nested_exception::nested_exception() in exception.o
  "___cxa_decrement_exception_refcount", referenced from:
      std::exception_ptr::~exception_ptr() in exception.o
      std::exception_ptr::~exception_ptr() in exception.o
      std::exception_ptr::operator=(std::exception_ptr const&) in exception.o
      std::nested_exception::~nested_exception() in exception.o
      std::nested_exception::~nested_exception() in exception.o
      std::nested_exception::~nested_exception() in exception.o
      std::nested_exception::rethrow_nested() const in exception.o
      ...
  "___cxa_increment_exception_refcount", referenced from:
      std::exception_ptr::exception_ptr(std::exception_ptr const&) in exception.o
      std::exception_ptr::exception_ptr(std::exception_ptr const&) in exception.o
      std::exception_ptr::operator=(std::exception_ptr const&) in exception.o
      std::nested_exception::rethrow_nested() const in exception.o
  "___cxa_rethrow_primary_exception", referenced from:
      std::rethrow_exception(std::exception_ptr) in exception.o
  "___cxa_uncaught_exceptions", referenced from:
      std::uncaught_exception() in exception.o
      std::uncaught_exceptions() in exception.o
ld: symbol(s) not found for architecture x86_64


Or just check mac_asan bot here: https://webrtc-review.googlesource.com/c/src/+/118480/

Please use labels and text to provide additional information.

It appeared since: "Switch Mac to in-tree libc++ builds" https://chromium-review.googlesource.com/c/chromium/src/+/1396842

It appears libc++abi source_set isn't pulled, export_libcxxabi_from_executables being set to true.
We haven't managed to get a good grasp of this variable. For instance, why is it set for is_asan but not is_msan or is_tsan?

Nb: this is on webrtc checkout, where we don't use component build.
 

Comment 1 by yvesg@google.com, Today (16 hours ago)

Description: Show this description

Comment 2 by yvesg@google.com, Today (16 hours ago)

Description: Show this description

Sign in to add a comment