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

Issue 855067 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 855291
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

tryjob on branch artifacts from 2 builds stepped on each other as the -b# is always -b0

Reported by vpalatin@chromium.org, Jun 21 2018

Issue description

I ran the following sequence:
- trigger a tryjob on the firmware-twinkie-9628.B branch with the following command:
  cros tryjob -g "*511132" -b firmware-twinkie-9628.B falco-firmware
- it did the following successful build :
  https://ci.chromium.org/p/chromeos/builders/luci.chromeos.general/Prod/b8943110035792562064
- download the resulting firmware artifacts: 
  https://storage.cloud.google.com/chromeos-image-archive/trybot-falco-firmware/R61-9628.1.0-b0/firmware_from_source.tar.bz2
  (it has the proper content: twinkie/ec.bin with version twinkie_v1.11.20-005227d8f)

- submit a CL on the firmware-twinkie-9628.B branch : http://crrev.com/c/790250

- trigger another tryjob on the firmware-twinkie-9628.B branch with the same command:
  cros tryjob -g "*511132" -b firmware-twinkie-9628.B falco-firmware
- it did the following successful build :
  https://ci.chromium.org/p/chromeos/builders/luci.chromeos.general/Prod/b8943103093031290784
- download the resulting firmware artifacts: 
  https://storage.cloud.google.com/chromeos-image-archive/trybot-falco-firmware/R61-9628.1.0-b0/firmware_from_source.tar.bz2
  (it has the proper updated content: twinkie/ec.bin with version twinkie_v1.11.21-3e33e08af)

What went wrong:
- Both builds has the SAME number: R61-9628.1.0-b0
- they are using the same gs directory to store the artifacts, so as soon as the second build is done, the first artifacts are LOST.
 
Cc: dgarr...@chromium.org
Status: Available (was: Untriaged)
AFAICT, GS blobs from tryjobs are best-effort and any behavior associated with them are nice-to-have.

IIRC, there's no way to increment the build numbers on the branches on Swarming. Don this b0 in the build name coming from the fact that we don't have a Buildbot build number?
Yes, Jason, that's the problem. Newer branches use a CIDB ID instead of a builderbot run number.

This issue will only happen with firmware branches, but it's not easy to fix there, because the fixes need to be applied per-branch, and will have an increasing number of dependencies.

The firmware build proposal I'm investigating would fix this problem, if it can be made to work at all.

Comment 3 by vapier@chromium.org, Jun 21 2018

Summary: tryjob on branche artifacts from 2 builds stepped on each other as the -b# is always -b0 (was: tryjob artifacts from 2 builds stepped on each other)
alternatively, rather than just pick -b0 all the time, we could at least pick a datestamp ?
If you change the suffix to anything other than "-b%d" a bunch of code will break.

The bigger problem is that that code is embedded in every firmware branch, so any fix would have to be applied to every branch.
If we have a bug tracking the Firmware Branch proposal, let's dupe this to that one.
Owner: dgarr...@chromium.org

Comment 7 Deleted

Mergedinto: 855291
Status: Duplicate (was: Available)

Sign in to add a comment