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

Issue 773336 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

PaygenBuildCanary failing for reef-release since Oct 4

Project Member Reported by jclinton@chromium.org, Oct 10 2017

Issue description

https://uberchromegw.corp.google.com/i/chromeos/builders/reef-release

PaygenBuildCanary failure is maybe builds #1545->head (#1561). There was a BuildPackages failure introduced at #1552 and fixed at #1560 which masked this.

22:26:38: ERROR: <class 'chromite.lib.paygen.paygen_payload_lib.PayloadVerificationError'>: Payload integrity check failed: install_operations[9](SOURCE_BSDIFF).src_extents[491]: extent (448032->448034 * 4096) exceeds usable partition size (1835008000).

That's the only log that I can find that explains the error.

adlr, I'm not sure why this is failing or where to route. Can you assist in routing?

 
Cc: hidehiko@chromium.org

Comment 2 by adlr@chromium.org, Oct 10 2017

Owner: ahass...@chromium.org
Status: Assigned (was: Untriaged)
I'm trying to reproduce is locally and see what is the problem.
Labels: OS-Chrome
I can reproduce the bug but, I'm still investigating the exact cause of this bug. it seems to me that the build version 10002 (which was used as the source partition) had a significant increase in rootfs partition size from 1835008000 bytes to 1939865600 bytes and goes back to 1835008000 in subsequent builds. This probably caused an uncaught bug in update_payload scripts.

It might take a while to fix the bug and merge it in. If necessary, the deputies can force the release builders to use a newer version of an image (something higher than 10002.0.0) temporarily to bypass this error until the fix gets in. There is actually a term for this that I forgot :)

Oh..... 

There was a long standing payload generation bug with rootfs sizes that go down, though I thought deymo had fixed it.

The easy fix is to increase the rootfs size again. This doesn't cause the payload to get much bigger because the blocks are zero'd out, though it does cause more client disk writes than needed.

The right fix is to handle a shrinking rootfs size, of course. It shouldn't really be a problem.
This is not a payload generation bug. The delta is generated correctly. It is the python scripts that check for the integrity of the payload. I uploaded a fix patch, but waiting for senj@ to look and see if it is the proper way of fixing the issue.

The solution is not increasing the rootfs size at this point.

https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/713463/1/scripts/update_payload/checker.py#1062
Status: Started (was: Assigned)
Still waiting for the CL to get +2ed :/
Project Member

Comment 8 by bugdroid1@chromium.org, Oct 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/aosp/platform/system/update_engine/+/ae85374770d4492d28e62d792824eea55349c981

commit ae85374770d4492d28e62d792824eea55349c981
Author: Amin Hassani <ahassani@google.com>
Date: Mon Oct 16 21:14:00 2017

update_payload: Fix larger source issue

the _CheckOperations() function passes the new usable partition size as the old
usable partition size.  If the source image is larger than the target image,
this will be errornous as some checks fail.

BUG= chromium:773336 
TEST=scripts/paycheck.py --check delta.bin (10002.0.0 reef -> 10019.0.0 reef)

Change-Id: I8c30129831daff8e70df3dcb9639ff240e4a37ba
Reviewed-on: https://chromium-review.googlesource.com/713463
Commit-Ready: Amin Hassani <ahassani@chromium.org>
Tested-by: Amin Hassani <ahassani@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>

[modify] https://crrev.com/ae85374770d4492d28e62d792824eea55349c981/scripts/update_payload/checker_unittest.py
[modify] https://crrev.com/ae85374770d4492d28e62d792824eea55349c981/scripts/update_payload/checker.py

Status: Fixed (was: Started)
I'm marking this as fixed and verified.
Sorry, just fixed, someone should verify it too :)

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

Status: archived (was: Fixed)

Comment 12 by dchan@chromium.org, Jan 23 2018

Status: Fixed (was: Archived)

Sign in to add a comment