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

Issue 717179 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Email to this user bounced
Closed: May 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 0
Type: Bug



Sign in to add a comment

SignerTest and Archive stage failing on lakitu-release and lakitu_next-release

Project Member Reported by ameyd@google.com, May 1 2017

Issue description

[ADD relevant info inline]

https://uberchromegw.corp.google.com/i/chromeos/builders/lakitu-release/builds/2246

From the SignerTest stdio:
"""
19:56:19: INFO: Waiting for recovery image...

@@@STEP_FAILURE@@@
19:58:01: ERROR: Traceback (most recent call last):
  File "/b/cbuild/repository/chromite/cbuildbot/stages/generic_stages.py", line 628, in Run
    self.PerformStage()
  File "/b/cbuild/repository/chromite/cbuildbot/stages/release_stages.py", line 46, in PerformStage
    raise InvalidTestConditionException('Missing recovery image.')
InvalidTestConditionException: Missing recovery image.
"""

From the Archive stage stdio:
"""
19:57:12: INFO: RunCommand: /b/cbuild/repository/chromite/bin/cros_sdk 'USE=-cros-debug chrome_internal' 'PARALLEL_EMERGE_STATUS_FILE=/tmp/tmpQx_Y31' -- ./mod_image_for_recovery.sh '--board=lakitu' '--image=/mnt/host/source/src/build/images/lakitu/R60-9505.0.0/tmpz3oKNN/chromiumos_base_image.bin' in /b/cbuild/repository
19:57:47: ERROR: 
return code: 1; command: /b/cbuild/repository/chromite/bin/cros_sdk 'USE=-cros-debug chrome_internal' 'PARALLEL_EMERGE_STATUS_FILE=/tmp/tmpQx_Y31' -- ./mod_image_for_recovery.sh '--board=lakitu' '--image=/mnt/host/source/src/build/images/lakitu/R60-9505.0.0/tmpz3oKNN/chromiumos_base_image.bin'
 * Generating locale-archive: forcing # of jobs to 1

!!! The ebuild selected to satisfy "sys-apps/busybox[-make-symlinks]" for /build/lakitu/ has unmet requirements.
- sys-apps/busybox-1.26.2-r1::portage-stable USE="pam static systemd -debug -ipv6 -livecd -make-symlinks -math -mdev -savedconfig -selinux -sep-usr -syslog" ABI_X86="64"

  The following REQUIRED_USE flag constraints are unsatisfied:
    pam? ( !static )

(dependency required by "chromeos-base/chromeos-initramfs-0.0.1-r246::chromiumos" [ebuild])
(dependency required by "chromeos-base/chromeos-initramfs" [argument])
ERROR   : Fri Apr 28 19:57:46 PDT 2017
ERROR   :  PGID  PPID   PID     ELAPSED     TIME %CPU COMMAND
ERROR   : Arguments of 10: ./mod_image_for_recovery.sh '--board=lakitu' '--image=/mnt/host/source/src/build/images/lakitu/R60-9505.0.0/tmpz3oKNN/chromiumos_base_image.bin'
ERROR   : Backtrace:  (most recent call is last)
ERROR   :  mod_image_for_recovery.sh:404:main(), called: emerge_custom_kernel '/build/lakitu/factory-root' 
ERROR   :  common.sh:1246:emerge_custom_kernel(), called: die 'Cannot emerge chromeos-initramfs' 
ERROR   : 
ERROR   : Error was:
ERROR   :   Cannot emerge chromeos-initramfs
"""

Likely root cause: https://chromium-review.googlesource.com/#/c/489122/ ("busybox: upgraded package to upstream").
 
Root cause is that lakitu is forcing all packages to use pam, globally, which should never be done. Very quick fix is to update llakitu packages.use in the overlay to override sys-apps/busybox to set to "pam -static". Long term fix is to only set "pam" for those packages that need it.

Comment 2 by andreyu@google.com, May 1 2017

Any rationale for not enabling pam 'globally'? We do that for most other USE flags. How is 'pam' flag special?
AFAIK, this is one of the rare boards setting pam globally. Unfortunately, it conflicts with busybox static flag which we require for Recovery and Factory builds. One workaround is to force pam off specifically for this package in package.us. A cleaner fix would be to not have this board set pam globally. See here for the handful of others doing this: https://cs.corp.google.com/search/?q=f:package.use+busybox&m=25&type=cs

Project Member

Comment 4 by bugdroid1@chromium.org, May 2 2017

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

commit e50c9b7b07fef3cfb190bb9e7cc662b72f96661d
Author: Amey Deshpande <ameyd@google.com>
Date: Tue May 02 04:54:05 2017

lakitu: disable pam for busybox

BUG= chromium:717179 
TEST=Trybot

Change-Id: I24a7a55492139ae21148bbc2208a75e7522877cf
Reviewed-on: https://chromium-review.googlesource.com/492266
Commit-Ready: Amey Deshpande <ameyd@google.com>
Tested-by: Amey Deshpande <ameyd@google.com>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/e50c9b7b07fef3cfb190bb9e7cc662b72f96661d/overlay-lakitu/profiles/base/package.use

Comment 5 by ameyd@google.com, May 2 2017

Status: Fixed (was: Untriaged)

Comment 6 by andreyu@google.com, May 2 2017

Lakitu doesn't need or have Recovery/Factory builds. Should we disable the "static" flag instead of pam?

Sign in to add a comment