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

Issue 683373 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocking:
issue 682476



Sign in to add a comment

Trybot failed with repo unknown options error

Project Member Reported by abhishekbh@google.com, Jan 20 2017

Issue description

Tried running a trybot on cyan-paladin got this error -

https://uberchromegw.corp.google.com/i/chromiumos.tryserver/builders/paladin/builds/2026/steps/Sync/logs/stdio


13:00:47: INFO: RunCommand: repo manifest in /b/cbuild/internal_master
13:00:48: INFO: RunCommand: repo selfupdate in /b/cbuild/internal_master
info: A new version of repo is available


object 69034721e607ecbe8dad736c8ce07d91efdc8353
type commit
tag v1.12.37-cr1
tagger Mike Frysinger <vapier@chromium.org> 1476811349 -0400

Chromium-specific release

gpg: Signature made Tue 18 Oct 2016 10:22:29 AM PDT
gpg:                using RSA key DA03FD3916B500A8
gpg: Can't check signature: public key not found


warning: Skipped upgrade to unverified version
13:00:49: INFO: RunCommand: repo init --repo-url https://chromium.googlesource.com/external/repo --manifest-url https://chrome-internal-review.googlesource.com/chromeos/manifest-internal --manifest-name official.xml --manifest-branch master in /b/cbuild/internal_master
From https://chrome-internal-review.googlesource.com/chromeos/manifest-internal
 * [new branch]      release-R57-9202.B -> origin/release-R57-9202.B

repo has been initialized in /b/cbuild/internal_master
13:00:56: INFO: RunCommand: repo sync --help in /b/cbuild/internal_master
13:00:56: INFO: RunCommand: repo --time sync '--cache-dir=/b/cros_git_cache' -n in /b/cbuild/internal_master
Usage: repo sync [<project>...]

main.py: error: no such option: --cache-dir
13:00:56: WARNING: cmd ['repo', '--time', 'sync', '--cache-dir=/b/cros_git_cache'] failed, clean up repository and retry sync.
13:01:05: INFO: RunCommand: repo manifest in /b/cbuild/internal_master
13:01:06: INFO: RunCommand: repo init --repo-url https://chromium.googlesource.com/external/repo --manifest-url https://chrome-internal-review.googlesource.com/chromeos/manifest-internal --manifest-name official.xml --manifest-branch master in /b/cbuild/internal_master

repo has been initialized in /b/cbuild/internal_master
13:01:07: INFO: RunCommand: repo --time sync '--cache-dir=/b/cros_git_cache' -n in /b/cbuild/internal_master
Usage: repo sync [<project>...]

main.py: error: no such option: --cache-dir
13:01:07: WARNING: Command failed with retriable error.
return code: 2; command: repo --time sync '--cache-dir=/b/cros_git_cache' -n
cmd=['repo', '--time', 'sync', '--cache-dir=/b/cros_git_cache', '-n'], cwd=/b/cbuild/internal_master
13:01:16: INFO: RunCommand: repo manifest in /b/cbuild/internal_master
13:01:16: INFO: RunCommand: repo init --repo-url https://chromium.googlesource.com/external/repo --manifest-url https://chrome-internal-review.googlesource.com/chromeos/manifest-internal --manifest-name official.xml --manifest-branch master in /b/cbuild/internal_master




 
Cc: vapier@chromium.org
Components: Infra>Client>ChromeOS
Owner: pprabhu@chromium.org
Status: Started (was: Untriaged)
That buildslave is completely bonkers.
https://uberchromegw.corp.google.com/i/chromiumos.tryserver/buildslaves/build296-m2

All builds on it have been failing because 'repo' can not be updated.
A clobber build has gotten far enough in the sync slave: https://uberchromegw.corp.google.com/i/chromiumos.tryserver/builders/pre_cq/builds/15220

I'll declare victory for this particular buildslave.

Comment 3 by nxia@chromium.org, Jan 20 2017

Next time when we see this repo version issue again, please do not clobber and let me try some possible fixes on the problemed builder. 
Status: Fixed (was: Started)
I searched for other recent victims:

(warning: This is a very bad query (even explain ... gets stuck for minutes). Don't productionalize)


cidb_debug:
mysql> select f2.bot_hostname, f1.id from buildTable f1 inner join (select max(id) id, bot_hostname, summary from buildTable group by bot_hostname) as f2 on f1.bot_hostname = f2.bot_hostname and f1.id = f2.id and f1.summary like '%SrcCheckOutException%' and start_time > '2017-01-10' limit 10;
+-------------------------------+-------+
| bot_hostname                  | id    |
+-------------------------------+-------+
| build296-m2.golo.chromium.org | 21098 |
+-------------------------------+-------+
1 row in set (0.20 sec)


cidb-prod-replica:
mysql> select f2.bot_hostname, f1.id from buildTable f1 inner join (select max(id) id, bot_hostname, summary from buildTable where start_time > '2017-01-10' group by bot_hostname) as f2 on f1.bot_hostname = f2.bot_hostname and f1.id = f2.id and f1.summary like '%SrcCheckOutException%' and start_time > '2017-01-10' limit 10;
Empty set (8.54 sec)


There aren't any other slaves at the moment.

Comment 5 by nxia@chromium.org, Jan 20 2017

what happened is:

"repo selfupdate" raised the warning "warning: Skipped upgrade to unverified version" without updating the repo. 

"repo init" went through without throwing any exception.

Then "repo sync" failed because of no --cache-dir option, which doesn't exist in old repo version.


One possible solution is to catch the output of "repo selfupdate". If the output contains the warning of old version and failure in update repo version, we can remove ".repo" folder like what we do when "repo selfupdate" really throws an exception: http://shortn/_ryeIVm9iid

Comment 6 by nxia@chromium.org, Jan 20 2017

Owner: nxia@chromium.org
Status: Assigned (was: Fixed)

Comment 7 by vapier@chromium.org, Jan 23 2017

Blocking: 682476
Project Member

Comment 8 by bugdroid1@chromium.org, Jan 24 2017

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

commit e7a2a91bf249c3f0c3921cb2405ef9d72247c9e6
Author: Ningning Xia <nxia@chromium.org>
Date: Sat Jan 21 00:18:58 2017

Remove 'repo' dir when 'repo selfupdate' raises version warnings

Capture 'repo selfupdate' output, when 'repo selfupdate' complains about
repo version warnings and skips updating itself, remove the .repo/repo
folder. 'repo init' will clone a new copy of repo then.

BUG= chromium:683373 
TEST=unit_tests

Change-Id: I1905f71537ccbc6f6e1c61b61d190c021242e252
Reviewed-on: https://chromium-review.googlesource.com/430997
Commit-Ready: Ningning Xia <nxia@chromium.org>
Tested-by: Ningning Xia <nxia@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/e7a2a91bf249c3f0c3921cb2405ef9d72247c9e6/cbuildbot/repository.py
[modify] https://crrev.com/e7a2a91bf249c3f0c3921cb2405ef9d72247c9e6/cbuildbot/repository_unittest.py

Cc: gkihumba@chromium.org bhthompson@chromium.org
The pre-flight builder on R56 is exhibiting this.

https://uberchromegw.corp.google.com/i/chromeos_release/builders/samus-pre-flight-branch%20release-R56-9000.B/builds/196/steps/MasterSlaveLKGMSync/logs/stdio

Do we need to put this CL on 56 to capture more data?

If we want to get Chrome uprevved on 56 should we clobber it?

Comment 10 by nxia@chromium.org, Jan 25 2017

I'll take a look. please do not clobber first.

Comment 11 by nxia@chromium.org, Jan 25 2017

The fix just got merged into ToT, but not in 56.
Project Member

Comment 12 by bugdroid1@chromium.org, Jan 26 2017

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

commit c9762208ccaba775a9a91fa87d538c5e75174866
Author: Ningning Xia <nxia@chromium.org>
Date: Wed Jan 25 18:32:55 2017

Add monarch metrics for repo selfupdate/init failures

BUG= chromium:683373 
TEST=unit_tests

Change-Id: Ib9a0a35340aba9759248eba114f9a919bf4e03f6
Reviewed-on: https://chromium-review.googlesource.com/432837
Commit-Ready: Ningning Xia <nxia@chromium.org>
Tested-by: Ningning Xia <nxia@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/c9762208ccaba775a9a91fa87d538c5e75174866/cbuildbot/repository.py
[modify] https://crrev.com/c9762208ccaba775a9a91fa87d538c5e75174866/lib/constants.py

Comment 13 by nxia@chromium.org, Jan 26 2017

Status: Fixed (was: Assigned)

Sign in to add a comment