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

Issue 853242 link

Starred by 4 users

Issue metadata

Status: Verified
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug
Build-Toolchain



Sign in to add a comment

SimpleChrome failing for ARM boards "Unable to recognise the format of the input file"

Project Member Reported by steve...@chromium.org, Jun 15 2018

Issue description

The PFQ ARM builders are failing in the TestSimpleChromeWorkflow stage with many failures like:

FAILED: obj/base/allocator/tcmalloc/vdso_support.o 
/b/c/goma_cache/client/gomacc armv7a-cros-linux-gnueabi-clang++ -B../../../../../../tmp/cbuildbot-tmpG_4pGp/chrome-sdk-cacheUivhM9/cache/chrome-sdk/tarballs/daisy+__b__c__cbuild__repository__buildbot_archive__daisy-chromium-pfq__R69-10785.0.0-rc1+target_toolchain/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/binutils-bin/2.27.0-gold -Wno-unknown-warning-option -MMD -MF obj/base/allocator/tcmalloc/vdso_support.o.d -DNO_HEAP_CHECK -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DCR_CLANG_REVISION=\"334100-1\" -DCR_SYSROOT_HASH=b2165ab47ab9c4cc780db53ace1b08607d68ae31 -DOS_CHROMEOS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DTCMALLOC_DONT_REPLACE_SYSTEM_ALLOC -I../../base/allocator -I../../third_party/tcmalloc/chromium/src/base -I../../third_party/tcmalloc/chromium/src -I../.. -Igen -fno-strict-aliasing -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -B../../third_party/binutils/Linux_x64/Release/bin -pthread -fcolor-diagnostics -fmerge-all-constants -fdebug-prefix-map=/b/c/cbuild/repository/.cache/distfiles/target-master/chrome-src/src/out_daisy/Release=. -no-canonical-prefixes --target=arm-linux-gnueabihf -march=armv7-a -mfloat-abi=hard -mtune=generic-armv7-a -mfpu=neon -fno-omit-frame-pointer -g2 -gsplit-dwarf -ggnu-pubnames -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wall -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-address-of-packed-member -Wno-nonportable-include-path -Wno-user-defined-warnings -Wno-unused-lambda-capture -Wno-null-pointer-arithmetic -Wno-enum-compare-switch -Wno-ignored-pragma-optimize -Wno-reorder -Wno-unused-function -Wno-unused-local-typedefs -Wno-unused-private-field -Wno-sign-compare -Wno-unused-result -marm -O2 -fno-ident -fdata-sections -ffunction-sections -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=../../../../../../../../../../../tmp/cbuildbot-tmpG_4pGp/chrome-sdk-cacheUivhM9/cache/chrome-sdk/tarballs/daisy+__b__c__cbuild__repository__buildbot_archive__daisy-chromium-pfq__R69-10785.0.0-rc1+sysroot_chromeos-base_chromeos-chrome.tar.xz -fvisibility-inlines-hidden -pipe -march=armv7-a -mtune=cortex-a15 -mfpu=neon -mfloat-abi=hard -fno-split-dwarf-inlining -D__google_stl_debug_vector=1 -Wno-unknown-warning-option -stdlib=libc++ -Wno-inline-asm -c ../../third_party/tcmalloc/chromium/src/base/vdso_support.cc -o obj/base/allocator/tcmalloc/vdso_support.o
../../third_party/binutils/Linux_x64/Release/bin/objcopy: Unable to recognise the format of the input file `obj/base/allocator/tcmalloc/vdso_support.o'

Source:
https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8943656219149529536


 

Comment 1 Deleted

Looks like I'm running into  issue 758298  locally, installing g++-multilib...

 Issue 853259  has been merged into this issue.
Components: Tools>ChromeOS-Toolchain
Root cause seems to use of x86_64 objcopy being used instead of armv7 objcopy.

SimpleChrome is working locally for me with daisy, so the problem seems to be specific to the builders :(

I just realized that locally it is still using the 10779.0.0 toolchain (that is after all, why we have the test).

The first failing CrOS / toolchain version is 10783.0.0-rc1.

Unfortunately this also means that we don't have prebuilts > 10779.0.0 so I'm not sure if it is possible to test this locally.

Cc: vapier@chromium.org
Any chance this is related?
https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/1082195

#7: why do you think this is related? I assume this is caused by a change in Chrome or the way we pass GN arguments.
"Any chance" is hardly an assumption :) The change says "vboot_reference: fix the build for arm64". I wouldn't expect a change to vboot_reference to affect building chrome, but then again, I have no idea what vboot_reference is :) I am grasping here.

It doesn't seem to be a Chrome change because Simple Chrome builds locally, but it's difficult to test. I'm building chromeos for daisy locally to attempt to test Simple Chrome with a local chroot, but it's a slow process.

suggest you disable goma just in case. (although I dont think it is relate)

Regarding #6: You can force a newer toolchain by changing to a newer value in chromeos_lkgm file. Then logout/login back in SimpleChrome shell should pick the newer toolchain.
You can also pass --version=10783.0.0 to chrome-sdk, but in either case it will fall back to the latest available toolchain if the PFQ hasn't published an updated prebuild :)

I suspect that https://chromium-review.googlesource.com/1073132  caused this since timeline sort of matches.
That does seem possible, but chromite has auto rolled and that change is in my local chrome/third_party/chromite dir, but SimpleChrome is succeeding.

(Having said that, paths on builders are very different than local builds, so it is certainly possible that that is the culprit and worth trying).

vboot isn't used in any way by Chrome.  it's low level firmware/kernel code/tools.
I don't know why I didn't think to check this before, but this is definitely a Chrome OS change, ARM boards are failing in the release builders also with similar output:

https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8943660951999798912

(Note: We don't run TestSimpleChromeWorkflow in the CQ, presumably because of the extra build time).

I'm not sure what the best way is to get a changelist for Chrome OS Release builds, but the problem appears to have been introduced in R69-10780.0.0. Here is the Goldeneye change list for 10779.0.0..10780.0.0:

https://crosland.corp.google.com/log/10779.0.0..10780.0.0

The chromite change in comment #13 was in 10780.0.0, but the CL hasn't been submitted yet :( I am going to go ahead and submit it so that it makes the next set of builds and cross my fingers.

Labels: -Pri-0 Pri-2
Should be fixed by https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1102918

Dropping to P2 till verification.
Owner: manojgupta@chromium.org
Status: Started (was: Untriaged)
Status: Verified (was: Started)
PFQ has passed:
https://uberchromegw.corp.google.com/i/chromeos/builders/master-chromium-pfq/builds/6647

Closing as verified.

Sign in to add a comment