New issue
Advanced search Search tips

Issue 695086 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Stop passing --fastbuild in the Chromeos chromium_compile_only builders

Project Member Reported by steve...@chromium.org, Feb 22 2017

Issue description

In the chromium waterfall and CQ, we have chromeos builders using Simple Chrome:
* chromeos_amd64-generic_chromium_compile_only_ng
* chromeos_daisy_chromium_compile_only_ng

These run 'cros chrome-sdk' to build chrome in an environment similar to the chromeos builders.

Currently they are passing --fastbuild to 'cros chrome-sdk' which is not the same as what the official builders do and can cause it to miss compilation failures.

We should remove (and deprecate separately, see  issue 599771 ) --fastbuild.

 
The code to add the argument to 'cros chrome-sdk' appears to be here:
https://cs.chromium.org/chromium/build/scripts/slave/recipe_modules/chromium/api.py?type=cs&q=fastbuild&l=626
Cc: alemate@chromium.org
This by the way is a recent failure that got through the CQ. I verified that simple chrome succeeds with the problematic patch with --fastbuild and fails without it:

https://uberchromegw.corp.google.com/i/chromeos.chrome/builders/x86-alex-tot-chrome-pfq-informational/builds/22958

I quickly looked at what fastbuild means. From what I saw, it changes "symbol_level". Which changes what amount of info is saved in debug info.. (I may have missed things).
I looked at the failure and I cannot see how this failure can be related to debug info levels.
Can you please paste the equivalent command line for this file in the case where no failure is detected?

FAILED: obj/components/update_client/update_client/utils.o 
chromeos-chrome-58.0.3021.0_alpha-r1: i686-pc-linux-gnu-g++ -B/usr/x86_64-pc-linux-gnu/i686-pc-linux-gnu/binutils-bin/2.25.51-gold -MMD -MF obj/components/update_client/update_client/utils.o.d -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_ASH=1 -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DENABLE_WAYLAND_SERVER=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DOFFICIAL_BUILD -DGOOGLE_CHROME_BUILD -DENABLE_MEDIA_ROUTER=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -DOS_CHROMEOS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -I../../../../../../../home/chrome-bot/chrome_root/src -Igen -I../../../../../../../home/chrome-bot/chrome_root/src/third_party/boringssl/src/include -I../../../../../../../home/chrome-bot/chrome_root/src/third_party/protobuf/src -Igen/protoc_out -I../../../../../../../home/chrome-bot/chrome_root/src/third_party/protobuf/src -I/build/x86-alex/usr/include/nss -I/build/x86-alex/usr/include/nspr -I../../../../../../../home/chrome-bot/chrome_root/src/third_party/libxml/src/include -I../../../../../../../home/chrome-bot/chrome_root/src/third_party/libxml/linux/include -I../../../../../../../home/chrome-bot/chrome_root/src/third_party/icu/source/common -I../../../../../../../home/chrome-bot/chrome_root/src/third_party/icu/source/i18n -fno-strict-aliasing -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -m32 -msse2 -mfpmath=sse -mmmx -pthread -Wall -Werror -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections -g2 -gsplit-dwarf --sysroot=../../../../../../../build/x86-alex -fvisibility=hidden -DLIBXML_STATIC= -fvisibility-inlines-hidden -std=gnu++11 -Wno-narrowing -Wno-literal-suffix -fno-rtti -fno-exceptions -march=i686 -pipe -march=i686 -pipe -pipe -march=atom -mtune=atom -mfpmath=sse -D__google_stl_debug_vector=1 -femit-struct-debug-reduced -c ../../../../../../../home/chrome-bot/chrome_root/src/components/update_client/utils.cc -o obj/components/update_client/update_client/utils.o
hromeos-chrome-58.0.3021.0_alpha-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/components/update_client/utils.h:15:0,
chromeos-chrome-58.0.3021.0_alpha-r1:                  from ../../../../../../../home/chrome-bot/chrome_root/src/components/update_client/utils.cc:5:
chromeos-chrome-58.0.3021.0_alpha-r1: ../../../../../../../home/chrome-bot/chrome_root/src/components/update_client/updater_state.h: In function 'std::string update_client::BuildProtocolRequest(const string&, const string&, const string&, const string&, const string&, const string&, const string&, const string&, const std::unique_ptr<std::map<std::basic_string<char>, std::basic_string<char> > >&)':
chromeos-chrome-58.0.3021.0_alpha-r1: ../../../../../../../home/chrome-bot/chrome_root/src/components/update_client/updater_state.h:47:15: error: 'static bool update_client::UpdaterState::IsEnterpriseManaged()' is private
chromeos-chrome-58.0.3021.0_alpha-r1:    static bool IsEnterpriseManaged();


This was the CL that passed:
https://codereview.chromium.org/2581353002

Successful build:
https://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-generic_chromium_compile_only_ng/builds/286111

Unfortunately the log doesn't have detailed info for successful commands, just:
[10089/32359] CXX obj/components/update_client/update_client/utils.o

I'm in the middle of other things, and I have wanted to eliminate --fastbuild anyway, but if you apply the patch and pass --fastbuild to cros chrome-sdk (and run gn gen with --args=$GN_ARGS) and pass -v to ninja, you should be able to get the successful compile command.


Actually, I reached a stopping point, I can run this during lunch.

Hmm. I can't reproduce my original success. I suspect this might be the fault of more than one change? I don't know.

Regardless, we shouldn't be using --fastbuild in the builder.

yes, it looked weird to me that fastbuild was hiding this error. 
Anyway, I dont mind if you remove --fastbuild option. 
Project Member

Comment 9 by bugdroid1@chromium.org, Feb 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/eb90cfb6cdd5359a7c25a096427ff222e8dafa69

commit eb90cfb6cdd5359a7c25a096427ff222e8dafa69
Author: Steven Bennetts <stevenjb@chromium.org>
Date: Mon Feb 27 20:24:16 2017

Do not pass --fastbuild to simplechrome

This can cause compilation errors (warnings)to get through the CQ but
fail in the PFQ.

Also, we wil be deprecating --fastbuild from simple chrome soon.

BUG= chromium:695086 

Change-Id: Ie940bd46237bfdaabbf39e918674a31fd9f67384
Reviewed-on: https://chromium-review.googlesource.com/445810
Commit-Queue: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>

[modify] https://crrev.com/eb90cfb6cdd5359a7c25a096427ff222e8dafa69/scripts/slave/recipes/chromium_trybot.expected/chromeos_analyze.json
[modify] https://crrev.com/eb90cfb6cdd5359a7c25a096427ff222e8dafa69/scripts/slave/recipes/chromium_trybot.expected/full_tryserver_chromium_linux_chromeos_amd64_generic_chromium_compile_only_ng.json
[modify] https://crrev.com/eb90cfb6cdd5359a7c25a096427ff222e8dafa69/scripts/slave/recipes/chromium_trybot.expected/full_tryserver_chromium_linux_chromeos_daisy_chromium_compile_only_ng.json
[modify] https://crrev.com/eb90cfb6cdd5359a7c25a096427ff222e8dafa69/scripts/slave/recipes/chromium_trybot.expected/full_tryserver_chromium_linux_chromeos_x86_generic_chromium_compile_only_ng.json
[modify] https://crrev.com/eb90cfb6cdd5359a7c25a096427ff222e8dafa69/scripts/slave/recipe_modules/chromium/api.py

Status: Fixed (was: Started)

Comment 11 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 12 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 14 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)

Sign in to add a comment