[Lldb-commits] [lldb] [lldb][lit] Add MallocNanoZone envvar to Darwin ASan builds (PR #88431)

Chelsea Cassanova via lldb-commits lldb-commits at lists.llvm.org
Thu Apr 11 12:56:51 PDT 2024


https://github.com/chelcassanova created https://github.com/llvm/llvm-project/pull/88431

When builds on Darwin are configured with ASan, running tests will emit a warning about malloc's nano zone that can interfere with the test output and cause failures. Setting the environment variable `MallocNanoZone` to 0 will remove this warning and allow the tests to run as normal.

>From 13184a3e7da4972feb6fc73878303301b8aa739d Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: Thu, 11 Apr 2024 11:06:52 -0700
Subject: [PATCH] [lldb][lit] Add MallocNanoZone envvar to Darwin ASan builds

When builds are Darwin are configured with ASan, running tests will emit
a warning that can interfere with the test output and cause failures.
Setting the environment variable `MallocNanoZone` to 0 will remove this
warning and allow the tests to run as normal.
---
 lldb/test/API/lit.cfg.py   | 1 +
 lldb/test/Shell/lit.cfg.py | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/lldb/test/API/lit.cfg.py b/lldb/test/API/lit.cfg.py
index f9497b632fc504..9ea389c639a013 100644
--- a/lldb/test/API/lit.cfg.py
+++ b/lldb/test/API/lit.cfg.py
@@ -121,6 +121,7 @@ def delete_module_cache(path):
             config.environment["DYLD_INSERT_LIBRARIES"] = find_sanitizer_runtime(
                 "libclang_rt.asan_osx_dynamic.dylib"
             )
+            config.environment["MallocNanoZone"] = "0"
 
     if "Thread" in config.llvm_use_sanitizer:
         config.environment["TSAN_OPTIONS"] = "halt_on_error=1"
diff --git a/lldb/test/Shell/lit.cfg.py b/lldb/test/Shell/lit.cfg.py
index 31afe5151c0661..345627835d2bf2 100644
--- a/lldb/test/Shell/lit.cfg.py
+++ b/lldb/test/Shell/lit.cfg.py
@@ -52,6 +52,8 @@
 # Enable sanitizer runtime flags.
 config.environment["ASAN_OPTIONS"] = "detect_stack_use_after_return=1"
 config.environment["TSAN_OPTIONS"] = "halt_on_error=1"
+if "Darwin" in config.host_os:
+    config.environment["MallocNanoZone"] = "0"
 
 # Support running the test suite under the lldb-repro wrapper. This makes it
 # possible to capture a test suite run and then rerun all the test from the



More information about the lldb-commits mailing list