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

Issue 778761 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 1
Type: Bug

Blocking:
issue 756948



Sign in to add a comment

MediaRouter.Cast.Channel.ConnectResult Can Be Both Linear and Boolean

Project Member Reported by bcwh...@chromium.org, Oct 26 2017

Issue description

Chrome Version: HEAD
OS: all

MediaRouter.Cast.Channel.ConnectResult is defined as a "boolean" histogram here:
https://cs.chromium.org/chromium/src/chrome/browser/media/router/discovery/media_sink_discovery_metrics.cc?rcl=6089944c74a603d90cf1ade1ba8753890f318568&l=93

However, it can also be created as a "linear" histogram here:
https://cs.chromium.org/chromium/src/extensions/browser/api/metrics_private/metrics_private_api.cc?rcl=ab7f6879b56532d0e1fbe42db3907ee6f478f465&l=134

The difference causes the browser to crash.  One of them needs to be changed.

Here's are two crashes with minidumps showing both execution paths:

https://crash.corp.google.com/browse?q=custom_data.ChromeCrashProto.magic_signature_1.name%3D%27base%3A%3AHistogram%3A%3AFactory%3A%3ABuild%27%20AND%20product.Version%3E%3D%2763%27%20AND%20ReportID%3D%27c0591522984a516f%27&sql_dialect=dremelsql&ignore_case=false&enable_rewrite=true&omit_field_name=&omit_field_value=&omit_field_opt=%3D&stbtiq=&reportid=&index=0

https://crash.corp.google.com/browse?q=custom_data.ChromeCrashProto.magic_signature_1.name%3D%27base%3A%3AHistogram%3A%3AFactory%3A%3ABuild%27%20AND%20product.Version%3E%3D%2763%27%20AND%20ReportID%3D%27081b7f9233b958a7%27&sql_dialect=dremelsql&ignore_case=false&enable_rewrite=true&omit_field_name=&omit_field_value=&omit_field_opt=%3D&stbtiq=&reportid=&index=0

You can find more crashes here, though it's possible there are some other bad histograms in there, too:

https://crash.corp.google.com/browse?q=custom_data.ChromeCrashProto.magic_signature_1.name%3D%27base%3A%3AHistogram%3A%3AFactory%3A%3ABuild%27%20AND%20product.Version%3E%3D%2763%27&sql_dialect=dremelsql&ignore_case=false&enable_rewrite=true&omit_field_name=&omit_field_value=&omit_field_opt=%3D#-property-selector,+productversion



 
Blocking: 756948
Labels: ReleaseBlock-Stable M-63
Owner: zhaobin@chromium.org
The same metric is recorded extension-side with an enum with values FAILURE: 0 and SUCCESS: 1. We'll need to change the browser side recording to be consistent with that before enabling in-browser Cast discovery. 

Comment 4 by gov...@chromium.org, Oct 26 2017

Pls apply appropriate OSs label. Thank you.
Labels: OS-Chrome OS-Linux OS-Windows
Project Member

Comment 6 by bugdroid1@chromium.org, Oct 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7c3ecc068e20da5fc83908efed8a5135f3927fdd

commit 7c3ecc068e20da5fc83908efed8a5135f3927fdd
Author: Bin Zhao <zhaobin@chromium.org>
Date: Fri Oct 27 01:21:25 2017

[Media Router] Record channel connect result as enum instead of boolean

"MediaRouter.Cast.Channel.ConnectResult" is recorded as enum at extension
side, but as boolean at browser side, causing Chrome crash. Changed to
record connect result as enum as well at browser side.

Bug:  778761 
Change-Id: I9b4270091a4b061660301fa36f9630e23abc628b
Reviewed-on: https://chromium-review.googlesource.com/740563
Commit-Queue: Bin Zhao <zhaobin@chromium.org>
Reviewed-by: Derek Cheng <imcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512052}
[modify] https://crrev.com/7c3ecc068e20da5fc83908efed8a5135f3927fdd/chrome/browser/media/router/discovery/mdns/cast_media_sink_service_impl.cc
[modify] https://crrev.com/7c3ecc068e20da5fc83908efed8a5135f3927fdd/chrome/browser/media/router/discovery/media_sink_discovery_metrics.cc
[modify] https://crrev.com/7c3ecc068e20da5fc83908efed8a5135f3927fdd/chrome/browser/media/router/discovery/media_sink_discovery_metrics.h
[modify] https://crrev.com/7c3ecc068e20da5fc83908efed8a5135f3927fdd/chrome/browser/media/router/discovery/media_sink_discovery_metrics_unittest.cc

We have turned off EnableCastDiscovery finch feature in Dev and Canary for M63. It should fix this issue and unblock M63 release.

Would it be better to just merge this change to M63?
Cc: imch...@chromium.org
Labels: Merge-Request-63 OS-Mac
We are planning to merge this back to M63. Adding tag.
Project Member

Comment 10 by sheriffbot@chromium.org, Oct 28 2017

Labels: -Merge-Request-63 Merge-Review-63 Hotlist-Merge-Review
This bug requires manual review: M63 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), gkihumba@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Per comment #7, feature was disabled via finch to unblock M63 release. May I please know the reason for this merge request? Please note M63 is already promoted to Beta so merge bar is very high.


We would still like to roll out or at least start experimenting in-browser Cast discovery in M63. We had been rolling it out to canary/dev for a week prior to disabling the feature, and AFAICT, there are no other crashes observed that are related to the feature. The fix itself is quite small.

Launch bug: https://bugs.chromium.org/p/chromium/issues/detail?id=752604
Thank you imcheng@. Can this feature easily disabled via finch on M63 if needed?
Yes, the in-browser Cast discovery logic can be disabled via Finch (feature name is EnableCastDiscovery).
Labels: -Merge-Review-63 Merge-Approved-63
Approving merge to M63 branch 3239 based on comment #12 and #14. Please merge ASAP. Thank you.
Project Member

Comment 16 by bugdroid1@chromium.org, Oct 30 2017

Labels: -merge-approved-63 merge-merged-3239
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ec0ec7e6f3e5ce48b955760f0f3e5e353e59741b

commit ec0ec7e6f3e5ce48b955760f0f3e5e353e59741b
Author: Bin Zhao <zhaobin@chromium.org>
Date: Mon Oct 30 20:34:08 2017

[Media Router] Record channel connect result as enum instead of boolean

"MediaRouter.Cast.Channel.ConnectResult" is recorded as enum at extension
side, but as boolean at browser side, causing Chrome crash. Changed to
record connect result as enum as well at browser side.

Bug:  778761 
Change-Id: I9b4270091a4b061660301fa36f9630e23abc628b
Reviewed-on: https://chromium-review.googlesource.com/740563
Commit-Queue: Bin Zhao <zhaobin@chromium.org>
Reviewed-by: Derek Cheng <imcheng@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#512052}(cherry picked from commit 7c3ecc068e20da5fc83908efed8a5135f3927fdd)
Reviewed-on: https://chromium-review.googlesource.com/744741
Reviewed-by: Bin Zhao <zhaobin@chromium.org>
Cr-Commit-Position: refs/branch-heads/3239@{#299}
Cr-Branched-From: adb61db19020ed8ecee5e91b1a0ea4c924ae2988-refs/heads/master@{#508578}
[modify] https://crrev.com/ec0ec7e6f3e5ce48b955760f0f3e5e353e59741b/chrome/browser/media/router/discovery/mdns/cast_media_sink_service_impl.cc
[modify] https://crrev.com/ec0ec7e6f3e5ce48b955760f0f3e5e353e59741b/chrome/browser/media/router/discovery/media_sink_discovery_metrics.cc
[modify] https://crrev.com/ec0ec7e6f3e5ce48b955760f0f3e5e353e59741b/chrome/browser/media/router/discovery/media_sink_discovery_metrics.h
[modify] https://crrev.com/ec0ec7e6f3e5ce48b955760f0f3e5e353e59741b/chrome/browser/media/router/discovery/media_sink_discovery_metrics_unittest.cc

[Bulk Edit]
URGENT - PTAL.
M63 Stable promotion is coming soon and your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and get it merged into the release branch ASAP. Thank you.

Status: Fixed (was: Available)
Status: Assigned (was: Fixed)
This still isn't fixed.  There are crashes due to boolean/linear mismatch.

It's boolean here:
https://cs.chromium.org/chromium/src/chrome/browser/media/router/discovery/media_sink_discovery_metrics.cc?rcl=2f61fdc086d80c57bc523dc38056f926325190f8&l=95

It's linear somewhere else (first).

Here are a couple example crashes in M64:

https://crash.corp.google.com/browse?q=product.Version%3E%3D%2764.0%27%20AND%20product.Version%20LIKE%20%27__.%25.%25.%25%27%20AND%20product.name%20CONTAINS%20%27Chrome%27%20AND%20custom_data.ChromeCrashProto.magic_signature_1.component%3D%27src%2Fbase%2Fmetrics%27%20AND%20custom_data.ChromeCrashProto.magic_signature_1.name%3D%27base%3A%3AHistogram%3A%3AFactory%3A%3ABuild%27%20AND%20product.name%3D%27Chrome%27%20AND%20ReportID%3D%27d9aa5eb4a8ff86a2%27&sql_dialect=dremelsql&ignore_case=false&enable_rewrite=true&omit_field_name=&omit_field_value=&omit_field_opt=%3D&stbtiq=&reportid=&index=0

https://crash.corp.google.com/browse?q=product.Version%3E%3D%2764.0%27%20AND%20product.Version%20LIKE%20%27__.%25.%25.%25%27%20AND%20product.name%20CONTAINS%20%27Chrome%27%20AND%20custom_data.ChromeCrashProto.magic_signature_1.component%3D%27src%2Fbase%2Fmetrics%27%20AND%20custom_data.ChromeCrashProto.magic_signature_1.name%3D%27base%3A%3AHistogram%3A%3AFactory%3A%3ABuild%27%20AND%20product.name%3D%27Chrome%27%20AND%20ReportID%3D%27c230d15e2017da9f%27&sql_dialect=dremelsql&ignore_case=false&enable_rewrite=true&omit_field_name=&omit_field_value=&omit_field_opt=%3D&stbtiq=&reportid=&index=0


bcwhite@: Those crash reports are from November. I don't see any occurrences after 64.0.3251.1. 
Status: Fixed (was: Assigned)
Oh, okay.  For some reason I was thinking that you'd fixed it back in M63.  Sorry for that.

Sign in to add a comment