Failure on eve-tot-chrome-pfq-informational |
|||||||||
Issue descriptionIt seems it fails to emerge-eve. It mentions a REQUIRED_USE flag constraint (build_native_assistant? ( chrome_internal )) that is not satisfied. https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8938928218941256352 09:32:46: INFO: RunCommand: /b/swarming/w/ir/cache/cbuild/repository/chromite/bin/cros_sdk -- emerge-eve -p --cols --quiet --root /var/empty -e virtual/target-os in /b/swarming/w/ir/cache/cbuild/repository [1;31m09:33:25: ERROR: Traceback (most recent call last): File "/b/swarming/w/ir/cache/cbuild/repository/chromite/cbuildbot/stages/generic_stages.py", line 682, in Run self.PerformStage() File "/b/swarming/w/ir/cache/cbuild/repository/chromite/cbuildbot/stages/android_stages.py", line 158, in PerformStage versions, branches = self._UpdateBoardDictsForAndroidBuildInfo() File "/b/swarming/w/ir/cache/cbuild/repository/chromite/cbuildbot/stages/android_stages.py", line 133, in _UpdateBoardDictsForAndroidBuildInfo version = self._run.DetermineAndroidVersion(boards=[board]) File "/b/swarming/w/ir/cache/cbuild/repository/chromite/cbuildbot/cbuildbot_run.py", line 984, in FuncWrapper return result(*args, **kwargs) File "/b/swarming/w/ir/cache/cbuild/repository/chromite/cbuildbot/cbuildbot_run.py", line 893, in DetermineAndroidVersion package = self.DetermineAndroidPackage(board) File "/b/swarming/w/ir/cache/cbuild/repository/chromite/cbuildbot/cbuildbot_run.py", line 866, in DetermineAndroidPackage packages = portage_util.GetPackageDependencies(board, 'virtual/target-os') File "/b/swarming/w/ir/cache/cbuild/repository/chromite/lib/portage_util.py", line 1803, in GetPackageDependencies capture_output=True).output.splitlines() File "/b/swarming/w/ir/cache/cbuild/repository/chromite/lib/cros_build_lib.py", line 647, in RunCommand raise RunCommandError(msg, cmd_result) RunCommandError: return code: 1; command: /b/swarming/w/ir/cache/cbuild/repository/chromite/bin/cros_sdk -- emerge-eve -p --cols --quiet --root /var/empty -e virtual/target-os !!! The ebuild selected to satisfy "chromeos-base/chromeos-chrome" for /var/empty/ has unmet requirements. - chromeos-base/chromeos-chrome-70.0.3515.0_alpha-r1::chromiumos USE="accessibility authpolicy autotest build_native_assistant build_tests buildcheck cfi chrome_debug chrome_remoting clang cups debug_fission evdev_gestures fonts gold highdpi libcxx nacl opengles runhooks smbprovider thinlto v4l2_codec vaapi xkbcommon -afdo_use -app_shell -asan -chrome_debug_tests -chrome_internal -chrome_media -clang_tidy -component_build -goma -hardfp -internal_gles_conform -jumbo -lld -mojo (-neon) -opengl -v4lplugin -verbose -vtable_verify" ABI_X86="64" OZONE_PLATFORM="default_gbm gbm -caca -cast -default_caca -default_cast -default_egltest -default_test -egltest -test" OZONE_PLATFORM_DEFAULT="gbm -caca -cast -egltest -test" The following REQUIRED_USE flag constraints are unsatisfied: build_native_assistant? ( chrome_internal ) The above constraints are a subset of the following complete expression: asan? ( clang ) at-most-one-of ( gold lld ) cfi? ( thinlto ) clang_tidy? ( clang ) libcxx? ( clang ) thinlto? ( clang any-of ( gold lld ) ) afdo_use? ( clang ) build_native_assistant? ( chrome_internal ) exactly-one-of ( ozone_platform_default_gbm ozone_platform_default_cast ozone_platform_default_test ozone_platform_default_egltest ozone_platform_default_caca ) (dependency required by "virtual/chromeos-interface-1-r5::chromiumos[-chromeless_tty]" [ebuild]) (dependency required by "virtual/target-chromium-os-1-r102::chromiumos" [ebuild]) (dependency required by "virtual/target-chrome-os-1-r21::chromeos" [ebuild]) (dependency required by "virtual/target-os-1.5-r1::chromeos" [ebuild]) (dependency required by "virtual/target-os" [argument])
,
Aug 6
It seems that the internal board configs are correctly generated [1] with official_chrome [2] (i.e. "chrome_internal" [3]). Where is the issue? [1]: https://cs.corp.google.com/chromeos_public/chromite/config/chromeos_config.py?g=0&l=1620 [2]: https://cs.corp.google.com/chromeos_public/chromite/config/chromeos_config.py?g=0&l=1093 [3]: https://cs.corp.google.com/chromeos_public/chromite/lib/constants.py?type=cs&q=USE_CHROME_INTERNAL+p:chromeos_public&g=0&l=503
,
Aug 6
Discussion on CL mentioned in #1 is at https://chrome-internal-review.googlesource.com/c/chromeos/overlays/overlay-eve-private/+/659672. Adding a few more people who might help.
,
Aug 6
,
Aug 6
Answering from #1: chromeos_config defines out build configurations. chromeos_config_unittest --update will regenerate the assorted artifact files like config_dump.json. I don't understand how `"manifest": "official.xml",` entered the conversation, but it's one of the settings generally required for internal builds.
,
Aug 6
Looking at config_dump.json: eve-tot-chrome-pfq-informational does not have useflags: "-chrome_internal". eve-tot-chromium-pfq-informational, on the other hand, *does*.
,
Aug 6
I ran a fresh generate to make sure this wasn't from someone checking in a bad config, but that did not fix the issue. Poring through the settings upstream, it does look like it should be generated the right way around, so nothing obvious to tweak there.
,
Aug 6
That sounds correct. eve-tot-pfq-informational is intended to build ChromeOS (internal) and eve-tot-chromium-pfq-informational is intended to build ChromiumOS (external).
,
Aug 6
So why does the step AndroidMetadata fails with:
The following REQUIRED_USE flag constraints are unsatisfied:
build_native_assistant? ( chrome_internal )
?
Does that step uses different configs? Is there an ordering issue?
,
Aug 6
Oh. OK, disregard all that. The "-" is not an indicator of an option, it's a subtraction sign. That is all WAI. config_dump.json has the correct values.
,
Aug 7
(quality of life improvement: make those use '!' instead of '-' to indicate that it should not be present)
,
Aug 7
> (quality of life improvement: make those use '!' instead of '-' to indicate that it should not be present) sounds like bikeshedding. the syntax here is for portage/emerge and it uses - not ! to disable options.
,
Aug 7
This directly led to me misunderstanding the flags, since the same line if interpreted as a shell option means the precise opposite of what it means here. Ambiguity is bad.
,
Aug 7
I have no idea what you mean by "shell option". bash/sh don't use ! for shell options (set/shopt). if you were to take that USE syntax and set it in your environment before running emerge, the syntax is exactly the same.
,
Aug 7
Please let's get back to the real issue: Adding a few more people who modified android_stages.py recently: +nya@ +linben@ Is the AndroidMetadata stage missing something to guarantee the use of the official chrome_internal when it's in the USE flags? For example, in the simplechrome stage we extend the arguments of chrome-sdk by adding "--internal" when we find the "chrome_internal" USE flag. https://cs.corp.google.com/chromeos_public/chromite/cbuildbot/stages/chrome_stages.py?q=USE_CHROME_INTERNAL+p:chromeos_public&dr=C&l=323
,
Aug 7
+davidriley@ and +bhthompson@ if they have some ideas.
,
Aug 7
FWIW, AndroidMetadata just happens to be the first thing that causes Portage to try to map through all the dependencies for the build, so if the configuration is broken we fail here first, so this is unlikely something AndroidMetadata is doing wrong, and more like something is wrong with the build itself.
,
Aug 7
But the build seems to be correctly configured. Looking at config_dump.json, the "eve-tot-chromium-pfq-informational" [1] has a "useflags": [ "-chrome_internal" ], while "eve-tot-chrome-pfq-informational" doesn't. [1]: https://cs.corp.google.com/chromeos_public/chromite/config/config_dump.json?g=0&maxsize=9934696&l=23424
,
Aug 7
The requirement for chrome_internal to be there for build_native_assistant has been around since early July https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/1130456 It appears this was armed in https://chrome-internal-review.googlesource.com/658390 which landed on Aug 2 which is when this failed, I am surprised this made it through the CQ if it breaks this way. However eve-release is passing (mostly) https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8938919164786318336 so the build itself cannot be fundamentally broken...
,
Aug 8
Xiaohui, Bernie and I agreed that we should land this CL ASAP to unblock the PFQs, and then we will land some follow up CLs to fix this dependency to make sure the assistant is built only when chrome_internal flag is provided on eve. Passing back to xiaohuic@.
,
Aug 9
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/dad4675f8cfa9ded3bf1a150449e81d6b9583a5d commit dad4675f8cfa9ded3bf1a150449e81d6b9583a5d Author: Xiaohui Chen <xiaohuic@google.com> Date: Thu Aug 09 09:21:25 2018 Only build assistant when chrome_internal is set BUG= chromium:871343 TEST=locally build eve Change-Id: I7bfa58f7828d06845736a48351523baaf402c789 Reviewed-on: https://chromium-review.googlesource.com/1168188 Commit-Ready: Xiaohui Chen <xiaohuic@chromium.org> Tested-by: Xiaohui Chen <xiaohuic@chromium.org> Reviewed-by: Ahmed Fakhry <afakhry@chromium.org> Reviewed-by: Bernie Thompson <bhthompson@chromium.org> [modify] https://crrev.com/dad4675f8cfa9ded3bf1a150449e81d6b9583a5d/chromeos-base/chromeos-chrome/chromeos-chrome-9999.ebuild
,
Aug 9
Build cycled green this morning.
,
Aug 14
The following revision refers to this bug: https://chrome-internal.googlesource.com/chromeos/overlays/overlay-eve-arcnext-private/+/24c8988b76b4f373a88e5e0b66ba0de10fb87619 commit 24c8988b76b4f373a88e5e0b66ba0de10fb87619 Author: Xiaohui Chen <xiaohuic@google.com> Date: Tue Aug 14 12:55:32 2018
,
Sep 21
|
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by afakhry@chromium.org
, Aug 6Components: Infra>Client>ChromeOS