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

Issue 708104 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Linux ARM64 Debug build broken

Project Member Reported by kjellander@chromium.org, Apr 4 2017

Issue description

It appears that Linux ARM64 Debug builds are broken for Chromium (this config is not covered by any bots).

I can repro like this:

$ gn gen out/linux-arm64-debug --args='is_debug=true target_cpu="arm64" use_goma=true'
Done. Made 5421 targets from 1219 files in 1044ms

$ ninja -C out/linux-arm64-debug/ base_unittests
ninja: Entering directory `out/linux-arm64-debug/'
[6/801] SOLINK ./libtest_shared_library.so
FAILED: libtest_shared_library.so libtest_shared_library.so.TOC 
python "/usr/local/google/home/kjellander/src/chrome/src/build/toolchain/gcc_solink_wrapper.py" --readelf="aarch64-linux-gnu-readelf" --nm="aarch64-linux-gnu-nm" --sofile="./libtest_shared_library.so" --tocfile="./libtest_shared_library.so.TOC" --output="./libtest_shared_library.so"  -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -shared -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--no-as-needed -lpthread -Wl,--as-needed --target=aarch64-linux-gnu -pthread -Werror -Wl,--gdb-index --sysroot=../../build/linux/debian_jessie_arm64-sysroot -L/usr/local/google/home/kjellander/src/chrome/src/build/linux/debian_jessie_arm64-sysroot/lib/aarch64-linux-gnu -Wl,-rpath-link=/usr/local/google/home/kjellander/src/chrome/src/build/linux/debian_jessie_arm64-sysroot/lib/aarch64-linux-gnu -L/usr/local/google/home/kjellander/src/chrome/src/build/linux/debian_jessie_arm64-sysroot/usr/lib/aarch64-linux-gnu -Wl,-rpath-link=/usr/local/google/home/kjellander/src/chrome/src/build/linux/debian_jessie_arm64-sysroot/usr/lib/aarch64-linux-gnu -o "./libtest_shared_library.so" -Wl,-soname="libtest_shared_library.so" @"./libtest_shared_library.so.rsp"
/usr/bin/aarch64-linux-gnu-ld: unrecognized option '--gdb-index'
/usr/bin/aarch64-linux-gnu-ld: use the --help option for usage information
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[39/801] CXX obj/testing/gtest/gtest/gtest.o
ninja: build stopped: subcommand failed.

It used to work, but started failing in this interval:
https://chromium.googlesource.com/chromium/src/+log/581ff14023..7566ff2a00
(discovered when rolling WebRTC which tries to support this configuration: https://codereview.webrtc.org/2782853003/).

I think https://codereview.chromium.org/2786603003 might be the culprit.

I would be happy to contribute time to setup compile-only bots for Chromium to protect the Linux ARM64 build - does that make sense or is Chromium intentionally not supporting this build configuration?
 
I prepared https://codereview.chromium.org/2791403004/ to make the build work again, but I guess there's a more proper fix that can be done.
Project Member

Comment 2 by bugdroid1@chromium.org, Apr 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1c4b5eb17214fa0aedea5193628c74312f71a2d2

commit 1c4b5eb17214fa0aedea5193628c74312f71a2d2
Author: kjellander <kjellander@chromium.org>
Date: Tue Apr 04 18:36:33 2017

Don't use --gdb-index for Gold and LLVM linker

It appears --gdb-index is not supported for Gold or the LLVM linker.
This was discovered after https://codereview.chromium.org/2786603003
and affected builds configurations like Linux ARM64 Debug.

BUG= 708104 

Review-Url: https://codereview.chromium.org/2791403004
Cr-Commit-Position: refs/heads/master@{#461781}

[modify] https://crrev.com/1c4b5eb17214fa0aedea5193628c74312f71a2d2/build/config/compiler/BUILD.gn

Cc: oprypin@chromium.org sbc@chromium.org
Status: Fixed (was: Untriaged)
The above fix is sufficient for Linux ARM64 Debug.

sbc@: I see you're subscribed to build failures for the "Linux ARM" (Release) bot in https://build.chromium.org/p/chromium.fyi/waterfall. Would you consider expanding that to also cover:
Linux ARM Debug
Linux ARM64 Debug
Linux ARM64 Release
? 

I could help out with setting up the bots, if you're willing to keep an eye on them. WebRTC is interested in supporting all these build configurations, but ideally we'd have some protection against build toolchain breakages like the one in this bug.

Comment 4 by sbc@chromium.org, Apr 6 2017

Yes, sounds good to me.  Presumably we could run them all on the same slave?
I think one is too little since runs like https://build.chromium.org/p/chromium.fyi/builders/Linux%20ARM/builds/36312 takes 49 minutes. At least two sound better.

Do you want me to set it up or do you want to?
How about this naming, so we don't need to rename the existing one (and lose its history unless we fiddle around on the master)?
Linux ARM 
Linux ARM (dbg)
Linux ARM64
Linux ARM64 (dbg)

Comment 6 by sbc@chromium.org, Apr 6 2017

We currently have very limited ARM swarming capacity so perhaps we could make these bots compile-only (at least initially)?  Then they would be a lot faster.
Certainly, that's all we need for WebRTC right now anyway, to protect compilation (we don't run any tests yet).

You didn't answer me about if you wanted me to do the infra work of if you can do it?

Comment 8 by sbc@chromium.org, Apr 6 2017

I'd be grateful if you could setup the bots.  I'm happy to help with any issues that come up during setup and keep and help with failures ongoing.
I'll setup the bots (or have someone in my team do it), I just haven't got to it yet (swamped with other tasks).
Project Member

Comment 10 by bugdroid1@chromium.org, Jun 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4207742e9a9457d5f374b0dfd3ba2caf24df3362

commit 4207742e9a9457d5f374b0dfd3ba2caf24df3362
Author: Henrik Kjellander <kjellander@chromium.org>
Date: Fri Jun 09 14:14:46 2017

Add Linux ARM Debug bot and ARM64 Debug+Release

Until now, only Linux ARM Release was built (32-bit).
With this, there's both Debug+Release coverage on ARM 32-bit
and 64-bit for the Linux platform.

BUG= 708104 

Change-Id: Ibde3673f3af1458ffc0cc5355a7a5418d947ca9d
Reviewed-on: https://chromium-review.googlesource.com/528192
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Henrik Kjellander <kjellander@chromium.org>
Cr-Commit-Position: refs/heads/master@{#478268}
[modify] https://crrev.com/4207742e9a9457d5f374b0dfd3ba2caf24df3362/testing/buildbot/chromium.fyi.json
[modify] https://crrev.com/4207742e9a9457d5f374b0dfd3ba2caf24df3362/tools/mb/mb_config.pyl

Could you link the work to a non-fixed issue? Could you also check with labs for capacity before setting up those bots?

Here's what we have for armv7:
https://chromium-swarm.appspot.com/botlist?c=id&c=os&c=task&c=status&f=cores%3A2&f=cpu%3Aarmv7l&f=gpu%3Anone&f=os%3AUbuntu-14.04&f=pool%3AChrome&l=100&s=id%3Aasc

Those few bots are competing with the V8 bots and I'm eager to keep additional load down.

For armv8, are there any bots at all in the chromium pool?
Cc: machenb...@chromium.org
Tracking issue: You're right; I filed  bug 732274  and updated the pending CLs. Let's continue this work in there.

Re additional load: it won't be more than a few builds per day. I can even skip running tests on debug - getting compile coverage is what's important to us. Then the test-load difference will be zero.

Re armv8: that's what I found too (and explained in the CL description of https://chromium-review.googlesource.com/c/527444/6), so I don't think we can run any ARM64 tests until that's fixed.

Sign in to add a comment