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

Issue 845372 link

Starred by 6 users

Issue metadata

Status: Verified
Owner:
Closed: Aug 27
Cc:
Components:
EstimatedDays: 0
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug

Blocking:
issue 844755



Sign in to add a comment

Test result of video_ChromeHWDecodeUsed should not be affected by pre-test histograms' state.

Project Member Reported by inker@chromium.org, May 22 2018

Issue description

Comment 1 by tfiga@chromium.org, Jun 25 2018

Owner: deanliao@chromium.org
Summary: video_ChromeHWDecodeUsed failed with Error: Media.GpuVideoDecoderInitializeStatus not loaded or histogram bucket not found or histogram bucket found at < 100% (was: video_ChromeHWDecodeUsed.h264 failed on cyan with Error: Media.GpuVideoDecoderInitializeStatus not loaded or histogram bucket not found or histogram bucket found at < 100%)
Happened on veyron_minnie on 10814.0.0 too:
http://ubercautotest.corp.google.com/tko/retrieve_logs.cgi?job=/results/211513735-chromeos-test/chromeos4-row9-rack10-host19

Seems to have passed after a retry?

Status: Assigned (was: Untriaged)
We shall have a finer grain error message to distinguish the three condition apart.
Cc: alemate@chromium.org raymes@chromium.org
Saw this failure last night in HWTest [bvt-cq] on peach_pit-, peppy-, and tricky-chrome-pfq.  Here's the failed master pfq run with links to the individual failed builders:
https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8939700450600602400

Same error message:
video_ChromeHWDecodeUsed.vp8          [ FAILED ]
video_ChromeHWDecodeUsed.vp8            ERROR: Media.GpuVideoDecoderInitializeStatus not loaded or histogram bucket not found or histogram bucket found at < 100%
video_ChromeHWDecodeUsed.vp8            retry_count: 1

+This week's gardeners, to keep an eye on it
Upping to P1 since this has happened several times now. 

deanliao: could you ptal or help us find a new owner?
Labels: -Pri-2 Pri-1
deanliao: this actually looks like it's happening consistently now on the builders
Looking into it.
For peach_pit, it failed because the histogram is not expected:
07/29 20:43:58.081 DEBUG|histogram_verifier:0028| chrome://histograms/Media.GpuVideoDecoderInitializeStatus:
Histogram: Media.GpuVideoDecoderInitializeStatus recorded 5 samples, mean = 12.0 (flags = 0x41)
0   ------------------O                                                       (1 = 20.0%)
1   ... 
15  ------------------------------------------------------------------------O (4 = 80.0%) {20.0%}

It expected all GpuVideoDecoderInitializeStatus are zero. But 4 out of 5 status are 15 instead of 0.
Status 15: DECODER_ERROR_NOT_SUPPORTED

All three boards' failure reasons are the same. 4 unexpected DECODER_ERROR_NOT_SUPPORTED in chrome://histograms/Media.GpuVideoDecoderInitializeStatus
Status: Started (was: Assigned)
Last known good image: (R70-10919.0.0-rc2, 70.0.3505.0)
First bad image version: (R70-10920.0.0-rc1, 70.0.3506.0)
Found a peach_pit DUT, it is locally reproducible. 
Bisecting https://chromium.googlesource.com/chromium/src/+log/70.0.3505.0..70.0.3506.0?n=10000

In DUT, after running autotest from host, you may run it locally:
/usr/local/autotest/bin/autotest_client /usr/local/autotest/tests/video_ChromeHWDecodeUsed/control.vp8

The culprit commit: https://chromium-review.googlesource.com/c/chromium/src/+/1153832
ChromeOS OOBE: Add Welcome screen animations.

It could be because something wrong playing OOBE video so that histograms/Media.GpuVideoDecoderInitializeStatus has DECODER_ERROR_NOT_SUPPORTED state counted.


I didn't find a way to reset histogram before test starts. I propose we can add a method to obtain and verify diff of histogram before and after the test.

Of course, why the OOBE animations cause DECODER_ERROR_NOT_SUPPORTED needs investigation.

Cc: wzang@chromium.org
alemate: apparently the culprit is a commit you landed recently? (see #13)

Should we revert it to make the tree green?
Cc: deanliao@chromium.org
Owner: wzang@chromium.org
Indeed reverting the culprit commit should make the tree green again. On video team side, two things to follow:
1) figure out why the OOBE animation introduces DECODER_ERROR_NOT_SUPPORTED
2) make test more robust by checking diff of histogram before and after test item.
Owner: posciak@chromium.org
Histogram is now a different issue 869189.

I filed issue 869243 to "investigate why the OOBE animation introduces DECODER_ERROR_NOT_SUPPORTED".

Assigning to video test owner to investigate option 2: "make test more robust by checking diff of histogram before and after test item."

Why should we revert animations if it's bug in test + video decoding? Animations are playing OK.
Cc: -deanliao@chromium.org posciak@chromium.org
Labels: videoshortlist
Owner: deanliao@chromium.org
Blocking: 844755
Summary: Test result of video_ChromeHWDecodeUsed should not be affected by pre-test histograms' state. (was: video_ChromeHWDecodeUsed failed with Error: Media.GpuVideoDecoderInitializeStatus not loaded or histogram bucket not found or histogram bucket found at < 100%)
The root cause of the failure is that video_ChromeHWDecodeUsed test checks histograms only after test. So if pre-test histograms has counter unexpected to the test, it will fail no matter what the test itself is ok or not.

We should expect histogram diff instead. Working on it.

It is part of  https://crbug.com/844755  effort. 
Project Member

Comment 20 by bugdroid1@chromium.org, Aug 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/3e14531037de06976b4fc50fe33b48d7fa899a58

commit 3e14531037de06976b4fc50fe33b48d7fa899a58
Author: Dean Liao <deanliao@chromium.org>
Date: Wed Aug 01 21:52:30 2018

cros/video: add HistogramDiffer

In the past, some video tests, e.g. video_ChromeHWDecodeUsed,
only expect post-test histogram. It can get false negative result
if histogram before test has something unexpected, e.g. error
status code. To make the test pre-test histogram invariant,
HistogramDiffer take two histogram snapshots before and after test,
then calculates their difference.

BUG= chromium:845372 
TEST=./histogram_verifier_unittest.py
Pass video_ChromeHWDecodeUsed on peach_pit R70-10920.0.0-rc1.

Change-Id: I86faec85dd47908d988433e46ba9c30dffc06b6e
Reviewed-on: https://chromium-review.googlesource.com/1156707
Commit-Ready: Shuo-Peng Liao <deanliao@google.com>
Tested-by: Shuo-Peng Liao <deanliao@google.com>
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>

[modify] https://crrev.com/3e14531037de06976b4fc50fe33b48d7fa899a58/client/site_tests/video_ChromeHWDecodeUsed/video_ChromeHWDecodeUsed.py
[add] https://crrev.com/3e14531037de06976b4fc50fe33b48d7fa899a58/client/cros/video/histogram_verifier_unittest.py
[add] https://crrev.com/3e14531037de06976b4fc50fe33b48d7fa899a58/client/cros/video/common.py
[modify] https://crrev.com/3e14531037de06976b4fc50fe33b48d7fa899a58/client/cros/video/histogram_verifier.py

Labels: M-69
We actually need this in M69.
I mean we need #20 in M69.
Project Member

Comment 23 by bugdroid1@chromium.org, Aug 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/3a26463be800cba6d09559c31c6f90a90796f707

commit 3a26463be800cba6d09559c31c6f90a90796f707
Author: Dean Liao <deanliao@chromium.org>
Date: Fri Aug 17 18:17:58 2018

cros/video: use  HistogramDiffer to expect histogram change.

It is a follow-up commit of https://crrev.com/c/1156707.

BUG= chromium:845372 
TEST=./histogram_verifier_unittest.py
Run autotest video_ChromeHWDecodeUsed, video_ChromeRTCHWDecodeUsed,
video_ChromeVidResChangeHWDecode, video_MediaRecorderHWEncodeUsed,
and video_MediaRecorderPerf.

Change-Id: I743f00d76a37dc67889bbdb505854767013fe892
Reviewed-on: https://chromium-review.googlesource.com/1177402
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Shuo-Peng Liao <deanliao@google.com>
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>

[modify] https://crrev.com/3a26463be800cba6d09559c31c6f90a90796f707/client/site_tests/video_ChromeVidResChangeHWDecode/video_ChromeVidResChangeHWDecode.py
[modify] https://crrev.com/3a26463be800cba6d09559c31c6f90a90796f707/client/site_tests/video_ChromeHWDecodeUsed/video_ChromeHWDecodeUsed.py
[modify] https://crrev.com/3a26463be800cba6d09559c31c6f90a90796f707/client/site_tests/video_MediaRecorderPerf/video_MediaRecorderPerf.py
[modify] https://crrev.com/3a26463be800cba6d09559c31c6f90a90796f707/client/cros/video/histogram_verifier_unittest.py
[modify] https://crrev.com/3a26463be800cba6d09559c31c6f90a90796f707/client/site_tests/video_MediaRecorderHWEncodeUsed/video_MediaRecorderHWEncodeUsed.py
[modify] https://crrev.com/3a26463be800cba6d09559c31c6f90a90796f707/client/cros/video/histogram_verifier.py
[modify] https://crrev.com/3a26463be800cba6d09559c31c6f90a90796f707/client/site_tests/video_ChromeRTCHWDecodeUsed/video_ChromeRTCHWDecodeUsed.py

Project Member

Comment 24 by bugdroid1@chromium.org, Aug 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/a36b878559862fe31c20af485c8c8883a7bb5113

commit a36b878559862fe31c20af485c8c8883a7bb5113
Author: Dean Liao <deanliao@chromium.org>
Date: Tue Aug 21 17:33:59 2018

Reland "cros/video: use HistogramDiffer to expect histogram change."

This reverts commit 3cdc7663539d8c7f6cf8ada119a012c7e8dfef9d,
which is a reland of 3a26463be800cba6d09559c31c6f90a90796f707.

It adds retry mechanism for histogram_verifier.expect_sole_bucket() as
its replacement target, histogram_verifier.verify(), has retry
mechanism.

Also, adds expect_histogram_grow() with observation peirod.

BUG= chromium:845372 , chromium:875699 
TEST=./histogram_verifier_unittest.py
Run autotest video_ChromeHWDecodeUsed, video_ChromeRTCHWDecodeUsed,
video_ChromeVidResChangeHWDecode, video_MediaRecorderHWEncodeUsed,
and video_MediaRecorderPerf.

Change-Id: Ic15b14234a86fb222a3947c75fb572fdba3c4083
Reviewed-on: https://chromium-review.googlesource.com/1180792
Commit-Ready: Shuo-Peng Liao <deanliao@google.com>
Tested-by: Shuo-Peng Liao <deanliao@google.com>
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>

[modify] https://crrev.com/a36b878559862fe31c20af485c8c8883a7bb5113/client/site_tests/video_ChromeVidResChangeHWDecode/video_ChromeVidResChangeHWDecode.py
[modify] https://crrev.com/a36b878559862fe31c20af485c8c8883a7bb5113/client/site_tests/video_ChromeHWDecodeUsed/video_ChromeHWDecodeUsed.py
[modify] https://crrev.com/a36b878559862fe31c20af485c8c8883a7bb5113/client/site_tests/video_MediaRecorderPerf/video_MediaRecorderPerf.py
[modify] https://crrev.com/a36b878559862fe31c20af485c8c8883a7bb5113/client/cros/video/histogram_verifier_unittest.py
[modify] https://crrev.com/a36b878559862fe31c20af485c8c8883a7bb5113/client/site_tests/video_MediaRecorderHWEncodeUsed/video_MediaRecorderHWEncodeUsed.py
[modify] https://crrev.com/a36b878559862fe31c20af485c8c8883a7bb5113/client/cros/video/histogram_verifier.py
[modify] https://crrev.com/a36b878559862fe31c20af485c8c8883a7bb5113/client/site_tests/video_ChromeRTCHWDecodeUsed/video_ChromeRTCHWDecodeUsed.py

Cc: hiroh@chromium.org
Labels: Merge-Request-69
To fix flaky test because of wrongly expecting histogram snapshot after test instead of examining histogram difference before and after the test, we need to merge both https://crrev.com/c/1156707 and https://crrev.com/c/1180792
Project Member

Comment 26 by sheriffbot@chromium.org, Aug 22

Labels: -Merge-Request-69 Merge-Review-69 Hotlist-Merge-Review
This bug requires manual review: We are only 12 days from stable.
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), kariahda@(iOS), cindyb@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Issue 869189 has been merged into this issue.
Cc: deanliao@chromium.org wuchengli@chromium.org
 Issue 845055  has been merged into this issue.
Labels: -Merge-Review-69 Merge-Approved-69
Merge approved, M69.
cros tryjob -g 1186012 -g 1186013 --branch release-R69-10895.B daisy-paladin-tryjob peppy-paladin-tryjob
failed at build_package

Asking 
https://groups.google.com/a/google.com/forum/#!topic/chromeos-infra-discuss/Y6ep-UDba_Q
Also need to merge this https://crrev.com/c/1186923

Project Member

Comment 32 by bugdroid1@chromium.org, Aug 23

Labels: merge-merged-release-R69-10895.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/079f964d5569375e75adf18e375381a0fdbc7c5c

commit 079f964d5569375e75adf18e375381a0fdbc7c5c
Author: Dean Liao <deanliao@chromium.org>
Date: Thu Aug 23 17:58:37 2018

cros/video: add HistogramDiffer

In the past, some video tests, e.g. video_ChromeHWDecodeUsed,
only expect post-test histogram. It can get false negative result
if histogram before test has something unexpected, e.g. error
status code. To make the test pre-test histogram invariant,
HistogramDiffer take two histogram snapshots before and after test,
then calculates their difference.

BUG= chromium:845372 
TEST=./histogram_verifier_unittest.py
Pass video_ChromeHWDecodeUsed on peach_pit R70-10920.0.0-rc1.

Change-Id: I86faec85dd47908d988433e46ba9c30dffc06b6e
Previous-Reviewed-on: https://chromium-review.googlesource.com/1156707
(cherry picked from commit 544d6d0fa47c8e6f97ce2dbe2d1bfcf4d53df203)
Reviewed-on: https://chromium-review.googlesource.com/1186012
Commit-Queue: Shuo-Peng Liao <deanliao@google.com>
Tested-by: Shuo-Peng Liao <deanliao@google.com>
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>

[modify] https://crrev.com/079f964d5569375e75adf18e375381a0fdbc7c5c/client/site_tests/video_ChromeHWDecodeUsed/video_ChromeHWDecodeUsed.py
[add] https://crrev.com/079f964d5569375e75adf18e375381a0fdbc7c5c/client/cros/video/histogram_verifier_unittest.py
[add] https://crrev.com/079f964d5569375e75adf18e375381a0fdbc7c5c/client/cros/video/common.py
[modify] https://crrev.com/079f964d5569375e75adf18e375381a0fdbc7c5c/client/cros/video/histogram_verifier.py

Project Member

Comment 33 by bugdroid1@chromium.org, Aug 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/cc94f101deecbbd4325c287fe6592e76ae1fe6ee

commit cc94f101deecbbd4325c287fe6592e76ae1fe6ee
Author: Dean Liao <deanliao@chromium.org>
Date: Thu Aug 23 17:58:38 2018

Reland "cros/video: use HistogramDiffer to expect histogram change."

This reverts commit 3cdc7663539d8c7f6cf8ada119a012c7e8dfef9d,
which is a reland of 3a26463be800cba6d09559c31c6f90a90796f707.

It adds retry mechanism for histogram_verifier.expect_sole_bucket() as
its replacement target, histogram_verifier.verify(), has retry
mechanism.

Also, adds expect_histogram_grow() with observation peirod.

BUG= chromium:845372 , chromium:875699 
TEST=./histogram_verifier_unittest.py
Run autotest video_ChromeHWDecodeUsed, video_ChromeRTCHWDecodeUsed,
video_ChromeVidResChangeHWDecode, video_MediaRecorderHWEncodeUsed,
and video_MediaRecorderPerf.

Change-Id: Ic15b14234a86fb222a3947c75fb572fdba3c4083
Previous-Reviewed-on: https://chromium-review.googlesource.com/1180792
(cherry picked from commit 4f4af6bd9e3f13196a9c76bb5215efad4ecf6103)
Reviewed-on: https://chromium-review.googlesource.com/1186013
Commit-Queue: Shuo-Peng Liao <deanliao@google.com>
Tested-by: Shuo-Peng Liao <deanliao@google.com>
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>

[modify] https://crrev.com/cc94f101deecbbd4325c287fe6592e76ae1fe6ee/client/site_tests/video_ChromeVidResChangeHWDecode/video_ChromeVidResChangeHWDecode.py
[modify] https://crrev.com/cc94f101deecbbd4325c287fe6592e76ae1fe6ee/client/site_tests/video_ChromeHWDecodeUsed/video_ChromeHWDecodeUsed.py
[modify] https://crrev.com/cc94f101deecbbd4325c287fe6592e76ae1fe6ee/client/site_tests/video_MediaRecorderPerf/video_MediaRecorderPerf.py
[modify] https://crrev.com/cc94f101deecbbd4325c287fe6592e76ae1fe6ee/client/cros/video/histogram_verifier_unittest.py
[modify] https://crrev.com/cc94f101deecbbd4325c287fe6592e76ae1fe6ee/client/site_tests/video_MediaRecorderHWEncodeUsed/video_MediaRecorderHWEncodeUsed.py
[modify] https://crrev.com/cc94f101deecbbd4325c287fe6592e76ae1fe6ee/client/cros/video/histogram_verifier.py
[modify] https://crrev.com/cc94f101deecbbd4325c287fe6592e76ae1fe6ee/client/site_tests/video_ChromeRTCHWDecodeUsed/video_ChromeRTCHWDecodeUsed.py

deanliao@ pinged for the additional CL that needs to be included. Approved for M69.
Verify procedure:

1. cros flash R69-10895.33.0 image to a peach_pit DUT from cautotest lab.
2. Run autotest video_ChromeHWDecodeUsed.vp8 and saw test failed.
3. Apply the three commits: https://crrev.com/c/1186923 https://crrev.com/c/1186012 https://crrev.com/c/1186013 to DUT
4. Run autotest video_ChromeHWDecodeUsed.vp8 again to see test pass.

The reason I need https://crrev.com/c/1186923 is because it has a Timer class which is used by https://crrev.com/c/1186013
Status: Fixed (was: Started)
Project Member

Comment 38 by sheriffbot@chromium.org, Aug 27

Cc: cindyb@chromium.org
This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Approved-69

Sign in to add a comment