GN: SimpleChrome failing on daisy, tricky with afdo error |
|||||
Issue descriptionFrom a ToT chrome checkout today: $ cros chrome-sdk --board daisy (sdk) $ gn gen out_$SDK_BOARD/Release --args="$GN_ARGS" (sdk) $ ninja -j 1000 -l 10 -C out_$SDK_BOARD/Release chrome ... [456/28061] CXX obj/base/base_static/base_switches.o FAILED: obj/base/base_static/base_switches.o /usr/local/google/home/stevenjb/Work/chrome/.cros_cache/common/goma+2/gomacc armv7a-cros-linux-gnueabi-g++ -B/usr/local/google/home/stevenjb/Work/chrome/.cros_cache/chrome-sdk/tarballs/daisy+8477.0.0+target_toolchain/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/binutils-bin/2.25.51-gold -MMD -MF obj/base/base_static/base_switches.o.d -DV8_DEPRECATION_WARNINGS -DENABLE_MDNS=1 -DENABLE_NOTIFICATIONS -DENABLE_PEPPER_CDMS -DENABLE_PLUGINS=1 -DENABLE_PDF=1 -DENABLE_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DUSE_UDEV -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_ASH=1 -DUSE_AURA=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DENABLE_WEBRTC=1 -DENABLE_EXTENSIONS=1 -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_APP_LIST=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DIMAGE_LOADER_EXTENSION=1 -DENABLE_WAYLAND_SERVER=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -DOS_CHROMEOS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../.. -Igen -fno-strict-aliasing -funwind-tables -fPIC -pipe -B../../third_party/binutils/Linux_x64/Release/bin -pthread -march=armv7-a -mfloat-abi=hard -mthumb -mtune=generic-armv7-a -mfpu=neon -Wall -Werror -Wno-psabi -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -g2 -gsplit-dwarf --sysroot=../../../.cros_cache/chrome-sdk/tarballs/daisy+8477.0.0+sysroot_chromeos-base_chromeos-chrome.tar.xz -fvisibility=hidden -O2 -fno-ident -fdata-sections -ffunction-sections -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -Wno-narrowing -Wno-literal-suffix -fno-rtti -fno-exceptions -pipe -march=armv7-a -mtune=cortex-a15 -mfpu=neon -mfloat-abi=hard -D__google_stl_debug_vector=1 -fauto-profile=/build/daisy/tmp/portage/chromeos-base/chromeos-chrome-53.0.2768.0_rc-r1/work/afdo/chromeos-chrome-amd64-53.0.2768.0_rc-r1.afdo -Wno-error -c ../../base/base_switches.cc -o obj/base/base_static/base_switches.o ../../base/base_switches.cc:1:0: error: Cannot open profile file /build/daisy/tmp/portage/chromeos-base/chromeos-chrome-53.0.2768.0_rc-r1/work/afdo/chromeos-chrome-amd64-53.0.2768.0_rc-r1.afdo. // Copyright (c) 2012 The Chromium Authors. All rights reserved. ^ ../../base/base_switches.cc:1: confused by earlier errors, bailing out
,
Jun 21 2016
mmm. that option should never be passed to SimpleChrome workflow... I don't see the same problem... I dont know how your build is getting the -fauto-profile option. It should be getting it from local, otherwise the official PFQ would be red now...
,
Jun 21 2016
and none of my cbuildbot testing has shown this issue for me....
,
Jun 21 2016
Here is my out_daisy/Release/args.gn from the repro above: cros_v8_snapshot_extra_ldflags = "" cros_v8_snapshot_cxx = "/usr/local/google/home/stevenjb/Work/chrome/src/third_party/llvm-build/Release+Asserts/bin/clang++" use_v4l2_codec = true cros_target_extra_cflags = "-pipe -march=armv7-a -mtune=cortex-a15 -mfpu=neon -mfloat-abi=hard -fauto-profile=/build/daisy/tmp/portage/chromeos-base/chromeos-chrome-53.0.2768.0_rc-r1/work/afdo/chromeos-chrome-amd64-53.0.2768.0_rc-r1.afdo -Wno-error" cros_host_extra_cppflags = "" cros_target_extra_ldflags = "-Wl,-O1 -Wl,-O2 -Wl,--as-needed" cros_v8_snapshot_cc = "/usr/local/google/home/stevenjb/Work/chrome/src/third_party/llvm-build/Release+Asserts/bin/clang" use_system_harfbuzz = true cros_target_ar = "armv7a-cros-linux-gnueabi-ar" v8_snapshot_toolchain = "//build/toolchain/cros:v8_snapshot" is_debug = false cros_target_cxx = "armv7a-cros-linux-gnueabi-g++ -B/usr/local/google/home/stevenjb/Work/chrome/.cros_cache/chrome-sdk/tarballs/daisy+8477.0.0+target_toolchain/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/binutils-bin/2.25.51-gold" cros_host_ar = "/usr/local/google/home/stevenjb/Work/chrome/src/third_party/binutils/Linux_x64/Release/bin/ar" cros_v8_snapshot_ld = "/usr/local/google/home/stevenjb/Work/chrome/src/third_party/llvm-build/Release+Asserts/bin/clang++" ozone_platform = "gbm" use_evdev_gestures = true cros_host_extra_cxxflags = "" use_cras = true host_toolchain = "//build/toolchain/cros:host" cros_v8_snapshot_extra_cflags = "" use_goma = true use_debug_fission = true use_system_minigbm = true use_v4lplugin = false ozone_auto_platforms = false arm_float_abi = "hard" target_cpu = "arm" cros_host_extra_ldflags = "" is_clang = false cros_v8_snapshot_ar = "/usr/local/google/home/stevenjb/Work/chrome/src/third_party/binutils/Linux_x64/Release/bin/ar" use_xkbcommon = true cros_host_extra_cflags = "" cros_host_is_clang = true symbol_level = 2 target_sysroot = "/usr/local/google/home/stevenjb/Work/chrome/.cros_cache/chrome-sdk/tarballs/daisy+8477.0.0+sysroot_chromeos-base_chromeos-chrome.tar.xz" cros_target_extra_cppflags = "" cros_target_cc = "armv7a-cros-linux-gnueabi-gcc -B/usr/local/google/home/stevenjb/Work/chrome/.cros_cache/chrome-sdk/tarballs/daisy+8477.0.0+target_toolchain/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/binutils-bin/2.25.51-gold" cros_v8_snapshot_extra_cppflags = "" enable_remoting = true icu_use_data_file = true cros_host_cc = "/usr/local/google/home/stevenjb/Work/chrome/src/third_party/llvm-build/Release+Asserts/bin/clang" use_ozone = true target_os = "chromeos" cros_target_ld = "armv7a-cros-linux-gnueabi-g++ -B/usr/local/google/home/stevenjb/Work/chrome/.cros_cache/chrome-sdk/tarballs/daisy+8477.0.0+target_toolchain/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/binutils-bin/2.25.51-gold" enable_nacl = true goma_dir = "/usr/local/google/home/stevenjb/Work/chrome/.cros_cache/common/goma+2" clang_use_chrome_plugins = false cros_host_cxx = "/usr/local/google/home/stevenjb/Work/chrome/src/third_party/llvm-build/Release+Asserts/bin/clang++" is_asan = false arm_use_neon = true cros_target_extra_cxxflags = "-pipe -march=armv7-a -mtune=cortex-a15 -mfpu=neon -mfloat-abi=hard -D__google_stl_debug_vector=1 -fauto-profile=/build/daisy/tmp/portage/chromeos-base/chromeos-chrome-53.0.2768.0_rc-r1/work/afdo/chromeos-chrome-amd64-53.0.2768.0_rc-r1.afdo -Wno-error" ozone_platform_gbm = true cros_host_ld = "/usr/local/google/home/stevenjb/Work/chrome/src/third_party/llvm-build/Release+Asserts/bin/clang++" cros_v8_snapshot_extra_cxxflags = "" linux_use_bundled_binutils = true system_libdir = "lib"
,
Jun 21 2016
yes, the -fauto-profile= option should not be part cros_target_extra_c*flags... I dont understand how you are getting this. I have an easy way to repro this by : USE="afdo_use" ebuild-daisy chromeos-chrome and then cros_sdk --chroot but that is not what you are doing.. maybe you did this at some point and now cros_sdk is confused (bug in cros_sdk?)
,
Jun 21 2016
Hmm. I just repro'd this with a fresh checkout. Maybe your environment tarballs are stale? My environment file is: .cros_cache/chrome-sdk/tarballs/daisy+8477.0.0+environment_chromeos-base_chromeos-chrome.tar.xz/ Which has this entry: declare -a BUILD_ARGS='([0]="is_debug=false" [1]="" [2]="use_v4l2_codec=true" [3]="use_v4lplugin=false" [4]="use_ozone=true" [5]="use_evdev_gestures=true" [6]="use_xkbcommon=true" [7]="linux_use_bundled_binutils=false" [8]="use_debug_fission=false" [9]="enable_remoting=true" [10]="enable_nacl=true" [11]="icu_use_data_file=true" [12]="use_cras=true" [13]="use_system_harfbuzz=true" [14]="is_asan=false" [15]="is_clang=false" [16]="cros_host_is_clang=false" [17]="clang_use_chrome_plugins=false" [18]="ozone_auto_platforms=false" [19]="ozone_platform_gbm=true" [20]="use_system_minigbm=true" [21]="arm_use_neon=true" [22]="is_chrome_branded=true" [23]="is_official_build=true" [24]="internal_gles2_conform_tests=true" [25]="internal_khronos_glcts_tests=true" [26]="use_debug_fission=true" [27]="symbol_level=2" [28]="target_sysroot=\"/build/daisy\"" [29]="system_libdir=\"lib\"" [30]="pkg_config=\"/build/daisy/build/bin/pkg-config\"" [31]="target_os=\"chromeos\"" [32]="ozone_platform=\"gbm\"" [33]="target_cpu=\"arm\"" [34]="arm_float_abi=\"hard\"" [35]="cros_target_ar=\"armv7a-cros-linux-gnueabi-ar\"" [36]="cros_target_cc=\"armv7a-cros-linux-gnueabi-gcc -B/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/binutils-bin/2.25.51-gold\"" [37]="cros_target_cxx=\"armv7a-cros-linux-gnueabi-g++ -B/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/binutils-bin/2.25.51-gold\"" [38]="host_toolchain=\"//build/toolchain/cros:host\"" [39]="v8_snapshot_toolchain=\"//build/toolchain/cros:v8_snapshot\"" [40]="cros_target_ld=\"armv7a-cros-linux-gnueabi-g++ -B/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/binutils-bin/2.25.51-gold\"" [41]="cros_target_extra_cflags=\"-pipe -march=armv7-a -mtune=cortex-a15 -mfpu=neon -mfloat-abi=hard -fauto-profile=/build/daisy/tmp/portage/chromeos-base/chromeos-chrome-53.0.2768.0_rc-r1/work/afdo/chromeos-chrome-amd64-53.0.2768.0_rc-r1.afdo -Wno-error\"" [42]="cros_target_extra_cppflags=\"\"" [43]="cros_target_extra_cxxflags=\"-pipe -march=armv7-a -mtune=cortex-a15 -mfpu=neon -mfloat-abi=hard -D__google_stl_debug_vector=1 -fauto-profile=/build/daisy/tmp/portage/chromeos-base/chromeos-chrome-53.0.2768.0_rc-r1/work/afdo/chromeos-chrome-amd64-53.0.2768.0_rc-r1.afdo -Wno-error\"" [44]="cros_target_extra_ldflags=\"-Wl,-O1 -Wl,-O2 -Wl,--as-needed\"" [45]="cros_host_cc=\"x86_64-pc-linux-gnu-gcc\"" [46]="cros_host_cxx=\"x86_64-pc-linux-gnu-g++\"" [47]="cros_host_ar=\"x86_64-pc-linux-gnu-ar\"" [48]="cros_host_ld=\"x86_64-pc-linux-gnu-g++\"" [49]="cros_host_extra_cflags=\"\"" [50]="cros_host_extra_cxxflags=\"\"" [51]="cros_host_extra_cppflags=\"\"" [52]="cros_host_extra_ldflags=\"\"" [53]="cros_v8_snapshot_cc=\"x86_64-pc-linux-gnu-gcc\"" [54]="cros_v8_snapshot_cxx=\"x86_64-pc-linux-gnu-g++\"" [55]="cros_v8_snapshot_ar=\"x86_64-pc-linux-gnu-ar\"" [56]="cros_v8_snapshot_ld=\"x86_64-pc-linux-gnu-g++\"" [57]="cros_v8_snapshot_extra_cflags=\"\"" [58]="cros_v8_snapshot_extra_cxxflags=\"\"" [59]="cros_v8_snapshot_extra_cppflags=\"\"" [60]="cros_v8_snapshot_extra_ldflags=\"\"")' Which is setting -fauto-profile
,
Jun 21 2016
OK, so: * The LKGM builder was stuck for a while. It controls what build SimpleChrome uses somehow: https://uberchromegw.corp.google.com/i/chromeos.chrome/builders/Chrome%20LKGM * The chrome version in .cros_cache/chrome-sdk/tarballs/daisy+8477.0.0+environment_chromeos-base_chromeos-chrome.tar.xz is 53.0.2768.0 * The corresponding PFQ build for daisy_skate is here: https://uberchromegw.corp.google.com/i/chromeos/builders/daisy_skate-chrome-pfq/builds/2529/steps/BuildPackages/logs/stdio * It clearly specifies -afdo_use So, where is the environment coming from? A release builder? If so, then that may be a problem. +akeshet@, +davidjames@
,
Jun 21 2016
Marking as P0 as this is currently affecting developers.
,
Jun 21 2016
I see this output when I remove my cros cache and run: $ 'cros chrome-sdk --log-level debug --board=daisy' 15:50:41: INFO: RunCommand: /usr/local/google/home/stevenjb/Work/chrome2/.cros_cache/common/gsutil_4.19.tar.gz/gsutil/gsutil -o 'Boto:num_retries=10' cat gs://chromeos-image-archive/daisy-release/LATEST-8477.0.0 15:50:42: DEBUG: RunCommand: /usr/local/google/home/stevenjb/Work/chrome2/.cros_cache/common/gsutil_4.19.tar.gz/gsutil/gsutil -o 'Boto:num_retries=10' cat gs://chromeos-image-archive/daisy-release/R53-8477.0.0/metadata.json 15:50:43: INFO: SDK: Fetching gs://chromeos-image-archive/daisy-release/R53-8477.0.0/environment_chromeos-base_chromeos-chrome.tar.xz 15:50:43: DEBUG: RunCommand: /usr/local/google/home/stevenjb/Work/chrome2/.cros_cache/common/gsutil_4.19.tar.gz/gsutil/gsutil -o 'Boto:num_retries=10' cp -v -- gs://chromeos-image-archive/daisy-release/R53-8477.0.0/environment_chromeos-base_chromeos-chrome.tar.xz /usr/local/google/home/stevenjb/Work/chrome2/.cros_cache/chrome-sdk/tarballs/staging/tmpTutaIZ 15:50:44: DEBUG: RunCommand: tar -xpf /usr/local/google/home/stevenjb/Work/chrome2/.cros_cache/chrome-sdk/tarballs/staging/tmpTutaIZ/environment_chromeos-base_chromeos-chrome.tar.xz in /usr/local/google/home/stevenjb/Work/chrome2/.cros_cache/chrome-sdk/tarballs/staging/tarball-cache6sVP12/extract 15:50:44: INFO: SDK: Fetching gs://chromeos-image-archive/daisy-release/R53-8477.0.0/sysroot_chromeos-base_chromeos-chrome.tar.xz 15:50:44: DEBUG: RunCommand: /usr/local/google/home/stevenjb/Work/chrome2/.cros_cache/common/gsutil_4.19.tar.gz/gsutil/gsutil -o 'Boto:num_retries=10' cp -v -- gs://chromeos-image-archive/daisy-release/R53-8477.0.0/sysroot_chromeos-base_chromeos-chrome.tar.xz /usr/local/google/home/stevenjb/Work/chrome2/.cros_cache/chrome-sdk/tarballs/staging/tmpaRCvRL 15:50:48: DEBUG: RunCommand: tar -xpf /usr/local/google/home/stevenjb/Work/chrome2/.cros_cache/chrome-sdk/tarballs/staging/tmpaRCvRL/sysroot_chromeos-base_chromeos-chrome.tar.xz in /usr/local/google/home/stevenjb/Work/chrome2/.cros_cache/chrome-sdk/tarballs/staging/tarball-cacheeC0LeC/extract 15:50:57: INFO: SDK: Fetching gs://chromiumos-sdk/2016/06/armv7a-cros-linux-gnueabi-2016.06.18.205307.tar.xz 15:50:57: DEBUG: RunCommand: /usr/local/google/home/stevenjb/Work/chrome2/.cros_cache/common/gsutil_4.19.tar.gz/gsutil/gsutil -o 'Boto:num_retries=10' cp -v -- gs://chromiumos-sdk/2016/06/armv7a-cros-linux-gnueabi-2016.06.18.205307.tar.xz /usr/local/google/home/stevenjb/Work/chrome2/.cros_cache/chrome-sdk/tarballs/staging/tmpxE_Sk5 15:51:00: DEBUG: RunCommand: tar -xpf /usr/local/google/home/stevenjb/Work/chrome2/.cros_cache/chrome-sdk/tarballs/staging/tmpxE_Sk5/armv7a-cros-linux-gnueabi-2016.06.18.205307.tar.xz in /usr/local/google/home/stevenjb/Work/chrome2/.cros_cache/chrome-sdk/tarballs/staging/tarball-cachelVLyHT/extract That looks like we are using results from release builds? Is the straightforward fix to just filter out -fauto-profilo in simple chrome? The LKGM builder was broken for a month so we missed a bunch of GN changes, could this be one of them?
,
Jun 21 2016
I guess I don't understand how this works for GYP..
I thought the environment was coming from the PFQ builders which do not use AFDO.
I guess is because for GYP we were not update CFLAGS and CXXFLAGS with the contents of EBUILD_FLAGS
if use runhooks; then
[[ -f "${EGCLIENT}" ]] || die "EGCLIENT at '${EGCLIENT}' does not exist"
local cmd=( "${EGCLIENT}" runhooks --force )
echo "${cmd[@]}"
CFLAGS="${CFLAGS} ${EBUILD_CFLAGS[*]}" \
CXXFLAGS="${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}" \
GYP_CHROMIUM_NO_ACTION=$(use10 gn) \
This does not update CFLAGS in the environment, only for the GYP execution.
,
Jun 21 2016
since GN does not use envvars, I guess the only option is to remove EBUILD_*FLAGS from simple chrome workflow as steve has said.
,
Jun 22 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/chromite/+/8c1b19c098bd84bdefdea93da75821b082f0b395 commit 8c1b19c098bd84bdefdea93da75821b082f0b395 Author: Luis Lozano <llozano@chromium.org> Date: Wed Jun 22 00:20:55 2016 GN: simple chrome should not use EBUILD_CFLAGS/EBUILD_CXXFLAGS BUG= chromium:622011 TEST=verified by hand the EBUILD flags are not passed to GN Change-Id: I1603e0dd4603530b9e5c21470e727b84565e218f Reviewed-on: https://chromium-review.googlesource.com/354720 Reviewed-by: Steven Bennetts <stevenjb@chromium.org> Tested-by: Steven Bennetts <stevenjb@chromium.org> [modify] https://crrev.com/8c1b19c098bd84bdefdea93da75821b082f0b395/cli/cros/cros_chrome_sdk.py
,
Jun 22 2016
Working, thanks!
,
Jun 22 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e503ca8ec540c95f018c94eb25673c20c1472a1b commit e503ca8ec540c95f018c94eb25673c20c1472a1b Author: stevenjb <stevenjb@chromium.org> Date: Wed Jun 22 18:44:44 2016 Roll src/third_party/chromite/ 9a20cdbe1..8c1b19c09 (12 commits). https://chromium.googlesource.com/chromiumos/chromite.git/+log/9a20cdbe1182..8c1b19c098bd $ git log 9a20cdbe1..8c1b19c09 --date=short --no-merges --format='%ad %ae %s' 2016-06-21 llozano GN: simple chrome should not use EBUILD_CFLAGS/EBUILD_CXXFLAGS 2016-06-21 stevenjb Use gn instead of GYP in SimpleChrome stage (take 2) 2016-06-07 philipchen Make gru and kevin builder non-experimental 2016-06-21 stevenjb Revert "Use gn instead of GYP in SimpleChrome stage" 2016-06-17 cmtice [cbuildbot] Update toolchain waterfall builders. 2016-06-14 bhthompson Allow arc-bvt-cq HWTests to be retried 2016-06-15 nxia Add build_id and build_number to CL commit logs. 2016-06-17 nxia Clear chroot at CommitQueueSync stage for incremental builders. 2016-05-16 stevenjb Use gn instead of GYP in SimpleChrome stage 2016-06-15 akeshet build_time_stats: delete old wrapper symlink 2016-06-09 akeshet cidb: tolerate being imported in the absence of sqlalchemy 2016-06-15 laszio [cbuildbot] Add oak to {gcc, llvm, llvm-next}-toolchain-group waterfalls BUG= chromium:622011 Review-Url: https://codereview.chromium.org/2082393003 Cr-Commit-Position: refs/heads/master@{#401369} [modify] https://crrev.com/e503ca8ec540c95f018c94eb25673c20c1472a1b/DEPS
,
Jul 1 2016
bulk verified |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by steve...@chromium.org
, Jun 21 2016