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

Issue 894454 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 16
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Missing credentials for linkedin_mobile_2018

Project Member Reported by skyos...@chromium.org, Oct 11

Issue description

Full log: https://chrome-swarming.appspot.com/task?id=407ba8026ba7ea10&refresh=10&show_raw=1

(ERROR) 2018-10-11 12:42:58,380 story_runner.ProcessError:100  Unhandleable error. Benchmark run will be interrupted
Traceback (most recent call last):
  File "/b/swarming/w/ir/third_party/catapult/telemetry/telemetry/internal/story_runner.py", line 126, in _RunStoryAndProcessErrorIfNeeded
    state.RunStory(results)
  File "/b/swarming/w/ir/third_party/catapult/common/py_trace_event/py_trace_event/trace_event_impl/decorators.py", line 52, in traced_function
    return func(*args, **kwargs)
  File "/b/swarming/w/ir/third_party/catapult/telemetry/telemetry/page/shared_page_state.py", line 300, in RunStory
    self._current_page.Run(self)
  File "/b/swarming/w/ir/third_party/catapult/telemetry/telemetry/page/__init__.py", line 95, in Run
    shared_state.page_test.RunNavigateSteps(self, current_tab)
  File "/b/swarming/w/ir/third_party/catapult/common/py_trace_event/py_trace_event/trace_event_impl/decorators.py", line 75, in traced_function
    return func(*args, **kwargs)
  File "/b/swarming/w/ir/third_party/catapult/telemetry/telemetry/page/legacy_page_test.py", line 152, in RunNavigateSteps
    page.RunNavigateSteps(action_runner)
  File "/b/swarming/w/ir/tools/perf/page_sets/rendering/top_real_world_mobile.py", line 166, in RunNavigateSteps
    linkedin_login.LoginMobileAccount(action_runner, 'linkedin')
  File "/b/swarming/w/ir/tools/perf/page_sets/login_helpers/linkedin_login.py", line 49, in LoginMobileAccount
    credential, credentials_path=credentials_path)
  File "/b/swarming/w/ir/tools/perf/page_sets/login_helpers/login_utils.py", line 37, in GetAccountNameAndPassword
    return c['username'], c['password']
TypeError: 'NoneType' object has no attribute '__getitem__'

 
Owner: vmi...@chromium.org
Status: Assigned (was: Untriaged)
I think this should fix it.

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f319fc7915a5e19d853c1f6f3834adf9d758137c

commit f319fc7915a5e19d853c1f6f3834adf9d758137c
Author: Victor Miura <vmiura@chromium.org>
Date: Thu Oct 11 23:54:31 2018

Revert "Reland "[perf] Add browse:media:tumblr:2018 system health story""

This reverts commit 65fa1aac06e841a5bd8dcacc0cde166c5a508acb.

Reason for revert: Suspect this broke linkedin login credentials.  BUG= 894454 

Original change's description:
> Reland "[perf] Add browse:media:tumblr:2018 system health story"
> 
> This reverts commit c64ae57963ae60fd53831f5d2371afc93607dc08.
> 
> Original change's description:
> > [perf] Add browse:media:tumblr:2018 system health story
> >
> > This also add a login helper for tumblr and updates credentials.json
> >
> > Bug: 878390
> > Change-Id: Iba56faf550cb638692899326b217347e04be9932
> > Reviewed-on: https://chromium-review.googlesource.com/c/1256883
> > Reviewed-by: Juan Antonio Navarro Pérez <perezju@chromium.org>
> > Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#596763}
> 
> Change-Id: Ib40cc4b8c7f2fe4d23fe3effd285122e703d1601
> Reviewed-on: https://chromium-review.googlesource.com/c/1264382
> Reviewed-by: Ned Nguyen <nednguyen@google.com>
> Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#598715}

TBR=ulan@chromium.org,perezju@chromium.org,nednguyen@google.com

Change-Id: I8edcf9a3ea4fc2b9fd72cdd5c9f4545bf3a81ca3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/1278466
Reviewed-by: Victor Miura <vmiura@chromium.org>
Commit-Queue: Victor Miura <vmiura@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599018}
[modify] https://crrev.com/f319fc7915a5e19d853c1f6f3834adf9d758137c/tools/perf/page_sets/data/credentials.json.sha1
[modify] https://crrev.com/f319fc7915a5e19d853c1f6f3834adf9d758137c/tools/perf/page_sets/data/system_health_desktop.json
[delete] https://crrev.com/485de651835b3e23d6ec34cbc7549bff1d4511ce/tools/perf/page_sets/data/system_health_desktop_55cb9dd713.wprgo.sha1
[delete] https://crrev.com/485de651835b3e23d6ec34cbc7549bff1d4511ce/tools/perf/page_sets/login_helpers/tumblr_login.py
[modify] https://crrev.com/f319fc7915a5e19d853c1f6f3834adf9d758137c/tools/perf/page_sets/system_health/browsing_stories.py

Cc: -vmi...@chromium.org nednguyen@chromium.org
nednguyen@ could tools/perf/page_sets/data/credentials.json be checked in instead of downloaded from cloud storage?  That way it could be reviewed, and bugs like this can be avoided.
Either #2, or we could add presubmit checks for credentials data.

I think it's fairly easy for credentials.json to not be merged properly when someone makes a change.  The author's local version may not reflect ToT when they modify it.
Thanks, vmiura@ for reverting.

I didn't expect this happen as I assumed that I would get a merge conflict on credentials.json.sha1 in case if someone else managed to update the file in the meantime.

There was no conflict because my local credentials.json.sha1 was up to date (i.e. included linkedin) but credentials.json was stale (didn't include linkedin).

The problem is that credentials.json is not kept in sync with credentials.json.sha1 unless one manually removes the local credentials.json and runs a benchmark that require login.

nednguyen@, is it possible to have a script that ensures consistency between the files?

Cc: crouleau@chromium.org
#4: there is no easy way given how it's constructed. While you're working on your change & modify the credentials.json locally, there is no way to know that the newer version of the file is already uploaded to the trunk.

All of the hassle of uploading credentials.json to the public cloud storage is only to make sure that spamming bots & random internet folks won't be able to easily mess with the test password. 

I think maybe we just need to add a simple reversible hash to "encrypt" the credentials.json file.
Status: Fixed (was: Assigned)
This was fixed by revert (#!).

Sign in to add a comment