New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 706429 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 714769



Sign in to add a comment

gdb-index + ThinLTO fail on tls_edit

Project Member Reported by krasin@chromium.org, Mar 29 2017

Issue description

Chrome Version: tip
OS: Linux x86-64

What steps will reproduce the problem?
(1) Revert https://codereview.chromium.org/2786603003/
(2) Configure the build with LLVM ToT toolchain and the following gn flags:

allow_posix_link_time_opt = true
clang_use_chrome_plugins = false
is_clang = true
is_component_build = false
is_debug = false
symbol_level = 2
use_lld = true
use_thin_lto = true

(3) Build tls_edit:


[3010/35128] LINK ./tls_edit
FAILED: tls_edit 
python "../../build/toolchain/gcc_link_wrapper.py" --output="./tls_edit" -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--no-as-needed -lpthread -Wl,--as-needed -fuse-ld=lld -Wl,--icf=all -flto=thin -Wl,--thinlto-jobs=8 -Wl,--thinlto-cache-dir=thinlto-cache -Wl,-plugin-opt,-function-sections -m64 -pthread -Werror -Wl,-O1 -Wl,--gc-sections -Wl,--gdb-index --sysroot=../../build/linux/debian_wheezy_amd64-sysroot -L/b/c/b/ThinLTO_Linux_ToT/src/build/linux/debian_wheezy_amd64-sysroot/lib/x86_64-linux-gnu -Wl,-rpath-link=/b/c/b/ThinLTO_Linux_ToT/src/build/linux/debian_wheezy_amd64-sysroot/lib/x86_64-linux-gnu -L/b/c/b/ThinLTO_Linux_ToT/src/build/linux/debian_wheezy_amd64-sysroot/usr/lib/x86_64-linux-gnu -Wl,-rpath-link=/b/c/b/ThinLTO_Linux_ToT/src/build/linux/debian_wheezy_amd64-sysroot/usr/lib/x86_64-linux-gnu -L/b/c/b/ThinLTO_Linux_ToT/src/build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6 -Wl,-rpath-link=/b/c/b/ThinLTO_Linux_ToT/src/build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6 -L/b/c/b/ThinLTO_Linux_ToT/src/build/linux/debian_wheezy_amd64-sysroot/usr/lib -Wl,-rpath-link=/b/c/b/ThinLTO_Linux_ToT/src/build/linux/debian_wheezy_amd64-sysroot/usr/lib -Wl,-rpath-link=. -Wl,--disable-new-dtags -o "./tls_edit" -Wl,--start-group @"./tls_edit.rsp"  -Wl,--end-group  -ldl -lrt 
Warning: request a ThreadPool with 8 threads, but LLVM_ENABLE_THREADS has been turned off
#0 0x000000000051dcda llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/b/c/b/ThinLTO_Linux_ToT/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld+0x51dcda)
#1 0x000000000051bc6e llvm::sys::RunSignalHandlers() (/b/c/b/ThinLTO_Linux_ToT/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld+0x51bc6e)
#2 0x000000000051bdd2 SignalHandler(int) (/b/c/b/ThinLTO_Linux_ToT/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld+0x51bdd2)
#3 0x00007fc6d27a2330 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x10330)
#4 0x000000000061de79 lld::elf::GdbIndexSection::writeTo(unsigned char*) (/b/c/b/ThinLTO_Linux_ToT/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld+0x61de79)
#5 0x000000000060635f void lld::elf::OutputSection::writeTo<llvm::object::ELFType<(llvm::support::endianness)1, true> >(unsigned char*) (/b/c/b/ThinLTO_Linux_ToT/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld+0x60635f)
#6 0x0000000000686dfb void lld::elf::writeResult<llvm::object::ELFType<(llvm::support::endianness)1, true> >() (/b/c/b/ThinLTO_Linux_ToT/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld+0x686dfb)
#7 0x00000000005a78c8 void lld::elf::LinkerDriver::link<llvm::object::ELFType<(llvm::support::endianness)1, true> >(llvm::opt::InputArgList&) (/b/c/b/ThinLTO_Linux_ToT/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld+0x5a78c8)
#8 0x00000000004ab90d lld::elf::LinkerDriver::main(llvm::ArrayRef<char const*>, bool) (/b/c/b/ThinLTO_Linux_ToT/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld+0x4ab90d)
#9 0x00000000005a8c37 lld::elf::link(llvm::ArrayRef<char const*>, bool, llvm::raw_ostream&) (/b/c/b/ThinLTO_Linux_ToT/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld+0x5a8c37)
#10 0x00000000004a9a3c main (/b/c/b/ThinLTO_Linux_ToT/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld+0x4a9a3c)
#11 0x00007fc6d137ef45 __libc_start_main /build/eglibc-MjiXCM/eglibc-2.19/csu/libc-start.c:321:0
#12 0x000000000050d932 _start (/b/c/b/ThinLTO_Linux_ToT/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld+0x50d932)
Stack dump:
0.	Program arguments: /b/c/b/ThinLTO_Linux_ToT/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld --sysroot=../../build/linux/debian_wheezy_amd64-sysroot -z relro --hash-style=gnu --build-id --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o ./tls_edit ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crti.o ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/crtbegin.o -L/b/c/b/ThinLTO_Linux_ToT/src/build/linux/debian_wheezy_amd64-sysroot/lib/x86_64-linux-gnu -L/b/c/b/ThinLTO_Linux_ToT/src/build/linux/debian_wheezy_amd64-sysroot/usr/lib/x86_64-linux-gnu -L/b/c/b/ThinLTO_Linux_ToT/src/build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6 -L/b/c/b/ThinLTO_Linux_ToT/src/build/linux/debian_wheezy_amd64-sysroot/usr/lib -L../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6 -L../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu -L../../build/linux/debian_wheezy_amd64-sysroot/lib/x86_64-linux-gnu -L../../build/linux/debian_wheezy_amd64-sysroot/lib/../lib64 -L../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/x86_64-linux-gnu -L../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../.. -L../../build/linux/debian_wheezy_amd64-sysroot/lib -L../../build/linux/debian_wheezy_amd64-sysroot/usr/lib -plugin /b/c/b/ThinLTO_Linux_ToT/src/third_party/llvm-build/Release+Asserts/bin/../lib/LLVMgold.so -plugin-opt=mcpu=x86-64 -plugin-opt=thinlto --fatal-warnings -z noexecstack -z now -z relro -z defs --no-as-needed -lpthread --as-needed --icf=all --thinlto-jobs=8 --thinlto-cache-dir=thinlto-cache -plugin-opt -function-sections -O1 --gc-sections --gdb-index -rpath-link=/b/c/b/ThinLTO_Linux_ToT/src/build/linux/debian_wheezy_amd64-sysroot/lib/x86_64-linux-gnu -rpath-link=/b/c/b/ThinLTO_Linux_ToT/src/build/linux/debian_wheezy_amd64-sysroot/usr/lib/x86_64-linux-gnu -rpath-link=/b/c/b/ThinLTO_Linux_ToT/src/build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6 -rpath-link=/b/c/b/ThinLTO_Linux_ToT/src/build/linux/debian_wheezy_amd64-sysroot/usr/lib -rpath-link=. --disable-new-dtags --start-group obj/native_client/src/tools/tls_edit/tls_edit/tls_edit.o obj/native_client/src/shared/platform/libplatform.a obj/native_client/src/trusted/validator_ragel/librdfa_validator.a obj/native_client/src/shared/gio/libgio.a --end-group -ldl -lrt -lstdc++ -lm -lgcc_s -lgcc -lpthread -lc -lgcc_s -lgcc ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/crtend.o ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crtn.o 
clang-5.0: error: unable to execute command: Segmentation fault (core dumped)
clang-5.0: error: linker command failed due to signal (use -v to see invocation)

The issue has been observed by a few ThinLTO ToT bots:
https://build.chromium.org/p/chromium.fyi/builders/ThinLTO%20Linux%20ToT/builds/1365
https://build.chromium.org/p/chromium.fyi/builders/CFI%20ThinLTO%20Linux%20ToT/builds/153

It's unclear if the stable toolchain is affected, as we don't have enough data for that.

I do not promise that I will work on the bug, but I will at least take a closer look at the crash and possibly create a standalone reproducer.

This bug is not high in the list of my priorities, though.
 

Comment 1 by p...@chromium.org, Mar 29 2017

Cc: ruiu@google.com
The --gdb-index support in LLD appears to be actively being worked on, so the situation may improve by itself soon.

Comment 2 by p...@chromium.org, May 14 2017

Owner: p...@chromium.org
Reduced to LLVM bug https://bugs.llvm.org/show_bug.cgi?id=33032

Comment 3 by p...@chromium.org, May 14 2017

Sent https://reviews.llvm.org/D33175 and https://reviews.llvm.org/D33176 which let me link chrome with the build settings mentioned in this bug.

Comment 4 by p...@chromium.org, May 15 2017

Blockedon: 714769
Both fixes have landed in LLVM as of r303089, so this is blocked on the next clang roll.

Comment 5 by mmoroz@chromium.org, May 18 2017

Cc: mmoroz@chromium.org
FYI, r303273 has been rolled as per https://codereview.chromium.org/2884383004

Comment 6 by p...@chromium.org, Jun 20 2017

There is at least one remaining issue with --gdb-index, see  issue 735101 .

Sign in to add a comment