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

Issue 881334 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 9
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Fuchsia
Pri: 2
Type: Bug

Blocked on:
issue 900790



Sign in to add a comment

content_unittests failing on ARM64

Project Member Reported by w...@chromium.org, Sep 6

Issue description

Every attempt to run a test fails with output:

Failed to get out-of-band test success data, dumping full stdio below:
[280148:667356415:0906/120213.138750:471140103:FATAL:gl_surface_test_support.cc(78)] Check failed: init::InitializeGLOneOffImplementation( impl, fallback_to_software_gl, gpu_service_logging, disable_gl_drawing, init_extensions).
#00: base::debug::StackTrace::StackTrace(unsigned long) at stack_trace_fuchsia.cc:?
#01: logging::LogMessage::~LogMessage() at logging.cc:?
#02: gl::(anonymous namespace)::InitializeOneOffHelper(bool) at gl_surface_test_support.cc:?
#03: content::ContentTestSuite::Initialize() at content_test_suite.cc:?
#04: base::TestSuite::Run() at test_suite.cc:?
#05: void base::internal::Invoker<base::internal::BindState<void (content::AppCacheRequestHandlerTest::*)(), base::internal::UnretainedWrapper<content::AppCacheRequestHandlerTest> >, void ()>::RunImpl<void (content::AppCacheRequestHandlerTest::*)(), std::__2::tuple<base::internal::UnretainedWrapper<content::AppCacheRequestHandlerTest> >, 0ul>(void (content::AppCacheRequestHandlerTest::*&&)(), std::__2::tuple<base::internal::UnretainedWrapper<content::AppCacheRequestHandlerTest> >&&, std::__2::integer_sequence<unsigned long, 0ul>) at appcache_request_handler_unittest.cc:?
#06: base::OnceCallback<int ()>::Run() && at ffmpeg_demuxer.cc:?
#07: base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) at unit_test_launcher.cc:?
#08: base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) at unit_test_launcher.cc:?
#09: main at run_all_unittests.cc:?
#10: pc 0xe19e2b05bf54 (libc.so,0x19f54)
#11: pc 0xe19e2b05c160 (libc.so,0x1a160)
 
Owner: w...@chromium.org
Status: Started (was: Untriaged)
content_unittests passed at https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/fuchsia-fyi-arm64-rel/899 but failed at https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/fuchsia-fyi-arm64-rel/909

Unfortunately I'm unable to see any data for the intervening builds, though.
Also good at build #903, and #905 was a single test flake.
Cc: sergeyu@chromium.org sugoi@chromium.org
This regressed starting from https://chromium-review.googlesource.com/1128207 which removed OSMesa from Chromium, on the basis that we use SwiftShader everywhere.

Presumably some conditional needs fixing to have us use SwiftShader under Fuchsia/ARM64 to address this.
Cc: capn@chromium.org
CCing capn@ who's currently working on getting ARM64 SwiftShader ready.
Owner: sergeyu@chromium.org
Assigning to sergeyu@ to follow-up w/ capn@ and decide what action to take short-term to un-b0rk the Fuchsia/ARM64 FYI bot.
Tried to enable swiftshader on arm64, but then libGLESv2.so fails to link on Fuchsia:
ld.lld: error: undefined symbol: __clear_cache
>>> referenced by SubzeroReactor.cpp
>>>               obj/third_party/swiftshader/src/Reactor/swiftshader_reactor/SubzeroReactor.o:(sw::ELFMemoryStreamer::getEntry())


It links and compiles for Linux. Looks like the compiler expects __clear_cache to be provided by libc, but it's not there. 
Subzero doesn't have ARM64 support at all. But we have it up and running with our new LLVM 7.0 based JIT. Working hard to enable that as the default and integrate it into the build.
Project Member

Comment 9 by bugdroid1@chromium.org, Oct 8

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

commit 1c873152f16003416b5298ca7fe9d5e40334c460
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Mon Oct 08 19:54:36 2018

Disable content_unittests on arm64 fuchsia.fyi bot

SwiftShader is disabled on arm64, so content_unittests fail to
initialize GL and fail.

Bug:  881334 
Change-Id: Id84288d0faaff13de6dfd5ca0214ebc2bb5ce062
Reviewed-on: https://chromium-review.googlesource.com/c/1265937
Reviewed-by: Wez <wez@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597653}
[modify] https://crrev.com/1c873152f16003416b5298ca7fe9d5e40334c460/testing/buildbot/chromium.fyi.json
[modify] https://crrev.com/1c873152f16003416b5298ca7fe9d5e40334c460/testing/buildbot/test_suite_exceptions.pyl

Cc: kbr@chromium.org w...@chromium.org jbau...@chromium.org
Sergey can you make the changes to make this work for Fuchsia on top of my CL, or tell me how I can configure building for it? I tried this:

gn gen out/fuchsia-arm64 --args='target_os="fuchsia" target_cpu="arm64"'
ERROR at //build/config/fuchsia/BUILD.gn:14:27: Could not read file.
  sdk_version = read_file(sdk_version_file, "trim string")
                          ^---------------
I resolved this to "/media/nicolascapens/hdd/chromium/src/third_party/fuchsia-sdk/sdk/.hash".
See //build/config/fuchsia/rules.gni:70:9: which caused the file to be included.
        "//build/config/fuchsia:blobstore_extended_qcow2",
        ^------------------------------------------------
Project Member

Comment 13 by bugdroid1@chromium.org, Oct 15

Project Member

Comment 14 by bugdroid1@chromium.org, Oct 15

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

commit daae6a73823f0df2c87bac97d930ccb6e28d44ba
Author: Nicolas Capens <capn@chromium.org>
Date: Mon Oct 15 17:32:48 2018

Roll SwiftShader 810f3db..71e256c

https://swiftshader.googlesource.com/SwiftShader.git/+log/810f3db..71e256c

BUG= chromium:881334 

TBR=kbr@chromium.org

TEST=bots

CQ_INCLUDE_TRYBOTS=luci.chromium.try:win_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:android_optional_gpu_tests_rel

Change-Id: Iae687a76f335d7514dcddcb5c5db07f2fa9f6928
Signed-off-by: Nicolas Capens <capn@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/1280785
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599661}
[modify] https://crrev.com/daae6a73823f0df2c87bac97d930ccb6e28d44ba/DEPS
[modify] https://crrev.com/daae6a73823f0df2c87bac97d930ccb6e28d44ba/tools/roll_swiftshader.py

Re #11: You'll need to add target_os "fuchsia" to your .gclient and run the hooks to get the SDK downloaded, for building for Fuchsia to work.
Thanks, that worked! I'll take a stab at making it build for Fuchsia as well.
Owner: capn@chromium.org
OK, re-assigning this to you; plz assign back to sergeyu@ when you have that working, and we'll follow-up on the content_unittests bit.
Project Member

Comment 18 by bugdroid1@chromium.org, Oct 16

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/847fc0b278f8454f8e04c89163bf840aa903df99

commit 847fc0b278f8454f8e04c89163bf840aa903df99
Author: Nicolas Capens <capn@google.com>
Date: Tue Oct 16 23:56:58 2018

Add LLVM 7.0 config for Fuchsia.

Bug b/115344057
 Bug chromium:881334 

Change-Id: Id3d673b8cf9ff3d3eea0675b1b58f0f6663ba074
Reviewed-on: https://swiftshader-review.googlesource.com/c/21528
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>

[modify] https://crrev.com/847fc0b278f8454f8e04c89163bf840aa903df99/src/Reactor/BUILD.gn
[modify] https://crrev.com/847fc0b278f8454f8e04c89163bf840aa903df99/third_party/llvm-7.0/BUILD.gn
[add] https://crrev.com/847fc0b278f8454f8e04c89163bf840aa903df99/third_party/llvm-7.0/configs/fuchsia/include/llvm/Config/AsmParsers.def
[add] https://crrev.com/847fc0b278f8454f8e04c89163bf840aa903df99/third_party/llvm-7.0/configs/fuchsia/include/llvm/Config/AsmPrinters.def
[add] https://crrev.com/847fc0b278f8454f8e04c89163bf840aa903df99/third_party/llvm-7.0/configs/fuchsia/include/llvm/Config/Disassemblers.def
[add] https://crrev.com/847fc0b278f8454f8e04c89163bf840aa903df99/third_party/llvm-7.0/configs/fuchsia/include/llvm/Config/Targets.def
[add] https://crrev.com/847fc0b278f8454f8e04c89163bf840aa903df99/third_party/llvm-7.0/configs/fuchsia/include/llvm/Config/abi-breaking.h
[add] https://crrev.com/847fc0b278f8454f8e04c89163bf840aa903df99/third_party/llvm-7.0/configs/fuchsia/include/llvm/Config/config.h
[add] https://crrev.com/847fc0b278f8454f8e04c89163bf840aa903df99/third_party/llvm-7.0/configs/fuchsia/include/llvm/Config/llvm-config.h

Project Member

Comment 19 by bugdroid1@chromium.org, Oct 17

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

commit 1c8ec5ac6246f39ca6059b9fc66da5a99fa7a7f2
Author: Nicolas Capens <capn@chromium.org>
Date: Wed Oct 17 11:52:26 2018

Roll SwiftShader 71e256c..847fc0b

https://swiftshader.googlesource.com/SwiftShader.git/+log/71e256c..847fc0b

BUG= chromium:881334 

TBR=kbr@chromium.org

TEST=bots

CQ_INCLUDE_TRYBOTS=luci.chromium.try:win_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:android_optional_gpu_tests_rel

Change-Id: I04a81f1daaa962a3a2510d76784dcb3e0f704e17
Reviewed-on: https://chromium-review.googlesource.com/c/1285480
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600353}
[modify] https://crrev.com/1c8ec5ac6246f39ca6059b9fc66da5a99fa7a7f2/DEPS

Project Member

Comment 20 by bugdroid1@chromium.org, Oct 17

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

commit 745d385ecf5ac39ca2fd604dd5451e61e47d980b
Author: Nicolas Capens <capn@chromium.org>
Date: Wed Oct 17 19:12:35 2018

Enable building SwiftShader for ARM64.

BUG= chromium:881334 

Change-Id: I1d6273ee84f263b738d229562eaf7cfd98ca203a
Reviewed-on: https://chromium-review.googlesource.com/c/1286909
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Nicolas Capens <capn@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600510}
[modify] https://crrev.com/745d385ecf5ac39ca2fd604dd5451e61e47d980b/ui/gl/BUILD.gn

Owner: sergeyu@chromium.org
Back to you for the Fuchsia side of things.
Project Member

Comment 22 by bugdroid1@chromium.org, Oct 18

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

commit 703072d22e5844d3663b294cd3bb6dd192fc4724
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Thu Oct 18 01:09:04 2018

Enable content_unittests on arm64 fuchsia.fyi bot

swiftshader now supports arm64

Bug:  881334 
Change-Id: I370fb7bdc361588ff69e47ac81af991ee2c02af1
Reviewed-on: https://chromium-review.googlesource.com/c/1287206
Reviewed-by: Wez <wez@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600628}
[modify] https://crrev.com/703072d22e5844d3663b294cd3bb6dd192fc4724/testing/buildbot/chromium.fyi.json
[modify] https://crrev.com/703072d22e5844d3663b294cd3bb6dd192fc4724/testing/buildbot/test_suite_exceptions.pyl

Anything remaining to be done here? Is it working fine?
Owner: w...@chromium.org
We have some more general breakage of our ARM bots/runners; once we have that resolved we'll re-test content_unittests on ARM64.  Taking ownership of this as today's Gardener, to follow-up.
Blockedon: 900790
Labels: -Pri-1 -M-71 M-72 Pri-2
Owner: capn@chromium.org
Status: Fixed (was: Started)
Verified that content_unittests now works fine on Fuchsia/ARM64.

Sign in to add a comment