New issue
Advanced search Search tips

Issue 823819 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Mar 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Can't record smoothness top25 page set using record_wpr

Reported by djordje....@mips.com, Mar 20 2018

Issue description

UserAgent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0

Steps to reproduce the problem:
1. fetch chromium source
2. build chromium (linux x86 in this case)
3. run "./tools/perf/record_wpr  --browser=release smoothness_top25"

What is the expected behavior?

What went wrong?
Pages record run finishes with 3 failed tests: google_calendar, blogspot and wordpress.

Then when running smoothness.top_25_smooth benchmark, it fails  while looking for pages for above failed tests.

I have attached two sample error outputs (only relevant segments, according to my understanding).
First one (record_wpr_fail.stdout) contains only outputs for three failed tests.

benchmark_smoothness25_fail.stdout contains only part of the output of running benchmarks on x86 chromium browser, built from freshly downloaded source.
Most relevant line for me here is:
(ERROR) 2018-03-20 19:12:01,220 story_runner._UpdateAndCheckArchives:437  stories without archives: google_calendar, blogspot, wordpress

I have tried recording using system installed chrome browser (several current versions at various points in time in previous weeks), and I get same errors.

Did this work before? N/A 

Chrome version: top of the tree  Channel: n/a
OS Version: 
Flash Version: n/a

Notes:
We run chromium performance benchmarks on MIPS platform, and from time to time we do record wpr page sets when needed.
We use this url as a reference:
https://chromium.googlesource.com/catapult/+/HEAD/telemetry/README.md
 
benchmark_smoothness25_fail.stdout
3.0 KB Download
record_wpr_fail.stdout
13.4 KB Download
Components: Tests>Telemetry
Hi  djordje.golubovic@,
Based on the stack trace, this is the problem with the page content has changed, so the test logic no longer apply. We would need to modify the test logic to match the new page content. 

For example:
[ RUN      ] google_calendar
(WARNING) 2018-03-20 16:40:39,274 action_runner.__exit__:822  Exception was raised in the with statement block, the end of interaction record is not marked.
(WARNING) 2018-03-20 16:40:39,274 shared_page_state.DumpStateUponFailure:138  Taking screenshots upon failures disabled.
Traceback (most recent call last):
  File "/home/golubovic/work/chromiums/another/src/third_party/catapult/telemetry/telemetry/internal/story_runner.py", line 123, in _RunStoryAndProcessErrorIfNeeded
    state.RunStory(results)
  File "/home/golubovic/work/chromiums/another/src/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 "/home/golubovic/work/chromiums/another/src/third_party/catapult/telemetry/telemetry/page/shared_page_state.py", line 311, in RunStory
    self._current_page.Run(self)
  File "/home/golubovic/work/chromiums/another/src/third_party/catapult/telemetry/telemetry/page/__init__.py", line 100, in Run
    self.RunPageInteractions(action_runner)
  File "/home/golubovic/work/chromiums/another/src/tools/perf/page_sets/top_25_smooth.py", line 60, in RunPageInteractions
    action_runner.ScrollElement(selector='#scrolltimedeventswk')
  File "/home/golubovic/work/chromiums/another/src/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 "/home/golubovic/work/chromiums/another/src/third_party/catapult/telemetry/telemetry/internal/actions/action_runner.py", line 516, in ScrollElement
    use_touch=use_touch, synthetic_gesture_source=synthetic_gesture_source))
  File "/home/golubovic/work/chromiums/another/src/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 "/home/golubovic/work/chromiums/another/src/third_party/catapult/telemetry/telemetry/internal/actions/action_runner.py", line 62, in _RunAction
    action.RunAction(self._tab)
  File "/home/golubovic/work/chromiums/another/src/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 "/home/golubovic/work/chromiums/another/src/third_party/catapult/telemetry/telemetry/internal/actions/scroll.py", line 115, in RunAction
    element_function=self._element_function)
  File "/home/golubovic/work/chromiums/another/src/third_party/catapult/telemetry/telemetry/internal/actions/page_action.py", line 130, in EvaluateCallbackWithElement
    return tab.EvaluateJavaScript(code)
  File "/home/golubovic/work/chromiums/another/src/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 "/home/golubovic/work/chromiums/another/src/third_party/catapult/telemetry/telemetry/internal/browser/web_contents.py", line 215, in EvaluateJavaScript
    return self._inspector_backend.EvaluateJavaScript(*args, **kwargs)
  File "/home/golubovic/work/chromiums/another/src/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 "/home/golubovic/work/chromiums/another/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome_inspector/inspector_backend.py", line 252, in EvaluateJavaScript
    return self._EvaluateJavaScript(expression, context_id, timeout)
  File "/home/golubovic/work/chromiums/another/src/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 "/home/golubovic/work/chromiums/another/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome_inspector/inspector_backend.py", line 38, in Inner
    return func(inspector_backend, *args, **kwargs)
  File "/home/golubovic/work/chromiums/another/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome_inspector/inspector_backend.py", line 519, in _EvaluateJavaScript
    return self._runtime.Evaluate(expression, context_id, timeout)
  File "/home/golubovic/work/chromiums/another/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome_inspector/inspector_runtime.py", line 53, in Evaluate
    description=details.get('exception', {}).get('description'))
EvaluateException: UncaughtError:
Error: Cannot find element: using selector "#scrolltimedeventswk"
    at callback (<anonymous>:7:19)
    at <anonymous>:18:16
    at <anonymous>:19:9

[  FAILED  ] google_calendar (29166 ms)


This tells that there is no element that matche selector '#scrolltimedeventswk'
Status: WontFix (was: Unconfirmed)
This is not a defect of record_wpr, so close the bug.
Hi nednguyen,
thanks for clarification!

Could you suggest where would be the best place to post issues similar to this (test logic needing update), as there may be a few more in tests we are running?

djordje.golubovic@mips.com: there is no general place to post issues (test logic needing update) that I know of. Usually engineer working on updating the pages make the change themselves. If you run this live instead of with recording, it's on your own to figure out which test logic need to be updated.

Sign in to add a comment