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

Issue 703240 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Mar 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug



Sign in to add a comment

[Android][Client] Intermittent failure to display video when connecting

Project Member Reported by joedow@chromium.org, Mar 20 2017

Issue description

Some percentage of connections using our M58 Android release candidate build will result in a successful CRD connection but a black screen on the Android client.

The host log shows a successful connection and no errors (as does the Android adb output) but no video is shown.

M58 branch can sync'd to using this commit:
7503282e3514c85f13effc533f9b3cc1c4b5dc8d^

I suspect this has to do with the recent refactoring of the renderer but haven't investigated that far yet.

We need to resolve this issue before we can proceed with the M58 release.
 

Comment 1 by yuweih@chromium.org, Mar 20 2017

Status: Started (was: Untriaged)
Project Member

Comment 2 by bugdroid1@chromium.org, Mar 20 2017

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

commit c99c48fc29b8e104b7552cdac7e28f8534c83bb7
Author: yuweih <yuweih@chromium.org>
Date: Mon Mar 20 22:45:10 2017

[Remoting Android] Fix race condition when initializing JniDisplayHandler

Previously weak_ptr_ is initialized after the PostTask call so sometimes
initialize() may be called earlier than weak_ptr_ being set, ending up with
a renderer_.SetDelegate(nullptr) call. In this case the renderer can't
report the dimension of the desktop frame to DesktopCanvas and DesktopCanvas
will just send broken transformation matrices, causing the renderer to render
only a black screen on the view.

This CL swaps two lines in JniDisplayHandler's ctor to fix this bug. I'll make
a follow up CL to guard the delegate in the renderer.

BUG= 703240 

Review-Url: https://codereview.chromium.org/2763773002
Cr-Commit-Position: refs/heads/master@{#458210}

[modify] https://crrev.com/c99c48fc29b8e104b7552cdac7e28f8534c83bb7/remoting/client/jni/jni_gl_display_handler.cc

Comment 3 by yuweih@chromium.org, Mar 20 2017

Labels: Merge-Request-58
This change will only affect the Chrome Remote Desktop Android client and will not affect Chrome browser or any other component.

Comment 4 by yuweih@chromium.org, Mar 21 2017

Labels: OS-Android
Project Member

Comment 5 by sheriffbot@chromium.org, Mar 21 2017

Labels: -Merge-Request-58 Hotlist-Merge-Approved Merge-Approved-58
Your change meets the bar and is auto-approved for M58. Please go ahead and merge the CL to branch 3029 manually. Please contact milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 6 by bugdroid1@chromium.org, Mar 21 2017

Labels: -merge-approved-58 merge-merged-3029
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5dfef632beb0f174ea1d9822805c90dd44958a30

commit 5dfef632beb0f174ea1d9822805c90dd44958a30
Author: Yuwei Huang <yuweih@chromium.org>
Date: Tue Mar 21 21:10:45 2017

[Remoting Android] Fix race condition when initializing JniDisplayHandler

Previously weak_ptr_ is initialized after the PostTask call so sometimes
initialize() may be called earlier than weak_ptr_ being set, ending up with
a renderer_.SetDelegate(nullptr) call. In this case the renderer can't
report the dimension of the desktop frame to DesktopCanvas and DesktopCanvas
will just send broken transformation matrices, causing the renderer to render
only a black screen on the view.

This CL swaps two lines in JniDisplayHandler's ctor to fix this bug. I'll make
a follow up CL to guard the delegate in the renderer.

BUG= 703240 

Review-Url: https://codereview.chromium.org/2763773002
Cr-Commit-Position: refs/heads/master@{#458210}
(cherry picked from commit c99c48fc29b8e104b7552cdac7e28f8534c83bb7)

Review-Url: https://codereview.chromium.org/2768633002 .
Cr-Commit-Position: refs/branch-heads/3029@{#342}
Cr-Branched-From: 939b32ee5ba05c396eef3fd992822fcca9a2e262-refs/heads/master@{#454471}

[modify] https://crrev.com/5dfef632beb0f174ea1d9822805c90dd44958a30/remoting/client/jni/jni_gl_display_handler.cc

Comment 7 by yuweih@chromium.org, Mar 21 2017

Owner: ajnolley@chromium.org
Status: Fixed (was: Started)
The fix will be in 58.0.3029.33 or something. Please verify when it's built. Thanks!

Comment 8 by joedow@chromium.org, Mar 22 2017

Status: Verified (was: Fixed)
I've verified the fix in 58.0.3029.33 using my nexus 5.
Confirmed on same build on Nexus 5. Looks good.
Blocking: -700950

Sign in to add a comment