mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-24 20:00:12 +01:00
Ran into this trying to debug #5428 Before: ``` lex.cpp:793:21: runtime error: null pointer passed as argument 1, which is declared to never be null string.h:90:51: note: nonnull attribute specified here SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior lex.cpp:793:21 ``` After: ``` lex.cpp:793:21: runtime error: null pointer passed as argument 1, which is declared to never be null string.h:90:51: note: nonnull attribute specified here #0 0x5572db22a680 in Carbon::Lex::Lexer::MakeLines(llvm::StringRef) /proc/self/cwd/toolchain/lex/lex.cpp:793:14 #1 0x5572db227ee4 in Lex /proc/self/cwd/toolchain/lex/lex.cpp:738:3 (etc) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior lex.cpp:793:21 ``` Interestingly, even though this is labelled as UB, it's using the ASAN_SYMBOLIZER_PATH (specifically not LLVM_SYMBOLIZER_PATH). But canonically UBSAN_SYMBOLIZER_PATH may also be used per https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/ubsan/ubsan_flags.cpp#L53, so I'm adding it to the list out of an excess of caution. Also doing some small related cleanup: - Removing `ASAN_SYMBOLIZER_PATH` from `--test_env` because it should now be getting overridden by these settings (also was a little inconsistent in that `LLVM_SYMBOLIZER_PATH` was not included). - Improving the environment construction and documentation.