While porting the system_health benchmarks I noticed quite often that the win-10-perf bot fails to propery set up the tab when starting a benchmark.
For the same benchmarks the other platforms never showed the same behavior.
Example:
- pinpoint job: https://pinpoint-dot-chromeperf.appspot.com/job/1051e20fe40000
- failing task: https://chrome-swarming.appspot.com/task?id=4134e00d6e200a10&refresh=10&show_raw=1&wide_logs=true
- good task: https://chrome-swarming.appspot.com/task?id=4134e00f85636f10&refresh=10&show_raw=1&wide_logs=true
Since we now log the page interactions it's clear that we're not in the story yet (grep for "START Page Action" in the good task)
Stacktrace:
File "...\internal\story_runner.py", line 124, in _RunStoryAndProcessErrorIfNeeded
state.WillRunStory(story)
File "...py_trace_event\py_trace_event\trace_event_impl\decorators.py", line 75, in traced_function
return func(*args, **kwargs)
File "..\page\shared_page_state.py", line 245, in WillRunStory
self.browser.tabs[0].WaitForDocumentReadyStateToBeComplete()
File "..\internal\browser\tab_list.py", line 18, in __getitem__
return self._tab_list_backend.__getitem__(index)
File "..\internal\backends\chrome_inspector\inspector_backend_list.py", line 64, in __getitem__
return self.GetBackendFromContextId(context_id)
File "...\internal\backends\chrome_inspector\inspector_backend_list.py", line 75, in GetBackendFromContextId
context_id)
File "...\internal\backends\chrome_inspector\devtools_client_backend.py", line 594, in GetInspectorBackend
self._app_backend.app, self._devtools_client, context)
File "...\py_trace_event\py_trace_event\trace_event_impl\decorators.py", line 75, in traced_function
return func(*args, **kwargs)
File "...\internal\backends\chrome_inspector\inspector_backend.py", line 82, in __init__
self._ConvertExceptionFromInspectorWebsocket(e)
File "...\py_trace_event\py_trace_event\trace_event_impl\decorators.py", line 75, in traced_function
return func(*args, **kwargs)
File "...\internal\backends\chrome_inspector\inspector_backend.py", line 72, in __init__
self._log = inspector_log.InspectorLog(self._websocket)
File "...\internal\backends\chrome_inspector\inspector_log.py", line 19, in __init__
self._Enable()
File "...\internal\backends\chrome_inspector\inspector_log.py", line 29, in _Enable
self._inspector_websocket.SyncRequest({'method': 'Log.enable'}, timeout)
File "...\internal\backends\chrome_inspector\inspector_websocket.py", line 132, in SyncRequest
res = self._Receive(timeout)
File "...\internal\backends\chrome_inspector\inspector_websocket.py", line 181, in _Receive
raise WebSocketException(err)
TimeoutException:
Comment 1 by cbruni@google.com
, Nov 16