New issue
Advanced search Search tips

Issue 773769 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

gclient recurse in bot_update runs on stale .gclient files

Project Member Reported by machenb...@chromium.org, Oct 11 2017

Issue description

Introduced in:
https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/581268#message-8489bbf431bcfce14d2316bf1cdbb3dc86e286b9

bot_update has no .gclient file, but gets a spec passed. It writes the .gclient file at some point before gclient sync. But when this 'gclient recurse' runs, it's not written yet:
https://cs.chromium.org/chromium/src/third_party/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py?q=bot_update.py&sq=package:chromium&dr&l=1143

It probably uses stale .gclient files from previous runs, which leads to problems when the file changes, e.g.:
https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.v8%2Fv8_linux64_msan_rel%2F222%2F%2B%2Frecipes%2Fsteps%2Fbot_update%2F0%2Fstdout

Output:
===Running /usr/bin/python -u /b/rr/tmpbfVWhs/rw/checkout/scripts/slave/.recipe_deps/depot_tools/gclient.py recurse -v git update-index --refresh===
In directory: /b/c/b/v8_linux64_msan_rel
Looking for .gclient starting from /b/c/b/v8_linux64_msan_rel
Traceback (most recent call last):
  File "/b/rr/tmpbfVWhs/rw/checkout/scripts/slave/.recipe_deps/depot_tools/gclient.py", line 2649, in <module>
    sys.exit(main(sys.argv[1:]))
  File "/b/rr/tmpbfVWhs/rw/checkout/scripts/slave/.recipe_deps/depot_tools/gclient.py", line 2635, in main
    return dispatcher.execute(OptionParser(), argv)
  File "/b/rr/tmpbfVWhs/rw/checkout/scripts/slave/.recipe_deps/depot_tools/subcommand.py", line 252, in execute
    return command(parser, args[1:])
  File "/b/rr/tmpbfVWhs/rw/checkout/scripts/slave/.recipe_deps/depot_tools/gclient.py", line 1715, in CMDrecurse
    return client.RunOnDeps('recurse', args, ignore_requirements=True,
AttributeError: 'NoneType' object has no attribute 'RunOnDeps'
 
Components: -Infra Infra>SDK Infra>Platform
Owner: jbudorick@chromium.org
Status: Assigned (was: Untriaged)
Tentatively assigning to John since he asked to file this bug.
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/depot_tools/+/b3ce73d028b1d44137d533220fd41be31bc31801

commit b3ce73d028b1d44137d533220fd41be31bc31801
Author: Michael Achenbach <machenbach@chromium.org>
Date: Thu Oct 12 06:30:31 2017

More verbose output when .gclient file cannot be found

Bug: 773769
Change-Id: I3c1a394c5995e0c56046da5f2509e63060aa6a29
Reviewed-on: https://chromium-review.googlesource.com/712935
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>

[modify] https://crrev.com/b3ce73d028b1d44137d533220fd41be31bc31801/gclient.py

Comment 3 by aga...@chromium.org, Oct 20 2017

Components: -Infra>SDK
This is a bot_update problem, removing SDK component.

Sign in to add a comment