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

Issue 685306 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

Cannot run system_health.memory_mobile benchmark

Project Member Reported by mariakho...@chromium.org, Jan 25 2017

Issue description

Running on Nexus 6P with MOB31O userdebug Android

Seeing the following error:

$ tools/perf/run_benchmark --browser=android-chrome-canary system_health.memory_mobile --reset-results --results-label="foo" 
[ RUN      ] background:social:facebook
WARNING:root:cmdline_file argument of <class 'devil.android.flag_changer.FlagChanger'>() should be a file name only (not a full path).
WARNING:root:Client supplied '/data/local/chrome-command-line', but '/data/local/tmp/chrome-command-line' will be used instead.
Traceback (most recent call last):
  File "/usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/story_runner.py", line 94, in _RunStoryAndProcessErrorIfNeeded
    state.RunStory(results)
  File "/usr/local/google/code2/clankium-src/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 "/usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/page/shared_page_state.py", line 299, in RunStory
    self._current_page.Run(self)
  File "/usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/page/__init__.py", line 107, in Run
    shared_state.page_test.RunNavigateSteps(self, current_tab)
  File "/usr/local/google/code2/clankium-src/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 "/usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/page/legacy_page_test.py", line 195, in RunNavigateSteps
    page.RunNavigateSteps(action_runner)
  File "/usr/local/google/code2/clankium-src/src/tools/perf/page_sets/system_health/system_health_story.py", line 108, in RunNavigateSteps
    super(SystemHealthStory, self).RunNavigateSteps(action_runner)
  File "/usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/page/__init__.py", line 116, in RunNavigateSteps
    url, script_to_evaluate_on_commit=self.script_to_evaluate_on_commit)
  File "/usr/local/google/code2/clankium-src/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 "/usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/actions/action_runner.py", line 178, in Navigate
    timeout_in_seconds=timeout_in_seconds))
  File "/usr/local/google/code2/clankium-src/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 "/usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/actions/action_runner.py", line 57, in _RunAction
    action.RunAction(self._tab)
  File "/usr/local/google/code2/clankium-src/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 "/usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/actions/navigate.py", line 30, in RunAction
    tab.WaitForFrameToBeDisplayed()
  File "/usr/local/google/code2/clankium-src/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 "/usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/browser/web_contents.py", line 105, in WaitForFrameToBeDisplayed
    timeout)
  File "/usr/local/google/code2/clankium-src/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 "/usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/browser/web_contents.py", line 143, in WaitForJavaScriptExpression
    e.message + '\n' + debug_message)
TimeoutException: Timed out while waiting 90s for IsJavaScriptExpressionTrue.
Console output:


ERROR:root:Failed to record clock sync marker with sync_id='2f1fc20d-98f5-49b2-ace1-f92dfb3d696d' via DevTools client <telemetry.internal.backends.chrome_inspector.devtools_client_backend.DevToolsClientBackend object at 0x7fde68184990>:
Traceback (most recent call last):
  File "/usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/platform/tracing_agent/chrome_tracing_agent.py", line 138, in _RecordClockSyncMarkerDevTools
    client.RecordChromeClockSyncMarker(sync_id)
  File "/usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome_inspector/devtools_client_backend.py", line 342, in RecordChromeClockSyncMarker
    self._tracing_backend.RecordClockSyncMarker(sync_id)
  File "/usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome_inspector/tracing_backend.py", line 157, in RecordClockSyncMarker
    raise ClockSyncResponseException(rc['error']['message'])
ClockSyncResponseException: Tracing is not started

Exception raised when cleaning story run: 

Traceback (most recent call last):
  _RunStoryAndProcessErrorIfNeeded at /usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/story_runner.py:117
    test.DidRunStory(state.platform)
  DidRunStory at /usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/web_perf/timeline_based_measurement.py:312
    platform.tracing_controller.StopTracing()
  StopTracing at /usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/core/tracing_controller.py:47
    return self._tracing_controller_backend.StopTracing()
  StopTracing at /usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/platform/tracing_controller_backend.py:105
    self._IssueClockSyncMarker()
  _IssueClockSyncMarker at /usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/platform/tracing_controller_backend.py:200
    self._RecordIssuerClockSyncMarker)
  RecordClockSyncMarker at /usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/platform/tracing_agent/chrome_tracing_agent.py:191
    devtools_clients)
  _RecordClockSyncMarkerDevTools at /usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/platform/tracing_agent/chrome_tracing_agent.py:147
    'Failed to issue clock sync to devtools client')
ChromeClockSyncError: Failed to issue clock sync to devtools client

Locals:
  client                                       : <telemetry.internal.backends.chrome_inspector.devtools_client_backend.DevToolsClientBackend object at 0x7fde68184990>
  devtools_clients                             : [<telemetry.internal.backends.chrome_inspector.devtools_client_backend.DevToolsClientBackend object at 0x7fde68184990>]
  has_clock_synced                             : False
  record_controller_clock_sync_marker_callback : <bound method TracingControllerBackend._RecordIssuerClockSyncMarker of <telemetry.internal.platform.tracing_controller_backend.TracingControllerBackend object at 0x7fde681f5e90>>
  sync_id                                      : '2f1fc20d-98f5-49b2-ace1-f92dfb3d696d'
  timestamp                                    : 11395533612911.594

[  FAILED  ] background:social:facebook (120302 ms)
[ RUN      ] background:tools:gmail
WARNING:root:cmdline_file argument of <class 'devil.android.flag_changer.FlagChanger'>() should be a file name only (not a full path).
WARNING:root:Client supplied '/data/local/chrome-command-line', but '/data/local/tmp/chrome-command-line' will be used instead.
===== SKIPPING TEST background:tools:gmail: Skipped because story is not supported (SharedState.CanRunStory() returns False). =====
ERROR:root:Failed to record clock sync marker with sync_id='69dc09b1-4190-4c10-a70d-8b356d776217' via DevTools client <telemetry.internal.backends.chrome_inspector.devtools_client_backend.DevToolsClientBackend object at 0x7fde68107590>:
Traceback (most recent call last):
  File "/usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/platform/tracing_agent/chrome_tracing_agent.py", line 138, in _RecordClockSyncMarkerDevTools
    client.RecordChromeClockSyncMarker(sync_id)
  File "/usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome_inspector/devtools_client_backend.py", line 342, in RecordChromeClockSyncMarker
    self._tracing_backend.RecordClockSyncMarker(sync_id)
  File "/usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome_inspector/tracing_backend.py", line 157, in RecordClockSyncMarker
    raise ClockSyncResponseException(rc['error']['message'])
ClockSyncResponseException: Tracing is not started
[       OK ] background:tools:gmail (8201 ms)

Traceback (most recent call last):
  RunBenchmark at /usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/story_runner.py:372
    benchmark.ShouldTearDownStateAfterEachStorySetRun())
  Run at /usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/story_runner.py:251
    _RunStoryAndProcessErrorIfNeeded(story, results, state, test)
  _RunStoryAndProcessErrorIfNeeded at /usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/story_runner.py:117
    test.DidRunStory(state.platform)
  DidRunStory at /usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/web_perf/timeline_based_measurement.py:312
    platform.tracing_controller.StopTracing()
  StopTracing at /usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/core/tracing_controller.py:47
    return self._tracing_controller_backend.StopTracing()
  StopTracing at /usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/platform/tracing_controller_backend.py:105
    self._IssueClockSyncMarker()
  _IssueClockSyncMarker at /usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/platform/tracing_controller_backend.py:200
    self._RecordIssuerClockSyncMarker)
  RecordClockSyncMarker at /usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/platform/tracing_agent/chrome_tracing_agent.py:191
    devtools_clients)
  _RecordClockSyncMarkerDevTools at /usr/local/google/code2/clankium-src/src/third_party/catapult/telemetry/telemetry/internal/platform/tracing_agent/chrome_tracing_agent.py:147
    'Failed to issue clock sync to devtools client')
ChromeClockSyncError: Failed to issue clock sync to devtools client

Locals:
  client                                       : <telemetry.internal.backends.chrome_inspector.devtools_client_backend.DevToolsClientBackend object at 0x7fde68107590>
  devtools_clients                             : [<telemetry.internal.backends.chrome_inspector.devtools_client_backend.DevToolsClientBackend object at 0x7fde68107590>]
  has_clock_synced                             : False
  record_controller_clock_sync_marker_callback : <bound method TracingControllerBackend._RecordIssuerClockSyncMarker of <telemetry.internal.platform.tracing_controller_backend.TracingControllerBackend object at 0x7fde681f5e90>>
  sync_id                                      : '69dc09b1-4190-4c10-a70d-8b356d776217'
  timestamp                                    : 11395545063606.79

[  PASSED  ] 1 test.
[  FAILED  ] 1 test, listed below:
[  FAILED  ]  background:social:facebook

1 FAILED TEST

 
Hmm, I'm not being able to reproduce. I've just:

- Flashed N6P to: angler-userdebug 6.0.1 MOB31O 3437516 dev-keys
- Skipped Setup Wizard, on developer settings enable "always awake"
- adb install ChromeCanary.apk
- tools/perf/run_benchmark --browser=android-chrome-canary system_health.memory_mobile --reset-results --results-label="foo"

And it works as expected.

Could there be something different about our environments?
Just reproduced on Nexus 5X build NMF27C
story: lod:tools:gmail
Actually comment #2 was about 'setenforce 0', false alarm, sorry
Cc: primiano@chromium.org
Maria, maybe your original report was also due to the same issue, i.e. missing the "setenforce 0"?

If so, can we close this bug in favor of go/catabug/3172?

Although also, as Grigory mentioned, maybe disabling selinux is too blunt of a hammer and we should also have a bug on making thus work without having to do this at all.

The original reason to disable selinux was for Chrome to be able to read the command line, but this was fixed in go/catabug/3112. Clearly, however, there are still other issues preventing us from running Telemetry without this workaround and those should be investigated.
Status: WontFix (was: Assigned)
I tried this again and this time I am able to run the benchmark. Not sure what the issue was (shouldn't be setenforce since this is M). Closing this out.

Sign in to add a comment