asan_memory_profile: Fix for deadlock in memory profiler code.
authorSanjeet Karan Singh <ssingh6@ciena.com>
Tue, 4 Apr 2023 22:17:29 +0000 (15:17 -0700)
committerVitaly Buka <vitalybuka@google.com>
Tue, 4 Apr 2023 23:41:44 +0000 (16:41 -0700)
commit42fc9929ab591fe0aefdbaad529fe5087293c641
treefe36c49e23e3c7305e86094b675b0028fafb3b01
parenta78997e0aa89250a193ff036e7c6e71562e03222
asan_memory_profile: Fix for deadlock in memory profiler code.

Calling symbolization directly from stopTheWorld was causing deadlock.
For libc dep systems, symbolization uses dl_iterate_phdr, which acquire a
dl write lock. It could deadlock if the lock is already acquired by one of
suspended.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D146990
compiler-rt/lib/asan/asan_memory_profile.cpp