ToT Linux ASan Fuzzer bot fails to link libc++abi symbols |
||
Issue descriptionFirst failing build: https://ci.chromium.org/buildbot/chromium.clang/ToTLinuxASanLibfuzzer/648 Previous green build: https://ci.chromium.org/buildbot/chromium.clang/ToTLinuxASanLibfuzzer/647 These are the gn args: clang_use_chrome_plugins = false enable_nacl = false ffmpeg_branding = "ChromeOS" is_asan = true is_clang = true is_debug = false llvm_force_head_revision = true pdf_enable_xfa = true proprietary_codecs = true use_libfuzzer = true This is the link error: [10718/46239] LINK ./modetest FAILED: modetest python "../../build/toolchain/gcc_link_wrapper.py" --output="./modetest" -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -fuse-ld=lld -m64 -Werror -Wl,-O2 -Wl,--gc-sections -Wl,--fatal-warnings -nostdlib++ --sysroot=../../build/linux/debian_sid_amd64-sysroot -L../../build/linux/debian_sid_amd64-sysroot/usr/local/lib/x86_64-linux-gnu -Wl,-rpath-link=../../build/linux/debian_sid_amd64-sysroot/usr/local/lib/x86_64-linux-gnu -L../../build/linux/debian_sid_amd64-sysroot/lib/x86_64-linux-gnu -Wl,-rpath-link=../../build/linux/debian_sid_amd64-sysroot/lib/x86_64-linux-gnu -L../../build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu -Wl,-rpath-link=../../build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=leak -fsanitize-coverage=trace-pc-guard -Wl,-rpath-link=. -Wl,--disable-new-dtags -Wl,-rpath=\$ORIGIN/. -Wl,-rpath-link=. -o "./modetest" -Wl,--start-group @"./modetest.rsp" -Wl,--end-group -ldl -lpthread -lrt /b/c/b/ToTLinuxASanLibfuzzer/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld: error: undefined symbol: typeinfo for __cxxabiv1::__si_class_type_info >>> referenced by ubsan_type_hash_itanium.cc:163 (/b/c/b/ToTLinuxASanLibfuzzer/src/third_party/llvm/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cc:163) >>> ubsan_type_hash_itanium.cc.o:(findBaseAtOffset(__cxxabiv1::__class_type_info const*, long)) in archive /b/c/b/ToTLinuxASanLibfuzzer/src/third_party/llvm-build/Release+Asserts/lib/clang/7.0.0/lib/linux/libclang_rt.asan_cxx-x86_64.a /b/c/b/ToTLinuxASanLibfuzzer/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld: error: undefined symbol: typeinfo for __cxxabiv1::__class_type_info >>> referenced by ubsan_type_hash_itanium.cc:163 (/b/c/b/ToTLinuxASanLibfuzzer/src/third_party/llvm/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cc:163) >>> ubsan_type_hash_itanium.cc.o:(findBaseAtOffset(__cxxabiv1::__class_type_info const*, long)) in archive /b/c/b/ToTLinuxASanLibfuzzer/src/third_party/llvm-build/Release+Asserts/lib/clang/7.0.0/lib/linux/libclang_rt.asan_cxx-x86_64.a /b/c/b/ToTLinuxASanLibfuzzer/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld: error: undefined symbol: __dynamic_cast The missing symbols are "__dynamic_cast" and "typeinfo for __cxxabiv1::__class_type_info", which are typically provided by libc++abi. These are built with ASan instrumentation as part of the Chromium build and it is statically linked into libc++.so. I was not able to reproduce this build failure locally, so I must be holding something wrong.
,
Mar 21 2018
I think I fixed this earlier today with https://chromium-review.googlesource.com/972046 Sorry, I should have cc'd more people.
,
Mar 21 2018
Got it, that's why I couldn't repro, it was fixed. :) Looks like the bot has been building for 8 hours: https://ci.chromium.org/buildbot/chromium.clang/ToTLinuxASanLibfuzzer/656 It has already successfully linked modetest, so I will close this. |
||
►
Sign in to add a comment |
||
Comment 1 by thakis@chromium.org
, Mar 21 2018