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

Issue 692625 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 0
Type: ----

Blocking:
issue 690286
issue 692129



Sign in to add a comment

Build failure : reef/snappy/pyro : PaygenBuildCanary fails with Old and new filesystems have different size.

Project Member Reported by bleung@chromium.org, Feb 15 2017

Issue description

[ADD relevant info inline]

Link to build or pfq page.
https://uberchromegw.corp.google.com/i/chromeos/builders/snappy-release/builds/374

build # for that buildbot.
snappy-release Build #374

Snippet of log that contains the failure.
https://uberchromegw.corp.google.com/i/chromeos/builders/snappy-release/builds/374/steps/PaygenBuildCanary/logs/stdio

07:07:15: ERROR: Nonzero exit code (1), dumping command output:
Generating delta update
md5sum of src kernel:
37d92d3acadb86d726d7b538172d522a  /tmp/cbuildbot-tmp0vV1Uq/tmpK4g96H/paygen_payload.KihOSF/cros_generate_update_payload.KTRcG1
Truncated root to 1887436800 bytes.
md5sum of src root:
f2ec4106375fb0469a44af3bc466a171  /tmp/cbuildbot-tmp0vV1Uq/tmpK4g96H/paygen_payload.KihOSF/cros_generate_update_payload.Ydjzj5
Truncated root to 1835008000 bytes.
Using rootfs partition size: 2097152000
Running delta_generator with args: -major_version=1 -out_file=/tmp/cbuildbot-tmp0vV1Uq/tmpK4g96H/paygen_payload.KihOSF/delta.bin -private_key= -new_image=/tmp/cbuildbot-tmp0vV1Uq/tmpK4g96H/paygen_payload.KihOSF/cros_generate_update_payload.QuTW0K -new_kernel=/tmp/cbuildbot-tmp0vV1Uq/tmpK4g96H/paygen_payload.KihOSF/cros_generate_update_payload.ihA2d5 -new_channel=canary-channel -new_board=snappy -new_version=9283.0.0 -new_key=premp -new_build_channel=canary-channel -new_build_version=9283.0.0 -old_image=/tmp/cbuildbot-tmp0vV1Uq/tmpK4g96H/paygen_payload.KihOSF/cros_generate_update_payload.Ydjzj5 -old_kernel=/tmp/cbuildbot-tmp0vV1Uq/tmpK4g96H/paygen_payload.KihOSF/cros_generate_update_payload.KTRcG1 -old_channel=canary-channel -old_board=snappy -old_version=9176.0.0 -old_key=premp -old_build_channel=canary-channel -old_build_version=9176.0.0 -rootfs_partition_size=2097152000
[0214/070714:WARNING:generate_delta_main.cc(438)] --new_partitions is empty, using deprecated --new_image and --new_kernel flags.
[0214/070714:WARNING:generate_delta_main.cc(461)] --old_partitions is empty, using deprecated --old_image and --old_kernel flags.
[0214/070714:INFO:generate_delta_main.cc(520)] Using provided major_version=1
[0214/070714:INFO:generate_delta_main.cc(539)] Auto-detected minor_version=3
[0214/070714:INFO:generate_delta_main.cc(554)] Generating delta update
[0214/070714:INFO:delta_diff_generator.cc(89)] Partition name: system
[0214/070714:INFO:delta_diff_generator.cc(90)] Partition size: 1835008000
[0214/070714:INFO:delta_diff_generator.cc(91)] Block count: 448000
[0214/070714:WARNING:delta_diff_generator.cc(101)] Old and new filesystems have different size.
[0214/070714:FATAL:delta_diff_generator.cc(106)] Shirking the filesystem size is not supported at the moment.
 

Comment 1 by bleung@chromium.org, Feb 15 2017

Blocking: 692129
Owner: shuqianz@chromium.org
Status: Assigned (was: Untriaged)
From the build logs:

06:48:56: INFO: All payloads for the build:
06:48:56: INFO:   1: chromeos_9283.0.0_snappy_canary-channel_full_premp.bin-692bf4298ca6b716dc378901d3c9049a.signed
06:48:56: INFO:   2: chromeos_9176.0.0_snappy_canary-channel_full_premp.bin-a5bffcb170384bbe02fdbe8990c18ef6.signed (exists)
06:48:56: INFO:   3: chromeos_9176.0.0-9283.0.0_snappy_canary-channel_delta_premp.bin-8868fab67da2712ecf33741570d21714.signed
06:48:56: INFO:   4: chromeos_9283.0.0_snappy_canary-channel_full_test.bin-fd272abef14ffc6230bac680a1638c62
06:48:56: INFO:   5: chromeos_9176.0.0_snappy_canary-channel_full_test.bin-b2e5c515cd5b31e39ee7ed39fd40de09 (exists)
06:48:56: INFO:   6: chromeos_9283.0.0-9283.0.0_snappy_canary-channel_delta_test.bin-38f3799f94b1ec268c633f2e83039315
06:48:56: INFO:   7: chromeos_9176.0.0-9283.0.0_snappy_canary-channel_delta_test.bin-c81109ed9c18d51046cfec49ebcfa246

Assigning to this week's deputy.

We need to blacklist the older builds from paygen testing.
That would seem to be at minimum the 9176.0.0 build.
dgarrett@ should know how to find all builds needing to
be blacklisted.  He may also know of alternative solutions.

Why is 9176 being used? These boards are having problems bootstrapping, but can we just bump the attribute for what the base should be in the hopes of getting over the hurdle? Otherwise we're just at the whim of successive filesystem sizes. Presumably crbug.com/192136 should be fixed?
The error is happening because the rootfs filesystem configuration shrank in size, which is not a supported thing for delta payloads (you can still use full payloads).

9176.0.0 is being used because GE says it's the currently released version in the field.

Two solutions:
1) Grow the rootfs filesystem size back to whatever it was, and live with that.
2) Convince GE that there is no current release. Devices in the field will still update via full payloads.

I'm not sure how hard 2 is, the GE team can speak to that.
PS: Dev channel has the previous release as: 9202.12.0

Which appears to be fine in terms of FS size.
Cc: leecy@chromium.org
cc leecy@

Comment 8 by leecy@chromium.org, Feb 15 2017

Cc: josa...@chromium.org
Do we know where the rootfs filesystem changed?  I think the easiest thing to do is to do a manual canary push of whatever version we think makes sense (i.e. has the rootfs the size we want).  Presumably no canary channel delta payload was generated (can you confirm Don?) so we would essentially just be pushing the full payload if we do a manual push here.

Once that is live in the field, and assuming the newest one is is the same rootfs, this will correct itself since that will be the newest n-1 for generating deltas.

Comment 9 by bleung@chromium.org, Feb 15 2017

Could we just pick a very recent M58 canary to manually push reef/pyro/snappy to so we can clear this?

In practice, I'm almost certain that there are no actual users on Canary at this point since basically all systems are assigned to dogfooders on Dev (about to transition to Beta), and developers don't tend to sit on Canary.

Comment 10 by leecy@chromium.org, Feb 15 2017

Just confirmed in GE, that we only see the full payloads associated with the newer builds.  I think we can just push those boards as is manually.
Owner: dgarr...@chromium.org
Don, do you know how to make a manual push?

Comment 12 by leecy@chromium.org, Feb 15 2017

Cc: bhthompson@chromium.org
Bernie just pushed today's canary (9285.0.0) for those 3 boards, so this should be the new n-1 for the next set of canary builders.  
Blocking: 690286
Thanks Bernie! Let's see how the next canary behaves. If we pass PaygenBuildCanary, i'll mark this as fixed.

Comment 15 by leecy@chromium.org, Feb 16 2017

I do see 9285.0.0 marked as live for these boards now, so assuming a delta can be produced from it, it should be OK.
Excellent.

Sign in to add a comment