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

Issue 729604 link

Starred by 0 users

Issue metadata

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



Sign in to add a comment

reef-uni build broken at head

Project Member Reported by jclinton@chromium.org, Jun 5 2017

Issue description

After https://bugs.chromium.org/p/chromium/issues/detail?id=718534 reef-uni overlay being created, it seems that we've had a regression at ToT. The build fails with:

 * Package:    chromeos-base/dev-install-0.0.1-r919
 * Repository: chromiumos
 * USE:        abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU
 * FEATURES:   sandbox splitdebug userpriv usersandbox
 * Running stacked hooks for pre_pkg_setup
 *    sysroot_build_bin_dir ...
 [ ok ]
 * Running stacked hooks for post_pkg_setup
 *    python_eclass_hack ...
 [ ok ]
 * Running stacked hooks for pre_src_unpack
 *    python_multilib_setup ...
 [ ok ]
>>> Unpacking source...
 * Using local source dir(s): /mnt/host/source/src/platform/dev
 * path: /mnt/host/source/src/platform/dev
 * destdir: /build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/work/dev-install-0.0.1
>>> Source unpacked in /build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/work
 * Running stacked hooks for post_src_unpack
 *    asan_init ...
 [ ok ]
>>> Preparing source in /mnt/host/source/src/platform/dev ...
>>> Source prepared.
>>> Configuring source in /mnt/host/source/src/platform/dev ...
>>> Source configured.
>>> Compiling source in /mnt/host/source/src/platform/dev ...
 * Building depgraphs for: virtual/target-os portage virtual/target-os-dev virtual/target-os-test ...
ERROR: ld.so: object 'libsandbox.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object 'libsandbox.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object 'libsandbox.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object 'libsandbox.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
!!! Error: PORTAGE_CONFIGROOT='/build/reef/' is not a directory. Please correct this.
!!! Error: PORTAGE_CONFIGROOT='/build/reef/' is not a directory. Please correct this.
Traceback (most recent call last):
  File "/usr/bin/emerge", line 51, in <module>
    retval = emerge_main()
  File "/usr/lib64/portage/pym/_emerge/main.py", line 1042, in emerge_main
    action=myaction, args=myfiles, opts=myopts)
  File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__
    return result(*args, **kwargs)
  File "/usr/lib64/portage/pym/_emerge/actions.py", line 3231, in load_emerge_config
    **portage._native_kwargs(kwargs))
  File "/usr/lib64/portage/pym/portage/__init__.py", line 582, in create_trees
    env=env, eprefix=eprefix)
  File "/usr/lib64/portage/pym/portage/package/ebuild/config.py", line 331, in __init__
    local_config=local_config, target_root=target_root)
  File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 63, in __init__
    self._check_var_directory("PORTAGE_CONFIGROOT", self.config_root)
  File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 146, in _check_var_directory
    raise DirectoryNotFound(var)
DirectoryNotFound: /build/reef/
Traceback (most recent call last):
  File "/usr/bin/emerge", line 51, in <module>
    retval = emerge_main()
  File "/usr/lib64/portage/pym/_emerge/main.py", line 1042, in emerge_main
    action=myaction, args=myfiles, opts=myopts)
  File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__
    return result(*args, **kwargs)
  File "/usr/lib64/portage/pym/_emerge/actions.py", line 3231, in load_emerge_config
    **portage._native_kwargs(kwargs))
  File "/usr/lib64/portage/pym/portage/__init__.py", line 582, in create_trees
    env=env, eprefix=eprefix)
  File "/usr/lib64/portage/pym/portage/package/ebuild/config.py", line 331, in __init__
    local_config=local_config, target_root=target_root)
  File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 63, in __init__
    self._check_var_directory("PORTAGE_CONFIGROOT", self.config_root)
  File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 146, in _check_var_directory
    raise DirectoryNotFound(var)
DirectoryNotFound: /build/reef/
!!! Error: PORTAGE_CONFIGROOT='/build/reef/' is not a directory. Please correct this.
Traceback (most recent call last):
  File "/usr/bin/emerge", line 51, in <module>
    retval = emerge_main()
  File "/usr/lib64/portage/pym/_emerge/main.py", line 1042, in emerge_main
    action=myaction, args=myfiles, opts=myopts)
  File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__
    return result(*args, **kwargs)
  File "/usr/lib64/portage/pym/_emerge/actions.py", line 3231, in load_emerge_config
    **portage._native_kwargs(kwargs))
  File "/usr/lib64/portage/pym/portage/__init__.py", line 582, in create_trees
    env=env, eprefix=eprefix)
  File "/usr/lib64/portage/pym/portage/package/ebuild/config.py", line 331, in __init__
    local_config=local_config, target_root=target_root)
  File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 63, in __init__
    self._check_var_directory("PORTAGE_CONFIGROOT", self.config_root)
  File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 146, in _check_var_directory
    raise DirectoryNotFound(var)
DirectoryNotFound: /build/reef/
!!! Error: PORTAGE_CONFIGROOT='/build/reef/' is not a directory. Please correct this.
Traceback (most recent call last):
  File "/usr/bin/emerge", line 51, in <module>
    retval = emerge_main()
  File "/usr/lib64/portage/pym/_emerge/main.py", line 1042, in emerge_main
    action=myaction, args=myfiles, opts=myopts)
  File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__
    return result(*args, **kwargs)
  File "/usr/lib64/portage/pym/_emerge/actions.py", line 3231, in load_emerge_config
    **portage._native_kwargs(kwargs))
  File "/usr/lib64/portage/pym/portage/__init__.py", line 582, in create_trees
    env=env, eprefix=eprefix)
  File "/usr/lib64/portage/pym/portage/package/ebuild/config.py", line 331, in __init__
    local_config=local_config, target_root=target_root)
  File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 63, in __init__
    self._check_var_directory("PORTAGE_CONFIGROOT", self.config_root)
  File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 146, in _check_var_directory
    raise DirectoryNotFound(var)
DirectoryNotFound: /build/reef/
 * ERROR: chromeos-base/dev-install-0.0.1-r919::chromiumos failed (compile phase):
 *   `USE="abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU" emerge-reef portage` failed
 * ERROR: chromeos-base/dev-install-0.0.1-r919::chromiumos failed (compile phase):
 * ERROR: chromeos-base/dev-install-0.0.1-r919::chromiumos failed (compile phase):
 * ERROR: chromeos-base/dev-install-0.0.1-r919::chromiumos failed (compile phase):
 * 
 *   `USE="abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU" emerge-reef virtual/target-os-test` failed
 *   `USE="abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU" emerge-reef virtual/target-os` failed
 *   `USE="abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU" emerge-reef virtual/target-os-dev` failed
 * 
 * Call stack:
 * 
 * 
 * Call stack:
 * Call stack:
 * Call stack:
 *     ebuild.sh, line  93:  Called src_compile
 *     ebuild.sh, line  93:  Called src_compile
 *     ebuild.sh, line  93:  Called src_compile
 *   environment, line 3528:  Called die
 *   environment, line 3528:  Called die
 *     ebuild.sh, line  93:  Called src_compile
 *   environment, line 3528:  Called die
 * The specific snippet of code:
 * The specific snippet of code:
 * The specific snippet of code:
 *   environment, line 3528:  Called die
 * The specific snippet of code:
 *           [[ ${_pipestatus// } -eq 0 ]] || die "\`USE=\"${useflags}\" emerge-${BOARD} ${pkg}\` failed" ) & multijob_post_fork;
 *           [[ ${_pipestatus// } -eq 0 ]] || die "\`USE=\"${useflags}\" emerge-${BOARD} ${pkg}\` failed" ) & multijob_post_fork;
 *           [[ ${_pipestatus// } -eq 0 ]] || die "\`USE=\"${useflags}\" emerge-${BOARD} ${pkg}\` failed" ) & multijob_post_fork;
 * 
 * 
 * 
 * If you need support, post the output of `emerge --info '=chromeos-base/dev-install-0.0.1-r919::chromiumos'`,
 * If you need support, post the output of `emerge --info '=chromeos-base/dev-install-0.0.1-r919::chromiumos'`,
 *           [[ ${_pipestatus// } -eq 0 ]] || die "\`USE=\"${useflags}\" emerge-${BOARD} ${pkg}\` failed" ) & multijob_post_fork;
 * If you need support, post the output of `emerge --info '=chromeos-base/dev-install-0.0.1-r919::chromiumos'`,
 * the complete build log and the output of `emerge -pqv '=chromeos-base/dev-install-0.0.1-r919::chromiumos'`.
/usr/lib64/portage/bin/isolated-functions.sh: line 195: wait: ``USE="abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU" emerge-reef virtual/target-os-test` failed': not a pid or valid job spec
 * the complete build log and the output of `emerge -pqv '=chromeos-base/dev-install-0.0.1-r919::chromiumos'`.
/usr/lib64/portage/bin/isolated-functions.sh: line 195: wait: ``USE="abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU" emerge-reef virtual/target-os` failed': not a pid or valid job spec
 * the complete build log and the output of `emerge -pqv '=chromeos-base/dev-install-0.0.1-r919::chromiumos'`.
/usr/lib64/portage/bin/isolated-functions.sh: line 195: wait: ``USE="abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU" emerge-reef portage` failed': not a pid or valid job spec
 * 
 * The complete build log is located at '/build/reef-uni/tmp/portage/logs/chromeos-base:dev-install-0.0.1-r919:20170605-162749.log'.
 * The complete build log is located at '/build/reef-uni/tmp/portage/logs/chromeos-base:dev-install-0.0.1-r919:20170605-162749.log'.
 * The complete build log is located at '/build/reef-uni/tmp/portage/logs/chromeos-base:dev-install-0.0.1-r919:20170605-162749.log'.
 * For convenience, a symlink to the build log is located at '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/temp/build.log'.
 * If you need support, post the output of `emerge --info '=chromeos-base/dev-install-0.0.1-r919::chromiumos'`,
 * For convenience, a symlink to the build log is located at '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/temp/build.log'.
 * For convenience, a symlink to the build log is located at '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/temp/build.log'.
 * the complete build log and the output of `emerge -pqv '=chromeos-base/dev-install-0.0.1-r919::chromiumos'`.
/usr/lib64/portage/bin/isolated-functions.sh: line 195: wait: ``USE="abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU" emerge-reef virtual/target-os-dev` failed': not a pid or valid job spec
 * The ebuild environment file is located at '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/temp/environment'.
 * The ebuild environment file is located at '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/temp/environment'.
 * The ebuild environment file is located at '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/temp/environment'.
 * The complete build log is located at '/build/reef-uni/tmp/portage/logs/chromeos-base:dev-install-0.0.1-r919:20170605-162749.log'.
 * Working directory: '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/work/build'
 * Working directory: '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/work/build'
 * For convenience, a symlink to the build log is located at '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/temp/build.log'.
 * Working directory: '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/work/build'
 * S: '/mnt/host/source/src/platform/dev'
 * S: '/mnt/host/source/src/platform/dev'
 * S: '/mnt/host/source/src/platform/dev'
 * The ebuild environment file is located at '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/temp/environment'.
 * Working directory: '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/work/build'
 * S: '/mnt/host/source/src/platform/dev'
/usr/lib64/portage/bin/isolated-functions.sh: line 226: kill: (22872) - No such process
/usr/lib64/portage/bin/isolated-functions.sh: line 226: kill: (22872) - No such process
/usr/lib64/portage/bin/isolated-functions.sh: line 226: kill: (22872) - No such process

This probably wasn't caught due to missing paladin for reef-uni.

 
Description: Show this description
Yikes, this is bad. dev-install does a Portage emerge *inside* the build_packages emerge. (We must go deeper. /Inception)

The root cause is this line of code:

http://cs/chromeos_public/src/third_party/chromiumos-overlay/eclass/cros-board.eclass?l=370&rcl=75898e17c617f9cf303b3bfea87582e31327cdb3

This was checked in here:
https://chromium-review.googlesource.com/c/503469/

This is a one-time thing as having a board overlay based on a non-unified build is supposed to only happen when trying to convert a legacy board to unified (i.e. reef vs reef-uni). For new reference boards, this won't happen (they won't be suffixed by -uni).

I think maybe we need to pass --board_root to the nested emerge so that it's using the same /build prefix. This seems like a hack, though. Continuing to research.

Comment 3 by sjg@google.com, Jun 5 2017

I wonder why cros-board is being used in this way? The intent is to provide the board name for coreboot, etc... (at least as I understand it)
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/eb879c019829b4be894f60bce75b394ad4984e17

commit eb879c019829b4be894f60bce75b394ad4984e17
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Thu Jun 08 15:17:52 2017

Fix reef-uni build: add get_current_board_with_variant non-uni

This adds a paramenter to get_current_board_with_variant that defaults
to false to optionally not drop the -uni suffix off of a board name
while it's returning the variants. get_current_board_with_variant is
used throughout the Portage overlays and scripts so care was taken to
not change the behavior in any existing call site.

BUG= chromium:729604 
TEST=emerge-reef-uni --nodeps chromeos-base/dev-install

Change-Id: I8036740a8b399a57c311690694a2a713094a1e65
Reviewed-on: https://chromium-review.googlesource.com/524900
Commit-Ready: Simon Glass <sjg@chromium.org>
Tested-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>

[modify] https://crrev.com/eb879c019829b4be894f60bce75b394ad4984e17/eclass/cros-board.eclass

Project Member

Comment 5 by bugdroid1@chromium.org, Jun 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/996e0e5eacb2c417a2a2658f026175bc886e8a9d

commit 996e0e5eacb2c417a2a2658f026175bc886e8a9d
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Thu Jun 08 17:10:56 2017

Fix reef-uni build: use new get_current_board_with_variant param

This returns the board with the -uni prefix still attached.

BUG= chromium:729604 
TEST=emerge-reef-uni --nodeps chromeos-base/dev-install

Change-Id: I1fffc392dc4c40e0fbd25e553362c0d53974b1d2
Reviewed-on: https://chromium-review.googlesource.com/526479
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>

[modify] https://crrev.com/996e0e5eacb2c417a2a2658f026175bc886e8a9d/chromeos-base/dev-install/dev-install-9999.ebuild

Status: Fixed (was: Started)

Comment 7 by sjg@google.com, Jul 5 2017

Labels: Team-BLD

Comment 8 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment