New issue
Advanced search Search tips

Issue 595422 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: Windows , Chrome
Pri: 2
Type: Bug

Blocking:
issue 642008



Sign in to add a comment

RenderWidgetHosInputEventRouter should not receive gesture sequences that have no target.

Project Member Reported by wjmaclean@chromium.org, Mar 16 2016

Issue description

Version: 50+
OS: Windows (all)

This issue is related to https://bugs.chromium.org/p/chromium/issues/detail?id=592319

On Windows, it seems that occasionally RenderWidgetHostInputEventRouter receives a GestureTapDown while there are no entries in the gesture_target_queue_.

After collecting some crash data, it appears this may be related to sequences collected when the context menu is showing (immediately after a GestureLongPress), when there may be sequences locked to the context menu widget that never reach the RenderWidgetHostInputEventRouter.

The cause of such unexpected sequences should be discovered and fixed.
 
Cc: -wjmaclean@chromium.org
Owner: wjmaclean@chromium.org
Status: Assigned (was: Untriaged)
Project Member

Comment 2 by bugdroid1@chromium.org, May 17 2016

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

commit 5fd8cf4c9716d6674d17c391ba64eca915330579
Author: wjmaclean <wjmaclean@chromium.org>
Date: Tue May 17 15:44:50 2016

Retest that we don't get empty gesture targets.

Now that https://codereview.chromium.org/1907323003/ has landed, re-test
that we aren't seeing any empty gesture sequences on Windows.

BUG=592319, 595422

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

[modify] https://crrev.com/5fd8cf4c9716d6674d17c391ba64eca915330579/content/browser/renderer_host/render_widget_host_input_event_router.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 3 2016

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

commit 87022427432ab8ab1d11a4d6e1143bdfeb9c12ee
Author: wjmaclean <wjmaclean@chromium.org>
Date: Wed Aug 03 16:22:00 2016

Remove DumpWithoutCrashing in RouteGestureEvent.

This DumpWithoutCrashing is not providing useful diagnostics, and is
generating a lot of noise in the crash reports. We are removing it and pursuing other avenues for debugging.

BUG=595422
TBR=creis@chromium.org

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

[modify] https://crrev.com/87022427432ab8ab1d11a4d6e1143bdfeb9c12ee/content/browser/renderer_host/render_widget_host_input_event_router.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 23 2016

Labels: merge-merged-2785
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9eacdd09d64bd8555abc26e3f809a453621c3653

commit 9eacdd09d64bd8555abc26e3f809a453621c3653
Author: W. James MacLean <wjmaclean@chromium.org>
Date: Tue Aug 23 18:20:18 2016

Remove DumpWithoutCrashing in RouteGestureEvent.

This DumpWithoutCrashing is not providing useful diagnostics, and is
generating a lot of noise in the crash reports. We are removing it and pursuing other avenues for debugging.

BUG=595422
TBR=creis@chromium.org

Review-Url: https://codereview.chromium.org/2207993002
Cr-Commit-Position: refs/heads/master@{#409525}
(cherry picked from commit 87022427432ab8ab1d11a4d6e1143bdfeb9c12ee)

Review URL: https://codereview.chromium.org/2269163002 .

Cr-Commit-Position: refs/branch-heads/2785@{#728}
Cr-Branched-From: 68623971be0cfc492a2cb0427d7f478e7b214c24-refs/heads/master@{#403382}

[modify] https://crrev.com/9eacdd09d64bd8555abc26e3f809a453621c3653/content/browser/renderer_host/render_widget_host_input_event_router.cc

Labels: OS-Chrome OS-Windows
This is now being observed in ChromeOS as well.
Cc: mustaq@chromium.org
Blocking: 642008
Project Member

Comment 8 by bugdroid1@chromium.org, Aug 30 2016

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

commit 266191e27be990d0e26b12e0dd43f830ad7d31ad
Author: wjmaclean <wjmaclean@chromium.org>
Date: Tue Aug 30 12:51:58 2016

Count Touch events via WebTouchPoint::State values instead.

Don't assume that there is one WebTouchEvent for each
ui::ET_TOUCH_PRESSED/RELEASED/CANCELLED event. Instead,
check the states of the WebTouchPoints in each
WebTouchEvent to determine how many ui-Touch events it
represents.

A temporary UMA stat is added to allow detection of empty
gesture queues. When it drops to zero we'll know the
problem has been solved (this will create a lot less noise
than DumpWithoutCrashing). https://crbug.com/642008 tracks
the removal/disabling of this UMA stat when it's no longer
needed.

BUG=595422

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

[modify] https://crrev.com/266191e27be990d0e26b12e0dd43f830ad7d31ad/content/browser/renderer_host/render_widget_host_input_event_router.cc
[modify] https://crrev.com/266191e27be990d0e26b12e0dd43f830ad7d31ad/tools/metrics/histograms/histograms.xml

Is the original problem (RenderWidgetHosInputEventRouter should not receive gesture sequences that have no target.) fixed now ?

If so, which version of chromium has this fix ?
Work to fix the issue is ongoing. The bug will be marked fixed once we have completed the work and verified that it's fixed.
Re C#9, I should ask if there's a particular aspect of this work that you're interested in? Part of the delay in addressing this issue has been the inability to reproduce the problem on our development systems; if you know how to reproduce the issue it would be useful if you can share the steps with us.

Sign in to add a comment