Permission error when running telemetry test

685 views
Skip to first unread message

ziran

unread,
Nov 15, 2013, 9:08:47 AM11/15/13
to chromi...@chromium.org
Hi, 

I'm following 


It has a link for "download-src-internal" that direct to 


While trying to login with my normal gmail account, it gives "invalid credentials" - doesn't allow me to log in.  

To check what happens next, I  decided to skip this step.  then I run into the following problem - 

When run 

tools/perf/run_benchmark --browser=android-content-shell memory_pressure.typical_25

I have 

ERROR:root:Attempted to access a file from Cloud Storage but you don't have permission. Run "~/depot_tools/third_party/gsutil/gsutil config" to configure your credentials. If you have a @google.com account, use that one. The project-id field can be left blank.

Running gstuil config directed me to a website asking for permission "Manage your data and permission in Google Cloud Storage",  by accepting this, it gives me a auth code, copy the code back to the terminal. 

Run benchmark test again with any test, I have the same error [ERROR:root:.....] complaining about credentials.

Any suggestions would be much appreciated.

  



Tony Gentilcore

unread,
Nov 15, 2013, 11:02:07 AM11/15/13
to zira...@samsung.com, chromium-dev, rsc...@chromium.org, Dave Tu
Many of the Telemetry benchmarks run against data recorded from the web that we suspect we cannot redistribute publicly. So historically, we've erred on the cautious side and restricted everything to @google accounts.

I strongly would like to improve this if at all possible (mainly because I'd like to see more epic performance improvements from non-googlers like this[1]).

dtu@ has switched us to storing most things in cloud storage instead of src-internal so that we have the technical ability to set the ACLs to whatever we want. rschoen@ has been investigating our available options for actually changing the ACLs.

My hope is that, at minimum, we could find a way to change the ACLs to allow @chromium accounts or at least certain partners.

In the interim, your workaround is to record the pages yourself and then run against your recording. It is possible that the pages have changed enough since our original recording that the script will no longer work, so you may have to fix that up. To try that:
$ tools/perf/record_wpr tools/perf/record_wpr tools/perf/page_sets/top_25.json

If you'd like to improve the error message to suggest the above workaround, that would be appreciated too.

-Tony



--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev

To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.

Tony Gentilcore

unread,
Nov 15, 2013, 11:10:25 AM11/15/13
to zira...@samsung.com, chromium-dev, rsc...@chromium.org, Dave Tu
> To try that:
> $ tools/perf/record_wpr tools/perf/record_wpr tools/perf/page_sets/top_25.json

Oops, I'm still figuring out how copy/paste works ;) Should be just:
$ tools/perf/record_wpr tools/perf/page_sets/top_25.json

dongseo...@intel.com

unread,
Nov 20, 2013, 9:00:06 AM11/20/13
to chromi...@chromium.org, zira...@samsung.com, rsc...@chromium.org, Dave Tu, to...@chromium.org
Thank you for explanation. However, only googler perhaps can make this solution.

In detail, record_wpr internally runs gsutil on gs://chrome-telemetry/863d756d2480b79a4d7351350a02ecb610e3ffda
sudo tools/perf/record_wpr tools/perf/page_sets/top_25.json
 \_ python tools/perf/record_wpr tools/perf/page_sets/top_25.json
     \_ /usr/bin/python tools/telemetry/third_party/gsutil/gsutil cp gs://chrome-telemetry/863d756d2480b79a4d7351350a02ecb610e3ffda /home/dshwang/workspace/chromium/blink/src/tools/perf/page_sets/data/typical_25_000.wpr

But non-googler may can not access gs://chrome-telemetry/863d756d2480b79a4d7351350a02ecb610e3ffda
src(master)> tools/telemetry/third_party/gsutil/gsutil ls gs://chrome-telemetry/863d756d2480b79a4d7351350a02ecb610e3ffda
GSResponseError: status=403, code=AccessDenied, reason="Forbidden", message="Access denied."

FYI, I can access open repo.
src(master)> tools/telemetry/third_party/gsutil/gsutil ls gs://uspto-pair/applications/0800401*
gs://uspto-pair/applications/08004010.zip
gs://uspto-pair/applications/08004011.zip
gs://uspto-pair/applications/08004012.zip
gs://uspto-pair/applications/08004013.zip
gs://uspto-pair/applications/08004016.zip
gs://uspto-pair/applications/08004017.zip
gs://uspto-pair/applications/08004019.zip


Could somebody give me a tip? Thank you in advance.

- DS

Tony Gentilcore

unread,
Nov 20, 2013, 10:32:44 AM11/20/13
to dongseo...@intel.com, chromium-dev, ziran sun, rsc...@chromium.org, Dave Tu, Jeremy Moskovich
Oops, that was a bug. Jeremy fixed it here: http://crbug.com/319573

Sorry, most of the folks working on Telemetry right now have Google
credentials so it is hard for us to catch these things. But we really
want this to be as absolutely seamless as possible for all
contributors. Please continue to complain any time you bump into these
things.

-Tony

Moritz Steiner

unread,
Jan 11, 2014, 3:07:55 AM1/11/14
to chromi...@chromium.org, dongseo...@intel.com, ziran sun, rsc...@chromium.org, Dave Tu, Jeremy Moskovich, to...@chromium.org
I'm running into the same issues. When trying to record the pages I get the same error message as the one Ziran got back in November. I fetched the sources today, and the patch from Nov 20 is in there (http://src.chromium.org/viewvc/chrome/trunk/src/tools/telemetry/telemetry/page/record_wpr.py?r1=236233&r2=236232&pathrev=236233). It doesn't seem to fix the issue.

$ tools/perf/record_wpr --browser=system tools/perf/page_sets/top_25.json
ERROR:root:Can not run without required WPR archive: ~/chromium/src/tools/perf/page_sets/data/top_25_001.wpr. If you believe you have credentials, follow the instructions below. If you do not have credentials, you may use record_wpr to make your own recording or run against live sites with --allow-live-sites.
ERROR:root:Attempted to access a file from Cloud Storage but you don't have permission. To configure your credentials:
  1. Run "~/depot_tools/third_party/gsutil/gsutil config" and follow its instructions.
  2. If you have a @google.com account, use that account.
  3. For the project-id, just enter 0.

Any idea how to get around it?

Jeremy Moskovich

unread,
Jan 11, 2014, 1:07:27 PM1/11/14
to Moritz Steiner, Dave Tu, Chromium-dev, dongseo...@intel.com, ziran sun, rsc...@chromium.org, Tony Gentilcore
Indeed, I think this is a regression - can you please file a bug?

Anselmo da Silva

unread,
Jan 13, 2014, 4:30:10 PM1/13/14
to chromi...@chromium.org, dongseo...@intel.com, ziran sun, rsc...@chromium.org, Dave Tu, Jeremy Moskovich, to...@chromium.org
+1 here ... beat into the same wall. 

Abutalib Aghayev

unread,
Jan 14, 2014, 2:10:44 PM1/14/14
to ansel...@gmail.com, Chromium-dev, dongseo...@intel.com, ziran sun, rsc...@chromium.org, Dave Tu, Jeremy Moskovich, to...@chromium.org

Dave Tu

unread,
Jan 16, 2014, 4:33:32 PM1/16/14
to Abutalib Aghayev, ansel...@gmail.com, Chromium-dev, dongseo...@intel.com, ziran sun, rsc...@chromium.org, Jeremy Moskovich, Tony Gentilcore
Fixed! Please sync and try again :)

Anselmo da Silva

unread,
Jan 16, 2014, 4:36:11 PM1/16/14
to Dave Tu, Abutalib Aghayev, Chromium-dev, dongseo...@intel.com, ziran sun, rsc...@chromium.org, Jeremy Moskovich, Tony Gentilcore
Brilliant, Thanks Dave.
--
Anselmo Silva
www.twitter.com/anselmo

Graham Hinchly

unread,
Jan 28, 2014, 5:02:23 PM1/28/14
to chromi...@chromium.org, Dave Tu, Abutalib Aghayev, dongseo...@intel.com, ziran sun, rsc...@chromium.org, Jeremy Moskovich, Tony Gentilcore
I seem to be running into the same problem now.

Trying to run tools/perf/run_measurement --browser=canary smoothness tools/perf/page_sets/top_25.json I get a permission error (I think, as expected for the time being based on Tony's first post), but trying to record the pages as a workaround (tools/perf/record_wpr tools/perf/page_sets/top_25.json) I get:

Traceback (most recent call last):

  <module> at tools/perf/record_wpr:17

    sys.exit(record_wpr.Main(_perf_dir))

  Main at tools/telemetry/telemetry/page/record_wpr.py:142

    ps = page_set.PageSet.FromFile(target)

  FromFile at tools/telemetry/telemetry/page/page_set.py:86

    return cls.FromDict(data, file_path)

  FromDict at tools/telemetry/telemetry/page/page_set.py:90

    return cls(file_path, data)

  __init__ at tools/telemetry/telemetry/page/page_set.py:60

    os.path.join(self._base_dir, self.credentials_path))

  GetIfChanged at tools/telemetry/telemetry/page/cloud_storage.py:183

    _RunCommand(['cp', url, file_path])

  _RunCommand at tools/telemetry/telemetry/page/cloud_storage.py:112

    raise PermissionError(gsutil_path)


Locals:

  args        : ['cp', 'gs://chrome-telemetry/11752daf3b27c9ced2d530b5241cab7e5b109dd9', u'tools/perf/page_sets/data/credentials.json']

  gsutil      : <subprocess.Popen object at 0x10c509cd0>

  gsutil_path : '/chromium/depot_tools/third_party/gsutil/gsutil'

  stderr      : 'GSResponseError: status=403, code=None, reason=Forbidden.\n'

  stdout      : ''


PermissionError: Attempted to access a file from Cloud Storage but you don't have permission. To configure your credentials:

  1. Run "/chromium/depot_tools/third_party/gsutil/gsutil config" and follow its instructions.

  2. If you have a @google.com account, use that account.

  3. For the project-id, just enter 0.


Am I missing something here or should I raise a bug?


Thanks,


Graham



This email was sent by a company owned by Pearson plc, registered office at 80 Strand, London WC2R 0RL.  Registered in England and Wales with company number 53723.

Tianyou Li

unread,
Jun 17, 2014, 11:36:14 PM6/17/14
to chromi...@chromium.org, d...@chromium.org, aga...@chromium.org, dongseo...@intel.com, zira...@samsung.com, rsc...@chromium.org, jer...@chromium.org, to...@chromium.org
I got the same problem with my local builds. 

CreatePageSet at tools/telemetry/telemetry/test.py:73
    os.path.join(util.GetBaseDir(), self.page_set))
  FromFile at tools/telemetry/telemetry/page/page_set.py:87
    return cls.FromDict(data, file_path)
  FromDict at tools/telemetry/telemetry/page/page_set.py:91
    return cls(file_path, data)
  __init__ at tools/telemetry/telemetry/page/page_set.py:61
    os.path.join(self._base_dir, self.credentials_path))
  GetIfChanged at tools/telemetry/telemetry/page/cloud_storage.py:145
    Get(bucket, expected_hash, file_path)
  Get at tools/telemetry/telemetry/page/cloud_storage.py:117
    _RunCommand(['cp', url, local_path])
  _RunCommand at tools/telemetry/telemetry/page/cloud_storage.py:95
    raise PermissionError(gsutil_path)

Locals:
  args        : ['cp', 'gs://chrome-telemetry/11752daf3b27c9ced2d530b5241cab7e5b109dd9', u'/home/krom/projects/chromeos.20140610/chrome_root/src/tools/perf/page_sets/data/credentials.json']
  gsutil      : <subprocess.Popen object at 0x333a110>
  gsutil_path : '/home/krom/tools/depot_tools/third_party/gsutil/gsutil'
  stderr      : 'GSResponseError: status=403, code=None, reason=Forbidden.\n'
  stdout      : ''

PermissionError: Attempted to access a file from Cloud Storage but you don't have permission. To configure your credentials:
  1. Run "/home/krom/tools/depot_tools/third_party/gsutil/gsutil config" and follow its instructions.
  2. If you have a @google.com account, use that one.
  3. Leave the project-id field blank.

I was follow the instruction of above, and input the oauth tokens, but still can not launch the test. Anyone can help? Thanks.

Primiano Tucci

unread,
Jun 18, 2014, 8:09:02 AM6/18/14
to tiany...@gmail.com, Chromium-dev, d...@chromium.org, aga...@chromium.org, dongseo...@intel.com, zira...@samsung.com, Ryan Schoen, jer...@chromium.org, to...@chromium.org
Which page set are you trying to run?
It looks like some pagesets refer to the INTERNAL_BUCKET (which ends up in gs://chrome-telemetry instead of gs://chromium-telemetry), which means they can only be accessed by @google.com accounts.

tonyg: Not sure if this is intentional or accidental.


--

Tianyou Li

unread,
Jun 18, 2014, 9:36:49 AM6/18/14
to Primiano Tucci, Chromium-dev, d...@chromium.org, aga...@chromium.org, dongseo...@intel.com, zira...@samsung.com, Ryan Schoen, jer...@chromium.org, to...@chromium.org
Thank you Primiano for your reply. I've tried sunspider, smoothness.top_25 and smoothness.tough_canvas_cases, all of them failed with the same reason. What i am going to do is setup the telemetry and run those performance test locally by this week, but now seems a little risky to my original plan. 

Please let me know if other information is required. And how can I request a @google.com accounts? Thanks.

Primiano Tucci

unread,
Jun 18, 2014, 10:07:59 AM6/18/14
to Tianyou Li, Chromium-dev, d...@chromium.org, aga...@chromium.org, dongseo...@intel.com, zira...@samsung.com, Ryan Schoen, jer...@chromium.org, to...@chromium.org
Hmm, I am not sure at this point if that is intentional or is a recent bug.
benchmarks/sunspider.py doesn't seem to refer to any internal page-set, so I'd tend to say that should work even outside of google.
Let's wait for the more illustrious colleagues from telemetry to chime in here.

Also, when did you sync the code last time (what is the output of git log -1)? The stack trace you're pasting seems pretty different from what there is now in trunk.

Eventually you could try passing --use-live-sites to run_benchmark / run_measurement. That should avoid downloading the archives and use the actual sites.

And how can I request a @google.com accounts? 
I'm afraid the only way is to send your CV to www.google.com/about/careers/ and get a job from Google :-)

Tianyou Li

unread,
Jun 18, 2014, 10:57:55 AM6/18/14
to Primiano Tucci, Chromium-dev, Dave Tu, aga...@chromium.org, Dongseong Hwang, ziran sun, Ryan Schoen, jer...@chromium.org, to...@chromium.org
Very appreciate for your instant response. The output of git log -1 is:

commit c0a28c0542859a855844c28331dffbc2f4e46050
Author: James Ausmus <james....@intel.com>
Date:   Wed Mar 19 15:58:40 2014 -0700

    Update .gclient file to remove specific hash for src

    We had added checking out of a specific hash for the src git repo during
    the last rebase to ease the 1% case of rebase testing prior to going live with the
    rebase. However, this has caused issues for the 99% case of the media
    team adding new commits to code under src, which has made it hard for
    people to verify the patches coming from the media team. Let's go back
    to the old way of doing it, where src is always gclient sync'd to tip of
    master, and we'll just deal with the little bit of extra manual process
    we'll need to do during rebasing.

    BUG=none
    TEST=gclient sync pulls tip of master (currently
    786734acfc637f38df4cc502dd5c67d7ee989c94 "Enable openMAX encoder for
    IA") for the src repo

    Change-Id: I423864c85039da6ea64f69018b7b38bd0c1f978c
    Signed-off-by: James Ausmus <james....@intel.com>

I will try the sunspider again tomorrow and update the result here.

I'm afraid the only way is to send your CV to www.google.com/about/careers/ and get a job from Google :-)
Sounds like a plan:)

Primiano Tucci

unread,
Jun 18, 2014, 11:13:24 AM6/18/14
to Tianyou Li, Chromium-dev, Dave Tu, aga...@chromium.org, Dongseong Hwang, ziran sun, Ryan Schoen, jer...@chromium.org, to...@chromium.org
Sounds like you're three months behind. Try to sync, that might solve your problem.

> Sounds like a plan:)
Well, if you don't have other plans, you're more than welcome and encouraged to do that ;-)

Tianyou Li

unread,
Jun 20, 2014, 5:25:15 AM6/20/14
to Primiano Tucci, Chromium-dev, Dave Tu, aga...@chromium.org, Dongseong Hwang, ziran sun, Ryan Schoen, jer...@chromium.org, to...@chromium.org
Update the status: I make a mistake of mixing the internal source tree with upstream. After follow the suggestion from Primiano that update to latest source, the telemetry test launched successfully. Thanks.

Regards,
Tianyou

Javad Nejati

unread,
Aug 1, 2014, 11:03:48 AM8/1/14
to chromi...@chromium.org, prim...@chromium.org, d...@chromium.org, aga...@chromium.org, dongseo...@intel.com, zira...@samsung.com, rsc...@chromium.org, jer...@chromium.org, to...@chromium.org
Hi,

So, If you try to run something like ./record_wpr --browser=android-content-shell ./page_sets/top_25.py shouldn't it record the websites on local wpr file?
I am still getting permission error. I thought you get the error when you try to run measurement/benchmark.

Javad
Reply all
Reply to author
Forward
0 new messages