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

Issue 807834 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

cros tryjob -p gives bogus PatchChanges errors

Project Member Reported by derat@chromium.org, Feb 1 2018

Issue description

I'm getting bogus-seeming errors in the PatchChanges stage when I run "cros tryjob" with -p flags.

I'm running "cros tryjob --hwtest -p chromiumos/third_party/autotest:tast_lab -p chromiumos/overlays/chromiumos-overlay:tast_autotest lumpy-release-tryjob". The chromiumos-overlay change, which is uploaded at https://crrev.com/c/896262, is a single commit on top of upstream. It renames chromeos-base/autotest-all/autotest-all-0.0.1-r41.ebuild to chromeos-base/autotest-all/autotest-all-0.0.1-r42.ebuild.

https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/chromeos-base/autotest-all/ shows that upstream currently has a autotest-all-0.0.1-r41.ebuild symlink pointing at autotest-all-0.0.1.ebuild.

My builds, e.g. http://uberchromegw/i/chromiumos.tryserver/builders/release/builds/19620, are failing in PatchChanges with an error like this:

----

17:37:01: INFO: Attempting to apply change chromiumos/overlays/chromiumos-overlay:tast_autotest:0f764b8a:"chromiumos-overlay: Add autotest-server-tests-tast package."
17:37:01: INFO: Rewinding transaction: failed changes: chromiumos/overlays/chromiumos-overlay:tast_autotest:0f764b8a:"chromiumos-overlay: Add autotest-server-tests-tast package." .
Traceback (most recent call last):
  File "/b/c/cbuild/repository/chromite/cbuildbot/patch_series.py", line 941, in _Transaction
    yield
  File "/b/c/cbuild/repository/chromite/cbuildbot/patch_series.py", line 886, in Apply
    self._ApplyChanges(inducing_change, transaction_changes)
  File "/b/c/cbuild/repository/chromite/cbuildbot/patch_series.py", line 110, in f
    return functor(self, parent, *args, **kwargs)
  File "/b/c/cbuild/repository/chromite/cbuildbot/patch_series.py", line 976, in _ApplyChanges
    self.ApplyChange(change)
  File "/b/c/cbuild/repository/chromite/cbuildbot/stages/sync_stages.py", line 185, in ApplyChange
    return patch_series.PatchSeries.ApplyChange(self, change)
  File "/b/c/cbuild/repository/chromite/cbuildbot/patch_series.py", line 306, in f
    return functor(self, *args, **kwargs)
  File "/b/c/cbuild/repository/chromite/cbuildbot/patch_series.py", line 342, in ApplyChange
    return change.ApplyAgainstManifest(self.manifest, trivial=False)
  File "/b/c/cbuild/repository/chromite/lib/patch.py", line 1293, in ApplyAgainstManifest
    trivial=trivial)
  File "/b/c/cbuild/repository/chromite/lib/patch.py", line 1177, in Apply
    self._FindEbuildConflicts(git_repo, upstream, inflight=inflight)
  File "/b/c/cbuild/repository/chromite/lib/patch.py", line 1413, in _FindEbuildConflicts
    raise EbuildConflict(self, inflight=inflight, ebuilds=conflicts)
EbuildConflict: chromiumos/overlays/chromiumos-overlay:tast_autotest:0f764b8a:"chromiumos-overlay: Add autotest-server-tests-tast package." deletes an ebuild that is not present anymore. For this reason, we refuse to submit your change.
When you rebase your change, please take into account that the following ebuilds have been uprevved or deleted:
- chromeos-base/autotest-all/autotest-all-0.0.1-r41.ebuild
17:37:01: INFO: Failed applying transaction for chromiumos/overlays/chromiumos-overlay:tast_autotest:0f764b8a:"chromiumos-overlay: Add autotest-server-tests-tast package.": chromiumos/overlays/chromiumos-overlay:tast_autotest:0f764b8a:"chromiumos-overlay: Add autotest-server-tests-tast package." deletes an ebuild that is not present anymore. For this reason, we refuse to submit your change.
When you rebase your change, please take into account that the following ebuilds have been uprevved or deleted:
- chromeos-base/autotest-all/autotest-all-0.0.1-r41.ebuild
17:37:01: ERROR: Failed applying patches: chromiumos/overlays/chromiumos-overlay:tast_autotest:0f764b8a:"chromiumos-overlay: Add autotest-server-tests-tast package." deletes an ebuild that is not present anymore. For this reason, we refuse to submit your change.
When you rebase your change, please take into account that the following ebuilds have been uprevved or deleted:
- chromeos-base/autotest-all/autotest-all-0.0.1-r41.ebuild
----

This doesn't make sense to me, as autotest-all-0.0.1-r41.ebuild still exists.

When I submit a tryjob with the same two changes, but using "-g 896262 -g 894730" instead of the -p flags, PatchChanges succeeds: http://uberchromegw/i/chromiumos.tryserver/builders/release/builds/19619
 
I hope to refactor how patches as applied someday, since we have a slow but steady stream of this kind of problem.

Though.... it'll be a while.
Project Member

Comment 2 by bugdroid1@chromium.org, Feb 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/033ed909d5f367f33397e80294d11b6115c21170

commit 033ed909d5f367f33397e80294d11b6115c21170
Author: Daniel Erat <derat@chromium.org>
Date: Fri Feb 02 02:08:49 2018

chromite: Add --help warning about cros tryjob -p bugginess.

Warn people away from using cros tryjob's -p flag.

BUG=chromium:806963,chromium:807834
TEST=manual: ran "cros tryjob --help" and saw warning

Change-Id: I2d56d2e53dae57433a42acb6e94766623d37a80a
Reviewed-on: https://chromium-review.googlesource.com/896963
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jacob Kopczynski <jkop@chromium.org>

[modify] https://crrev.com/033ed909d5f367f33397e80294d11b6115c21170/cli/cros/cros_tryjob.py

Components: Infra>Client>ChromeOS>CI
Components: -Infra>Client>ChromeOS

Sign in to add a comment