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

Issue 592674 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Bisect failed resolving revision range (expected unicode step name to be str)

Project Member Reported by simonhatch@chromium.org, Mar 7 2016

Issue description

https://build.chromium.org/p/tryserver.chromium.perf/builders/android_s5_perf_bisect/builds/507


@@@STEP_CURSOR@Uncaught Exception@@@
@@@STEP_STARTED@@@
@@@STEP_LOG_LINE@exception@Traceback (most recent call last):@@@
@@@STEP_LOG_LINE@exception@  File "/b/build/scripts/slave/.recipe_deps/recipe_engine/recipe_engine/run.py", line 397, in run@@@
@@@STEP_LOG_LINE@exception@    recipe_result = recipe_script.run(api, api._engine.properties)@@@
@@@STEP_LOG_LINE@exception@  File "/b/build/scripts/slave/.recipe_deps/recipe_engine/recipe_engine/loader.py", line 57, in run@@@
@@@STEP_LOG_LINE@exception@    self.RunSteps, properties, self.PROPERTIES, api=api)@@@
@@@STEP_LOG_LINE@exception@  File "/b/build/scripts/slave/.recipe_deps/recipe_engine/recipe_engine/loader.py", line 498, in invoke_with_properties@@@
@@@STEP_LOG_LINE@exception@    **additional_args)@@@
@@@STEP_LOG_LINE@exception@  File "/b/build/scripts/slave/.recipe_deps/recipe_engine/recipe_engine/loader.py", line 461, in _invoke_with_properties@@@
@@@STEP_LOG_LINE@exception@    return callable_obj(*props, **additional_args)@@@
@@@STEP_LOG_LINE@exception@  File "/b/build/scripts/slave/recipes/bisection/android_bisect.py", line 113, in RunSteps@@@
@@@STEP_LOG_LINE@exception@    api.auto_bisect.start_try_job(api, update_step=update_step, bot_db=bot_db)@@@
@@@STEP_LOG_LINE@exception@  File "/b/build/scripts/slave/.recipe_deps/recipe_engine/recipe_engine/recipe_api.py", line 220, in _inner@@@
@@@STEP_LOG_LINE@exception@    return func(*a, **kw)@@@
@@@STEP_LOG_LINE@exception@  File "/b/build/scripts/slave/recipe_modules/auto_bisect/api.py", line 274, in start_try_job@@@
@@@STEP_LOG_LINE@exception@    local_bisect.perform_bisect(self)  # pragma: no cover@@@
@@@STEP_LOG_LINE@exception@  File "/b/build/scripts/slave/recipe_modules/auto_bisect/local_bisect.py", line 13, in perform_bisect@@@
@@@STEP_LOG_LINE@exception@    bisector = api.create_bisector(bisect_config)@@@
@@@STEP_LOG_LINE@exception@  File "/b/build/scripts/slave/.recipe_deps/recipe_engine/recipe_engine/recipe_api.py", line 220, in _inner@@@
@@@STEP_LOG_LINE@exception@    return func(*a, **kw)@@@
@@@STEP_LOG_LINE@exception@  File "/b/build/scripts/slave/recipe_modules/auto_bisect/api.py", line 69, in create_bisector@@@
@@@STEP_LOG_LINE@exception@    init_revisions=not dummy_mode)@@@
@@@STEP_LOG_LINE@exception@  File "/b/build/scripts/slave/recipe_modules/auto_bisect/bisector.py", line 120, in __init__@@@
@@@STEP_LOG_LINE@exception@    self.bad_rev.read_deps(self.get_perf_tester_name())@@@
@@@STEP_LOG_LINE@exception@  File "/b/build/scripts/slave/recipe_modules/auto_bisect/revision_state.py", line 178, in read_deps@@@
@@@STEP_LOG_LINE@exception@    stdout=api.m.raw_io.output())@@@
@@@STEP_LOG_LINE@exception@  File "/b/build/scripts/slave/.recipe_deps/recipe_engine/recipe_engine/recipe_api.py", line 220, in _inner@@@
@@@STEP_LOG_LINE@exception@    return func(*a, **kw)@@@
@@@STEP_LOG_LINE@exception@  File "/b/build/scripts/slave/.recipe_deps/recipe_engine/recipe_modules/python/api.py", line 16, in __call__@@@
@@@STEP_LOG_LINE@exception@    return self.m.step(name, cmd + list(args or []), **kwargs)@@@
@@@STEP_LOG_LINE@exception@  File "/b/build/scripts/slave/.recipe_deps/recipe_engine/recipe_modules/step/api.py", line 144, in __call__@@@
@@@STEP_LOG_LINE@exception@    schema.set_val(kwargs)@@@
@@@STEP_LOG_LINE@exception@  File "/b/build/scripts/slave/.recipe_deps/recipe_engine/recipe_engine/config.py", line 401, in set_val@@@
@@@STEP_LOG_LINE@exception@    raise type(e)('While assigning key %r: %s' % (name, e))@@@
@@@STEP_LOG_LINE@exception@TypeError: While assigning key 'name': Expected u'Resolving reference range.fetch file 79fcd2b1da137df62a108eb2c23b5dd8e78ef464:DEPS' to be of type <type 'str'>@@@
@@@STEP_LOG_END@exception@@@
 
Cc: qyears...@chromium.org iannucci@chromium.org
Labels: Infra
I believe this is failing in recipe engine while setting step name which expects step name as type str.
Do we need to explicitly convert step names to type str from unicode?
Labels: -Infra Infra-Recipes
Status: Available (was: Untriaged)
Summary: Bisect failed resolving revision range (expected unicode step name to be str) (was: Bisect failed resolving revision range)
I just found https://code.google.com/p/chromium/codesearch#chromium/infra/recipes-py/recipe_modules/step/config.py&l=19, which makes it clear that step names should always be str and not unicode.

If I understand this particular case correctly, then making sure the commit_hash attribute is str and not unicode should ensure that that particular step name is unicode: https://codereview.chromium.org/1775163003
Project Member

Comment 3 by bugdroid1@chromium.org, Mar 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build.git/+/ccd5dcf71427bdcd22f9a2d3f9f32d9c5b65f80a

commit ccd5dcf71427bdcd22f9a2d3f9f32d9c5b65f80a
Author: qyearsley@chromium.org <qyearsley@chromium.org>
Date: Wed Mar 09 00:40:57 2016

Force RevisionState.commit_hash to be a str.

BUG= 592674 

Review URL: https://codereview.chromium.org/1775163003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/build@299165 0039d316-1c4b-4281-b951-d872f2087c98

[modify] https://crrev.com/ccd5dcf71427bdcd22f9a2d3f9f32d9c5b65f80a/scripts/slave/recipe_modules/auto_bisect/revision_state.py

Owner: qyears...@chromium.org
Status: Fixed (was: Available)
Expected to be fixed now.

Comment 5 by aga...@chromium.org, Apr 26 2016

Components: Infra>Platform>Recipes
Labels: -Infra-Recipes
Components: Speed>Bisection

Sign in to add a comment