From Issue 912161:
Seeing timeouts inside Telemetry while attempting to gather a stack trace. Telemetry is trying to dump the UI and that operation is timing out. Our harness doesn't want to attempt to do this.
Example failures:
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/android-marshmallow-arm64-rel/149070
https://chromium-swarm.appspot.com/task?id=41b7c000e7e83d10&refresh=10&show_raw=1
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/android-marshmallow-arm64-rel/149062
https://chromium-swarm.appspot.com/task?id=41b7a71551a0a110&refresh=10&show_raw=1
Relevant stack trace from logs:
Problem when trying to gather stack trace:
Traceback (most recent call last):
File "/b/swarming/w/ir/third_party/catapult/telemetry/telemetry/core/exceptions.py", line 72, in __init__
self._is_valid_dump, trace_output = app.GetStackTrace()
File "/b/swarming/w/ir/third_party/catapult/telemetry/telemetry/internal/browser/browser.py", line 240, in GetStackTrace
return self._browser_backend.GetStackTrace()
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/internal/backends/chrome/android_browser_backend.py", line 196, in GetStackTrace
return self.platform_backend.GetStackTrace()
File "/b/swarming/w/ir/third_party/catapult/telemetry/telemetry/internal/platform/android_platform_backend.py", line 640, in GetStackTrace
ret = Decorate('UI dump', '\n'.join(self.GetSystemUi().ScreenDump()))
File "/b/swarming/w/ir/third_party/catapult/devil/devil/android/app_ui.py", line 212, in ScreenDump
return self._GetRootUiNode().Dump()
File "/b/swarming/w/ir/third_party/catapult/devil/devil/android/decorators.py", line 57, in timeout_retry_wrapper
retry_if_func=retry_if_func)
File "/b/swarming/w/ir/third_party/catapult/devil/devil/utils/timeout_retry.py", line 158, in Run
error_log_func=error_log_func)
File "/b/swarming/w/ir/third_party/catapult/devil/devil/utils/reraiser_thread.py", line 198, in JoinAll
self._JoinAll(watcher, timeout)
File "/b/swarming/w/ir/third_party/catapult/devil/devil/utils/reraiser_thread.py", line 163, in _JoinAll
(len(alive_threads), len(self._threads)))
CommandTimeoutError: Timed out waiting for 1 of 1 threads.
We need a way to configure the call to self._GetRootUiNode().Dump() and not do that in our test harness.
Comment 1 by ynovikov@chromium.org
, Dec 12