New issue
Advanced search Search tips

Issue 828204 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 2
Type: Bug



Sign in to add a comment

[CRD iOS] Crash at remoting::DesktopViewport::SetSurfaceSize(int, int)

Project Member Reported by yuweih@chromium.org, Apr 2 2018

Issue description

2 occurrences as of Apr 2. Could be something like connection died when the keyboard is being shown/hidden.
 
Screen Shot 2018-04-02 at 4.26.00 PM.png
52.7 KB View Download
Labels: -Pri-3 M-67 Pri-2
We already got 195 crashes so it must be fixed in M67.
Project Member

Comment 2 by bugdroid1@chromium.org, Apr 6 2018

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

commit 2967489d082e4175e49956f5dd5b6d50468c5f73
Author: Yuwei Huang <yuweih@chromium.org>
Date: Fri Apr 06 23:35:59 2018

[CRD iOS] Fix crash on SetSurfaceSize(int, int)

We got quite a few crash reports on
DesktopViewport::SetSurfaceSize(int, int). My suspicion is that the
connection is dropped when the keyboard is being shown/hidden so
animateSurfaceSize: is called when gestureInterpreter is already a
nullptr, causing a segfault. This is very hard to repro though since
the connection must be dropped (by killing the host?) during the
animation and the animation must tick one frame before the view closes
itself.

This CL fixes this by making both interpreters have the same lifetime
as RemotingClient and use SetContext() to enable/disable them.

Bug:  828204 
Change-Id: I41c14ae8bc1d6edce8f3c32eb958256809821425
Reviewed-on: https://chromium-review.googlesource.com/1000096
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Yuwei Huang <yuweih@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548969}
[modify] https://crrev.com/2967489d082e4175e49956f5dd5b6d50468c5f73/remoting/client/gesture_interpreter.cc
[modify] https://crrev.com/2967489d082e4175e49956f5dd5b6d50468c5f73/remoting/client/gesture_interpreter.h
[modify] https://crrev.com/2967489d082e4175e49956f5dd5b6d50468c5f73/remoting/client/input/keyboard_interpreter.cc
[modify] https://crrev.com/2967489d082e4175e49956f5dd5b6d50468c5f73/remoting/client/input/keyboard_interpreter.h
[modify] https://crrev.com/2967489d082e4175e49956f5dd5b6d50468c5f73/remoting/client/ui/desktop_viewport.cc
[modify] https://crrev.com/2967489d082e4175e49956f5dd5b6d50468c5f73/remoting/ios/app/host_view_controller.mm
[modify] https://crrev.com/2967489d082e4175e49956f5dd5b6d50468c5f73/remoting/ios/session/remoting_client.h
[modify] https://crrev.com/2967489d082e4175e49956f5dd5b6d50468c5f73/remoting/ios/session/remoting_client.mm

Comment 3 by yuweih@chromium.org, Apr 10 2018

Status: Fixed (was: Assigned)

Sign in to add a comment