MSAN and ubuntu2404

Hi, We are trying to get MSAN working with ubuntu2404. As soon as we start building/running things with msan, we die in initialization. Our current suspicion is that u24 changed to _FORTIFY_SOURCE=3 for all the libraries, including glibc.
Has anyone else been working on this?

(note, all this worked fine with the build without msan)
here is the cmake command to build things with msan:
cmake -G “Unix Makefiles” -DCMAKE_BUILD_TYPE=Release -DCMAKE_ASM_COMPILER=/home/ir/bld_linux/iridium/tools/llvm/stage3-18/bin/clang -DCMAKE_C_COMPILER=/home/ir/bld_linux/iridium/tools/llvm/stage3-18/bin/clang -DCMAKE_C_FLAGS=“-v -rtlib=compiler-rt -resource-dir=/home/ir/bld_linux/iridium/tools/llvm/stage3-18/lib/clang/18 -Wno-zero-length-array -Wno-unused-variable -Wno-#warnings -Wno-unused-command-line-argument -Qunused-arguments -std=c11” -DCMAKE_CXX_COMPILER=/home/ir/bld_linux/iridium/tools/llvm/stage3-18/bin/clang++ -DCMAKE_CXX_FLAGS=“-v -rtlib=compiler-rt -resource-dir=/home/ir/bld_linux/iridium/tools/llvm/stage3-18/lib/clang/18 -Wno-zero-length-array -Wno-unused-variable -Wno-#warnings -Wno-unused-command-line-argument -Qunused-arguments -std=c++11” -DCMAKE_EXE_LINKER_FLAGS=“-lc++ -lc++abi -Wl,-v -Wl,-melf_x86_64 -Wl,–disable-new-dtags -Wl,-rpath=/usr/local/compilers/clang18/msanlib” -DCMAKE_HAVE_THREADS_LIBRARY=1 -DCMAKE_MODULE_LINKER_FLAGS=“-lc++ -lc++abi -Wl,-v -Wl,-melf_x86_64 -Wl,–disable-new-dtags -Wl,-rpath=/usr/local/compilers/clang18/msanlib” -DCMAKE_SHARED_LINKER_FLAGS=“-lc++ -lc++abi -Wl,-v -Wl,-melf_x86_64 -Wl,–disable-new-dtags -Wl,-rpath=/usr/local/compilers/clang18/msanlib” -DCMAKE_THREAD_LIBS_INIT=-lpthread -DCMAKE_USE_PTHREADS_INIT=1 -DCLANG_DEFAULT_CXX_STDLIB=libc++ -DCLANG_DEFAULT_RTLIB=compiler-rt -DCLANG_DEFAULT_LINKER=lld -DCLANG_DEFAULT_UNWINDLIB=libunwind -DCOMPILER_RT_BUILD_BUILTINS=ON -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=x86_64-linux-gnu -DCOMPILER_RT_ENABLE_STATIC_UNWINDER=ON -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON -DCOMPILER_RT_USE_LIBCXX=ON -DCOMPILER_RT_USE_LLVM_UNWINDER=ON -DLIBCXX_CXX_ABI=libcxxabi -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON -DLIBCXX_USE_COMPILER_RT=ON -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON -DLIBCXXABI_USE_LLVM_UNWINDER=ON -DLIBCXXABI_USE_COMPILER_RT=ON -DLIBUNWIND_ENABLE_SHARED=ON -DLIBUNWIND_USE_COMPILER_RT=ON -DLIBCXX_CXX_ABI=libcxxabi -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON -DLIBCXX_USE_COMPILER_RT=ON -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON -DLIBCXXABI_USE_COMPILER_RT=ON -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-linux-gnu -DLLVM_ENABLE_BINDINGS=OFF -DLLVM_ENABLE_LIBCXX=ON -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF -DLLVM_ENABLE_TERMINFO=OFF -DLLVM_LINK_LLVM_DYLIB=ON -DLLVM_TABLEGEN=/home/ir/bld_linux/iridium/tools/llvm/stage3-18/bin/llvm-tblgen -DLLVM_TARGETS_TO_BUILD=“X86” -DLLVM_USE_LINKER=lld -DLLVM_SYMBOLIZER_PATH=/home/ir/bld_linux/iridium/tools/llvm/stage3-18/bin/llvm-symbolizer -DLLVM_USE_SANITIZER=MemoryWithOrigins -DTHREADS_PREFER_PTHREAD_FLAG=ON -DLLVM_ENABLE_PROJECTS=“llvm;clang” -DLLVM_ENABLE_RUNTIMES=“libcxxabi;libcxx” -DCMAKE_INSTALL_PREFIX=/home/ir/bld_linux/iridium/tools/llvm/msan-18 “…/llvm”

[ 23%] Building Attrs.inc…
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var LLVM_SYMBOLIZER_PATH to point to it):
0 clang-tblgen 0x0000558ee5607398 __interceptor_backtrace + 184
1 clang-tblgen 0x0000558ee5b3104f
2 clang-tblgen 0x0000558ee5b28e18
3 clang-tblgen 0x0000558ee5b33141
4 clang-tblgen 0x0000558ee56359bb
5 libc.so.6 0x00007fefd24cf900
6 libc.so.6 0x00007fefd252698b pthread_kill + 283
7 libc.so.6 0x00007fefd24cf856 raise + 22
8 libc.so.6 0x00007fefd24b38b7 abort + 215
9 clang-tblgen 0x0000558ee564ed87
10 clang-tblgen 0x0000558ee564da91
11 clang-tblgen 0x0000558ee55dd853
12 clang-tblgen 0x0000558ee573ac6a
13 clang-tblgen 0x0000558ee5696973
14 clang-tblgen 0x0000558ee5693d69
15 clang-tblgen 0x0000558ee5a26933
16 clang-tblgen 0x0000558ee5b5786e
17 clang-tblgen 0x0000558ee5a26582
18 libc.so.6 0x00007fefd24b50d0
19 libc.so.6 0x00007fefd24b5189 __libc_start_main + 137
20 clang-tblgen 0x0000558ee55dcd85
PLEASE submit a bug report to Issues · llvm/llvm-project · GitHub and include the crash backtrace.
Stack dump:
0. Program arguments: …/…/…/…/…/bin/clang-tblgen -gen-clang-attr-classes -I /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/clang/include/clang/AST -I/home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/clang/include -I/home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/build-msan/tools/clang/include -I/home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/build-msan/include -I/home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/llvm/include /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/clang/include/clang/AST/…/Basic/Attr.td --write-if-changed -o /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/build-msan/tools/clang/include/clang/AST/Attrs.inc
Aborted

With the prior stage symbolizer defined:
ir@mcib-ubuntu2404-build:~/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/build-msan/tools/clang/include/clang/AST$ LLVM_SYMBOLIZER_PATH=…/…/…/…/…/…/build-stage3/bin/llvm-symbolizer …/…/…/…/…/bin/clang-tblgen -gen-clang-attr-classes -I /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/clang/include/clang/AST -I/home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/clang/include -I/home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/build-msan/tools/clang/include -I/home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/build-msan/include -I/home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/llvm/include /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/clang/include/clang/AST/…/Basic/Attr.td --write-if-changed -o /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/build-msan/tools/clang/ir@mcib-ubuntu2404-build:~/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/build-msan/tools/clang/include/clang/AST$ LLVM_SYMBOLIZER_P[6/1937$
./…/…/…/…/build-stage3/bin/llvm-symbolizer …/…/…/…/…/bin/clang-tblgen -gen-clang-attr-classes -I /home/ir/bld_linux/iridium/tools/llvm/llv
m-project-18.1.2.src/clang/include/clang/AST -I/home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/clang/include -I/home/ir/bld_linux/iri
dium/tools/llvm/llvm-project-18.1.2.src/build-msan/tools/clang/include -I/home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/build-msan/i
nclude -I/home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/llvm/include /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/c
lang/include/clang/AST/…/Basic/Attr.td --write-if-changed -o /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/build-msan/tools/clang/
include/clang/AST/Attrs.inc
#0 0x000055787668f398 ___interceptor_backtrace /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/compiler-rt/lib/msan/…/sanitizer_common/sanitizer_common_interceptors.inc:4358:13
#1 0x0000557876bb904f llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/llvm/lib/Support/Unix/Signals.inc:723:13
#2 0x0000557876bb0e18 llvm::sys::RunSignalHandlers() /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/llvm/lib/Support/Signals.cpp:0:5
#3 0x0000557876bbb141 SignalHandler(int) /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/llvm/lib/Support/Unix/Signals.inc:413:1
#4 0x00005578766bd9bb ~ScopedThreadLocalStateBackup /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/compiler-rt/lib/msan/msan.h:339:37
#5 0x00005578766bd9bb SignalHandler(int) /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/compiler-rt/lib/msan/msan_interceptors.cpp:1128:1
#6 0x00007fd043767900 (/lib/x86_64-linux-gnu/libc.so.6+0x42900)
#7 0x00007fd0437be98b __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#8 0x00007fd0437be98b __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#9 0x00007fd0437be98b pthread_kill ./nptl/pthread_kill.c:89:10
#10 0x00007fd043767856 gsignal ./signal/…/sysdeps/posix/raise.c:27:6
#11 0x00007fd04374b8b7 abort ./stdlib/abort.c:81:7
#12 0x00005578766d6d87 (…/…/…/…/…/bin/clang-tblgen+0x142d87)
#13 0x00005578766d5a91 (…/…/…/…/…/bin/clang-tblgen+0x141a91)
#14 0x0000557876665853 (…/…/…/…/…/bin/clang-tblgen+0xd1853)
#15 0x00005578767c2c6a __is_long /home/ir/bld_linux/iridium/tools/llvm/stage3-18/bin/…/include/c++/v1/string:1773:12
#16 0x00005578767c2c6a __get_pointer /home/ir/bld_linux/iridium/tools/llvm/stage3-18/bin/…/include/c++/v1/string:1883:12
#17 0x00005578767c2c6a data /home/ir/bld_linux/iridium/tools/llvm/stage3-18/bin/…/include/c++/v1/string:1597:30
#18 0x00005578767c2c6a append /home/ir/bld_linux/iridium/tools/llvm/stage3-18/bin/…/include/c++/v1/string:1269:25
#19 0x00005578767c2c6a operator+= /home/ir/bld_linux/iridium/tools/llvm/stage3-18/bin/…/include/c++/v1/string:1240:12
#20 0x00005578767c2c6a CreateSemanticSpellings(std::__1::vector<(anonymous namespace)::FlattenedSpelling, std::__1::allocator<(anonymous namespace)::FlattenedSpelling>> const&, std::__1::map<unsigned int, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>, std::__1::less, std::__1::allocator<std::__1::pair<unsigned int const, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>>&) /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/clang/utils/TableGen/ClangAttrEmitter.cpp:1807:9
#21 0x000055787671e973 __is_long /home/ir/bld_linux/iridium/tools/llvm/stage3-18/bin/…/include/c++/v1/string:1773:29
#22 0x000055787671e973 __move_assign /home/ir/bld_linux/iridium/tools/llvm/stage3-18/bin/…/include/c++/v1/string:2570:7
#23 0x000055787671e973 operator= /home/ir/bld_linux/iridium/tools/llvm/stage3-18/bin/…/include/c++/v1/string:1127:5
#24 0x000055787671e973 emitAttributes(llvm::RecordKeeper&, llvm::raw_ostream&, bool) /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/clang/utils/TableGen/ClangAttrEmitter.cpp:2623:20
#25 0x000055787671bd69 operator<< /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/llvm/include/llvm/Support/raw_ostream.h:216:25
#26 0x000055787671bd69 operator<< /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/llvm/include/llvm/Support/raw_ostream.h:244:18
#27 0x000055787671bd69 clang::EmitClangAttrClass(llvm::RecordKeeper&, llvm::raw_ostream&) /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/clang/utils/TableGen/ClangAttrEmitter.cpp:2996:6
#28 0x0000557876aae933 (anonymous namespace)::ClangTableGenMain(llvm::raw_ostream&, llvm::RecordKeeper&) /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/clang/utils/TableGen/TableGen.cpp:0:5
#29 0x0000557876bdf86e operator() /home/ir/bld_linux/iridium/tools/llvm/stage3-18/bin/…/include/c++/v1/__functional/function.h:428:12
#30 0x0000557876bdf86e operator() /home/ir/bld_linux/iridium/tools/llvm/stage3-18/bin/…/include/c++/v1/__functional/function.h:981:10
#31 0x0000557876bdf86e llvm::TableGenMain(char const*, std::__1::function<bool (llvm::raw_ostream&, llvm::RecordKeeper&)>) /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/llvm/lib/TableGen/Main.cpp:138:14
#32 0x0000557876aae582 main /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/clang/utils/TableGen/TableGen.cpp:0:10
#33 0x00007fd04374d0d0 __libc_start_call_main ./csu/…/sysdeps/nptl/libc_start_call_main.h:74:3
#34 0x00007fd04374d189 call_init ./csu/…/csu/libc-start.c:128:20
#35 0x00007fd04374d189 __libc_start_main ./csu/…/csu/libc-start.c:347:5
#36 0x0000557876664d85 _start (…/…/…/…/…/bin/clang-tblgen+0xd0d85)
PLEASE submit a bug report to Issues · llvm/llvm-project · GitHub and include the crash backtrace.
Stack dump:
0. Program arguments: …/…/…/…/…/bin/clang-tblgen -gen-clang-attr-classes -I /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/clang/include/clang/AST -I/home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/clang/include -I/home/ir/bld_linux/iridium/tools/llvm/llvm
-project-18.1.2.src/build-msan/tools/clang/include -I/home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/build-msan/include -I/home/ir/bl
d_linux/iridium/tools/llvm/llvm-project-18.1.2.src/llvm/include /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/clang/include/clang/A
ST/…/Basic/Attr.td --write-if-changed -o /home/ir/bld_linux/iridium/tools/llvm/llvm-project-18.1.2.src/build-msan/tools/clang/include/clang/AST/At
trs.inc
Aborted

Sigh, this is not a u24 problem. After some more testing, I reproduced this on u22. Sorry for the fire drill.