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

Issue 691140 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Last visit > 30 days ago
Closed: May 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Firmware image assignment fails because of missing build

Reported by jrbarnette@chromium.org, Feb 10 2017

Issue description

Stable firmware version assignment operates by reading content
from the build directory for the stable repair build.  If the
stable repair build is missing/non-existent, the entire run
fails, killing all firmware assignments.  The failure looks
like this:

Applying firmware updates:
Traceback (most recent call last):
  File "site_utils/stable_images/assign_stable_images.py", line 596, in <module>
    main(sys.argv)
  File "site_utils/stable_images/assign_stable_images.py", line 591, in main
    firmware_upgrades = _get_firmware_upgrades(updater, upgrade_versions)
  File "site_utils/stable_images/assign_stable_images.py", line 443, in _get_firmware_upgrades
    for board, version in cros_versions.iteritems()
  File "site_utils/stable_images/assign_stable_images.py", line 444, in <dictcomp>
    if board not in _FIRMWARE_UPGRADE_BLACKLIST
  File "site_utils/stable_images/assign_stable_images.py", line 420, in _get_firmware_version
    return _get_by_key_path(_read_gs_json_data(uri), key_path)
  File "site_utils/stable_images/assign_stable_images.py", line 308, in _read_gs_json_data
    json_object = json.load(sp.stdout)
  File "/usr/lib/python2.7/json/__init__.py", line 290, in load
    **kw)
  File "/usr/lib/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

This problem is affecting current version assignment runs, because
the veyron_rialto repair build has been deleted because it aged out.


 
Project Member

Comment 1 by bugdroid1@chromium.org, Feb 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/9cc922c1b9eee42d4cecefe14ce8f53910536704

commit 9cc922c1b9eee42d4cecefe14ce8f53910536704
Author: Richard Barnette <jrbarnette@chromium.org>
Date: Tue Feb 14 01:22:55 2017

[autotest] Don't blow up on missing stable build.

In pathological cases, it can happen that the assigned stable repair
build for a board is missing or otherwise broken.  In that case,
assign_stable_images would fail firmware assignment for all boards,
rather than just for the one bad board.

The problem is currently plaguing the veyron_rialto repair image,
and causing weekly version assignments to fail.

This fixes assign_stable_images to ignore failures caused by
missing or invalid builds when assigning firmware versions.

BUG= chromium:691140 
TEST=assign_stable_images.py --dry-run

Change-Id: I2d321653f878cb9981c981a85c6eb61c8832c874
Reviewed-on: https://chromium-review.googlesource.com/441267
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>

[modify] https://crrev.com/9cc922c1b9eee42d4cecefe14ce8f53910536704/site_utils/stable_images/assign_stable_images.py

Status: Fixed (was: Started)

Comment 3 by dchan@chromium.org, Aug 1 2017

Labels: VerifyIn-61

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

Status: Archived (was: Fixed)

Sign in to add a comment