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

Issue 868069 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Oct 30
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug-Regression

Blocked on:
issue 844755



Sign in to add a comment

cheets_MediaPlayerVideoHWDecodeUsed failing on cyan- and reef-chrome-pfq with Unhandled DevtoolsTargetCrashException

Project Member Reported by glevin@chromium.org, Jul 26

Issue description

Chrome Version: 70.0.3502.0

The most recent runs of cyan- and reef-chrome-pfq are red:
https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8939951841574145184
https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8939951833809993952

cheets_MediaPlayerVideoHWDecodeUsed in HWTest [bvt-arc] failed with:
    Unhandled DevtoolsTargetCrashException: Devtools target crashed

+hiroh@: You've recently worked on this file:

https://cs.corp.google.com/chromeos_internal/src/third_party/autotest-tests-cheets/client/site_tests/cheets_MediaPlayerVideoHWDecodeUsed/cheets_MediaPlayerVideoHWDecodeUsed.py

and also were assigned the similar-looking  Issue 803703 .  Could you take a look at this, and advise?  The Chrome PFQ is red at the moment as a result of this.

+gardeners and sheriffs
 
Labels: crosvideoshortlist
Labels: -crosvideoshortlist videoshortlist
Cc: johnylin@chromium.org
Looks like the error happens in checking chrome://histogram values.
Our team knows checking that has flakiness.
deanliao@ is working to change the way these days.
I think this is not real error and will pass next PFQ try.
Let's monitor next few results.

Looking cheets_MediaPlayerVideoHWDecodeUsed.DEBUG, only one try was executed.
JOB_RETRY is set to 2 in control file, it should be tried twice, Hmm...

+johnylin@, who is the OWNER of this test just in case.
Cc: deanliao@chromium.org
Blockedon: 844755
The issue I'm working on: 844755

My first step is to let autotest emit finer grain error message to know what's wrong with histogram verifier. This case was that Telemetry's tab.Navigate(histogram_url) raised an exception because devtool connection is closed. histogram_verifier.verify() should handle the exception and let it try till timeout, which is not. This is addressed in my work-in-progress commit: https://crrev.com/c/1138040


quoted from a debug log in attachment:

Traceback (most recent call last):
  File "/usr/local/autotest/common_lib/test.py", line 831, in _call_test_function
    return func(*args, **dargs)
  File "/usr/local/autotest/common_lib/test.py", line 495, in execute
    dargs)
  File "/usr/local/autotest/common_lib/test.py", line 362, in _call_run_once_with_retry
    postprocess_profiled_run, args, dargs)
  File "/usr/local/autotest/common_lib/test.py", line 400, in _call_run_once
    self.run_once(*args, **dargs)
  File "/usr/local/autotest/cros/video/helper_logger.py", line 82, in call
    return func(*args, **kwargs)
  File "/usr/local/autotest/tests/cheets_MediaPlayerVideoHWDecodeUsed/cheets_MediaPlayerVideoHWDecodeUsed.py", line 59, in run_once
    constants.MEDIA_CAVDA_BUCKET)
  File "/usr/local/autotest/cros/video/histogram_verifier.py", line 72, in verify
    sleep_interval=1)
  File "/usr/local/autotest/common_lib/utils.py", line 2685, in poll_for_condition
    value = condition()
  File "/usr/local/autotest/cros/video/histogram_verifier.py", line 70, in <lambda>
    bucket_pattern),
  File "/usr/local/autotest/cros/video/histogram_verifier.py", line 46, in loaded
    return re.search(pattern, get_histogram_text(tab, histogram_name))
  File "/usr/local/autotest/cros/video/histogram_verifier.py", line 21, in get_histogram_text
    tab.Navigate('chrome://histograms/%s' % histogram_name)
  File "/usr/local/telemetry/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 "/usr/local/telemetry/src/third_party/catapult/telemetry/telemetry/internal/browser/web_contents.py", line 299, in Navigate
    self._inspector_backend.Navigate(url, script_to_evaluate_on_commit, timeout)
  File "/usr/local/telemetry/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 "/usr/local/telemetry/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome_inspector/inspector_backend.py", line 41, in Inner
    inspector_backend._ConvertExceptionFromInspectorWebsocket(e)
  File "/usr/local/telemetry/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 "/usr/local/telemetry/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome_inspector/inspector_backend.py", line 38, in Inner
    return func(inspector_backend, *args, **kwargs)
  File "/usr/local/telemetry/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome_inspector/inspector_backend.py", line 185, in Navigate
    self._page.Navigate(url, script_to_evaluate_on_commit, timeout)
  File "/usr/local/telemetry/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome_inspector/inspector_page.py", line 104, in Navigate
    self._SetScriptToEvaluateOnCommit(script_to_evaluate_on_commit, timeout)
  File "/usr/local/telemetry/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome_inspector/inspector_page.py", line 70, in _SetScriptToEvaluateOnCommit
    res = self._inspector_websocket.SyncRequest(request, timeout)
  File "/usr/local/telemetry/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome_inspector/inspector_websocket.py", line 116, in SyncRequest
    res = self._Receive(timeout)
  File "/usr/local/telemetry/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome_inspector/inspector_websocket.py", line 155, in _Receive
    data = self._socket.recv()
  File "/usr/local/telemetry/src/third_party/catapult/telemetry/third_party/websocket-client/websocket/_core.py", line 293, in recv
    opcode, data = self.recv_data()
  File "/usr/local/telemetry/src/third_party/catapult/telemetry/third_party/websocket-client/websocket/_core.py", line 310, in recv_data
    opcode, frame = self.recv_data_frame(control_frame)
  File "/usr/local/telemetry/src/third_party/catapult/telemetry/third_party/websocket-client/websocket/_core.py", line 323, in recv_data_frame
    frame = self.recv_frame()
  File "/usr/local/telemetry/src/third_party/catapult/telemetry/third_party/websocket-client/websocket/_core.py", line 357, in recv_frame
    return self.frame_buffer.recv_frame()
  File "/usr/local/telemetry/src/third_party/catapult/telemetry/third_party/websocket-client/websocket/_abnf.py", line 336, in recv_frame
    self.recv_header()
  File "/usr/local/telemetry/src/third_party/catapult/telemetry/third_party/websocket-client/websocket/_abnf.py", line 286, in recv_header
    header = self.recv_strict(2)
  File "/usr/local/telemetry/src/third_party/catapult/telemetry/third_party/websocket-client/websocket/_abnf.py", line 371, in recv_strict
    bytes_ = self.recv(min(16384, shortage))
  File "/usr/local/telemetry/src/third_party/catapult/telemetry/third_party/websocket-client/websocket/_core.py", line 427, in _recv
    return recv(self.sock, bufsize)
  File "/usr/local/telemetry/src/third_party/catapult/telemetry/third_party/websocket-client/websocket/_socket.py", line 93, in recv
    "Connection is already closed.")
DevtoolsTargetCrashException: Devtools target crashed

Though this case is no histogram content from log:
cheets_MediaPlayerVideoHWDecodeUsed.debug.log
178 KB View Download
After https://crrev.com/c/1138040, which allows finer grain error message, I'm working on https://crrev.com/c/1148173/2/client/cros/video/histogram_verifier.py which utilizes poll_for_condition_ex().
Status: WontFix (was: Assigned)

Sign in to add a comment