New issue
Advanced search Search tips

Issue 827625 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

Crashpad Linux bots are broken

Project Member Reported by mark@chromium.org, Mar 30 2018

Issue description

Since

https://build.chromium.org/p/client.crashpad/builders/crashpad_linux_dbg/builds/29
and
https://build.chromium.org/p/client.crashpad/builders/crashpad_linux_rel/builds/31

(Meaning that 28 and 30 were OK. These are builders, but the trybots are affected too.)

the Linux bots aren’t linking anything successfully.

https://build.chromium.org/p/client.crashpad/builders/crashpad_linux_dbg/builds/38/steps/compile%20with%20ninja/logs/stdio

ninja: Entering directory `/b/build/slave/crashpad_linux_dbg/build/crashpad/out/Debug'
[1/117] LINK ./crashpad_test_test_multiprocess_exec_test_child
FAILED: crashpad_test_test_multiprocess_exec_test_child 
../../third_party/linux/clang/linux-amd64/bin/clang++ -static-libstdc++ -Wl,--as-needed -Wl,-z,noexecstack --sysroot=../../third_party/linux/sysroot -pthread -pie -o "./crashpad_test_test_multiprocess_exec_test_child" -Wl,--start-group obj/test/crashpad_test_test_multiprocess_exec_test_child.multiprocess_exec_test_child.o obj/third_party/mini_chromium/mini_chromium/base/libbase.a  -Wl,--end-group 
/b/build/slave/crashpad_linux_dbg/build/crashpad/out/Debug/../../third_party/linux/clang/linux-amd64/bin/ld.lld: error: unable to find library -lc++
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)

Based on the discussion last month at https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/939731, we intend to use libstdc++ on our own bots, not libc++. Did we recently wind up picking up a new clang that defaults to libc++ instead of libstdc++? Our sysroot might not have this.
 
It does seem that it's defaulting to libc++ now, though I didn't track down where clang changed that. I tried adding this:

        "-stdlib=libstdc++",

to the ldflags, but then I just get a bunch of junk about basic_string missing, so maybe that's not really doing what I think it's doing.

https://gist.github.com/sgraham/5e5118f516e2a7d56c41c970324b4044

(We also need to switch the bot args after the renaming of enable_http_transport_libcurl to crashpad_enable_http_transport_libcurl.)
Oh, and yes, we probably just magically got a new clang. Unfortunately (?) I didn't pin the Fuchsia SDK or the clang binaries, so we just get whatever the latest cipd package is.

I was trying to avoid having to do a lot of fiddling with rolls, but maybe it's more aggravating to have things sneakily break.
Owner: scottmg@chromium.org
Status: Started (was: Untriaged)
Oh, of course it needs to be in cflags too. With that we're closer https://gist.github.com/sgraham/c0e0cd217b448d63f1c6588caccf3774 but I guess there's something else related to unwinding that's changed recently too.
https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/996452 seems to work? I don't really know what I'm doing.
Status: Fixed (was: Started)
Compile fixed by these:

https://chromium.googlesource.com/chromium/tools/build/+/9e60476345958dc5b43124a5028b8f27ec0555d0

https://chromium.googlesource.com/chromium/mini_chromium/+/6e0fdb2e4966ec44b1ce7b8464fd7c80d1b59203

https://chromium.googlesource.com/crashpad/crashpad.git/+/ba0bd63254a7dd1dd059380e2746f79832815b5d

crashapd_handler_test --gtest_filter=ExceptionHandlerServerTest.RequestCrashDumpForkBroker is failing at runtime. That's also failing in the same way when run locally for me, so I think the bot part of this is fixed.

Sign in to add a comment