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

Issue 598876 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: May 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug

Blocked on:
issue 600444

Blocking:
issue 597789



Sign in to add a comment

Engine crashes: :tap_suppression_controller.cc(109)] Check failed: false. Invalid tap end on LAST_CANCEL_STOPPED_FLING state

Project Member Reported by haibinlu@chromium.org, Mar 29 2016

Issue description

Navigate to youtube.com. switch to other window and then switch back, and tap the search button in youtube.com. I can not repo this consistently. 


[29091:29091:0329/152859:FATAL:tap_suppression_controller.cc(109)] Check failed: false. Invalid tap end on LAST_CANCEL_STOPPED_FLING state
#0 0x7f84a7c5905e base::debug::StackTrace::StackTrace()
#1 0x7f84a7cb98df logging::LogMessage::~LogMessage()
#2 0x7f84a477c48b content::TapSuppressionController::ShouldSuppressTapEnd()
#3 0x7f84a478fd20 content::TouchscreenTapSuppressionController::FilterTapEvent()
#4 0x7f84a474e85a content::GestureEventQueue::ShouldForwardForTapSuppression()
#5 0x7f84a474e4c8 content::GestureEventQueue::QueueEvent()
#6 0x7f84a47573d7 content::InputRouterImpl::SendGestureEvent()
#7 0x7f84a488ad27 content::RenderWidgetHostImpl::ForwardGestureEventWithLatencyInfo()
#8 0x7f84a488a83b content::RenderWidgetHostImpl::ForwardGestureEvent()
#9 0x000000430498 blimp::engine::BlimpEngineSession::OnWebGestureEvent()
#10 0x00000043982f blimp::EngineRenderWidgetFeature::ProcessMessage()
#11 0x7f84a940ae8d blimp::(anonymous namespace)::DispatchProcessMessage()
#12 0x7f84a940cdb7 _ZN4base8internal15RunnableAdapterIPFvNS_7WeakPtrIN5blimp22BlimpMessageThreadPipeEEESt10unique_ptrINS3_12BlimpMessageESt14default_deleteIS7_EERKNS_8CallbackIFviELNS0_8CopyModeE1EEEEE3RunIJRKS5_SA_SG_EEEvDpOT_
#13 0x7f84a940ccaf _ZN4base8internal12InvokeHelperILb0EvNS0_15RunnableAdapterIPFvNS_7WeakPtrIN5blimp22BlimpMessageThreadPipeEEESt10unique_ptrINS4_12BlimpMessageESt14default_deleteIS8_EERKNS_8CallbackIFviELNS0_8CopyModeE1EEEEEEE8MakeItSoIJRKS6_SB_SH_EEEvSK_DpOT_
#14 0x7f84a940cc4e _ZN4base8internal7InvokerINS_13IndexSequenceIJLm0ELm1ELm2EEEENS0_9BindStateINS0_15RunnableAdapterIPFvNS_7WeakPtrIN5blimp22BlimpMessageThreadPipeEEESt10unique_ptrINS7_12BlimpMessageESt14default_deleteISB_EERKNS_8CallbackIFviELNS0_8CopyModeE1EEEEEESL_JRS9_NS0_13PassedWrapperISE_EERSI_EEENS0_12InvokeHelperILb0EvSN_EEFvvEE3RunEPNS0_13BindStateBaseE
#15 0x7f84a7c3943e base::Callback<>::Run()
#16 0x7f84a7c5ea4e base::debug::TaskAnnotator::RunTask()
#17 0x7f84a7cd674f base::MessageLoop::RunTask()
#18 0x7f84a7cd69d8 base::MessageLoop::DeferOrRunPendingTask()
#19 0x7f84a7cd6ba2 base::MessageLoop::DoWork()
#20 0x7f84a7cea27e base::MessagePumpLibevent::Run()
#21 0x7f84a7cd617f base::MessageLoop::RunHandler()
#22 0x7f84a7d74aa4 base::RunLoop::Run()
#23 0x7f84a40ea666 content::BrowserMainLoop::MainMessageLoopRun()
#24 0x7f84a40ea3c1 content::BrowserMainLoop::RunMainMessageLoopParts()
#25 0x7f84a40f3115 content::BrowserMainRunnerImpl::Run()
#26 0x7f84a40e42e6 content::BrowserMain()
#27 0x7f84a5c1a0b6 content::RunNamedProcessTypeMain()
#28 0x7f84a5c1bf99 content::ContentMainRunnerImpl::Run()
#29 0x7f84a5c19532 content::ContentMain()
#30 0x000000415e65 main
#31 0x7f849d3caec5 __libc_start_main
#32 0x000000415d49 <unknown>

 
Engine uses aura. The configs between Aura and Android are different

ui/events/gesture_detection/gesture_configuration_aura.cc
ui/events/gesture_detection/gesture_configuration_android.cc

Comment 2 by w...@chromium.org, Mar 31 2016

Blocking: 597789
Labels: -Pri-3 M-51 Pri-1
IIUC the Android client is generating a sequence of gesture events w/ tap-suppression already applied by the framework, that the Aura-oriented suppression code is confused by.  Can you check what sequence repros this?

Comment 3 by w...@chromium.org, Mar 31 2016

Owner: haibinlu@chromium.org
Status: Assigned (was: Untriaged)
Labels: -Pri-1 Pri-2
I can not repo it any more. Reduce the priority and keep this bug open.

Comment 5 by w...@chromium.org, Apr 4 2016

Cc: anandc@chromium.org
Labels: -M-51 M-52
I doubt that this is due to the difference between the Android and Aura gesture configurations, but blimp should definitely use the Android gesture configuration.

I suspect that there's some timing related issue that we're hitting in blimp, that would be possible without blimp, it's just far rarer.

Touchscreen tap suppression is enabled on Android and Aura, it's only touchpad tap suppression that's disabled on Android.

Dumping the set of Gesture events seen would make this easier to understand.
Cc: tdres...@chromium.org
Blockedon: 600444
Another thing we are doing differently for blimp is that the RWH doesn't get the complete stream of gesture events.

The filtered gesture provider for android is on the client and sends the events to the compositor thread. If the event can not be handled by the compositor, then it is sent to the engine which forwards it to the RWH to send to the main thread. If there are any components in the RWH or further in the input pipeline in the browser that make assumptions on seeing the complete stream of events, then they could throw an error.
Cc: khushals...@chromium.org
Labels: Blimp-M52-Proj-Scope
 Issue 611249  has been merged into this issue.
related  crbug.com/611590 
Cc: -anandc@chromium.org
Status: Started (was: Assigned)
Finally got a list of Gesture events that leads to the crash.

[11672:11672:0513/103822:ERROR:blimp_engine_session.cc(412)] GestureTap 17
[11672:11672:0513/103822:ERROR:touchscreen_tap_suppression_controller.cc(55)] WebInputEvent::GestureTap 
[11672:11672:0513/103823:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103823:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103823:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103823:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103823:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103823:ERROR:blimp_engine_session.cc(415)] GestureFlingCancel 15
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(415)] GestureFlingCancel 15
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(415)] GestureFlingCancel 15
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103826:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(415)] GestureFlingCancel 15
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103827:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103828:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103829:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103829:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103829:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103829:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(415)] GestureFlingCancel 15
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(403)] GestureScrollBegin 11
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(418)] GestureScrollUpdate 13
[11672:11672:0513/103831:ERROR:blimp_engine_session.cc(409)] GestureFlingStart 14
[11672:11672:0513/103832:ERROR:blimp_engine_session.cc(412)] GestureTap 17
[11672:11672:0513/103832:ERROR:touchscreen_tap_suppression_controller.cc(55)] WebInputEvent::GestureTap 
[11672:11672:0513/103832:FATAL:tap_suppression_controller.cc(109)] Check failed: false. Invalid tap end on LAST_CANCEL_STOPPED_FLING state
#0 0x7f974a9ccc6e base::debug::StackTrace::StackTrace()
#1 0x7f974a9ed34b logging::LogMessage::~LogMessage()
#2 0x7f9749a9c59b content::TapSuppressionController::ShouldSuppressTapEnd()
#3 0x7f9749aa3b8f content::TouchscreenTapSuppressionController::FilterTapEvent()
#4 0x7f9749a8b826 content::GestureEventQueue::QueueEvent()
#5 0x7f9749a8f9e2 content::InputRouterImpl::SendGestureEvent()
#6 0x7f9749b04a9e content::RenderWidgetHostImpl::ForwardGestureEventWithLatencyInfo()
#7 0x7f9749b047c8 content::RenderWidgetHostImpl::ForwardGestureEvent()
#8 0x0000004c2c33 blimp::engine::BlimpEngineSession::OnWebGestureEvent()
#9 0x0000004c6536 blimp::engine::EngineRenderWidgetFeature::ProcessMessage()
#10 0x7f974a8d8faa blimp::(anonymous namespace)::DispatchProcessMessage()
#11 0x7f974a8d9235 _ZN4base8internal7InvokerINS_13IndexSequenceIJLm0ELm1ELm2EEEENS0_9BindStateINS0_15RunnableAdapterIPFvNS_7WeakPtrIN5blimp22BlimpMessageThreadPipeEEESt10unique_ptrINS7_12BlimpMessageESt14default_deleteISB_EERKNS_8CallbackIFviELNS0_8CopyModeE1EEEEEESL_JRS9_NS0_13PassedWrapperISE_EERSI_EEENS0_12InvokeHelperILb0EvSN_EEFvvEE3RunEPNS0_13BindStateBaseE
#12 0x7f974a9cde79 base::debug::TaskAnnotator::RunTask()
#13 0x7f974a9f7aa5 base::MessageLoop::RunTask()
#14 0x7f974a9f7dd8 base::MessageLoop::DeferOrRunPendingTask()
#15 0x7f974a9f816b base::MessageLoop::DoWork()
#16 0x7f974a9faa89 base::MessagePumpLibevent::Run()
#17 0x7f974a9f75d1 base::MessageLoop::RunHandler()
#18 0x7f974aa25aa0 base::RunLoop::Run()
#19 0x7f974984b708 content::BrowserMainLoop::MainMessageLoopRun()
#20 0x7f974984b4e5 content::BrowserMainLoop::RunMainMessageLoopParts()
#21 0x7f974984e068 content::BrowserMainRunnerImpl::Run()
#22 0x7f9749846d8c content::BrowserMain()
#23 0x7f974a1e9d9b content::RunNamedProcessTypeMain()
#24 0x7f974a1ea813 content::ContentMainRunnerImpl::Run()
#25 0x7f974a1e90f0 content::ContentMain()
#26 0x00000041a60b main
#27 0x7f9746f7aec5 __libc_start_main
#28 0x00000041a4f5 <unknown>

Project Member

Comment 15 by bugdroid1@chromium.org, May 16 2016

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

commit d101e6286d62003088249577e5f931c335f6d060
Author: haibinlu <haibinlu@chromium.org>
Date: Mon May 16 21:30:23 2016

Client sends tapDown TapCancel TapUnconfirmed and showPress gesture events.

These events are used in content browser side gesture handling logic to update internal state or state machine, such as in render_widget_host_impl and tap_suppression_controller.

BUG= 598876 , 611590 

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

[modify] https://crrev.com/d101e6286d62003088249577e5f931c335f6d060/blimp/common/proto/input.proto
[modify] https://crrev.com/d101e6286d62003088249577e5f931c335f6d060/blimp/engine/session/blimp_engine_session.cc
[modify] https://crrev.com/d101e6286d62003088249577e5f931c335f6d060/blimp/net/input_message_converter.cc
[modify] https://crrev.com/d101e6286d62003088249577e5f931c335f6d060/blimp/net/input_message_generator.cc
[modify] https://crrev.com/d101e6286d62003088249577e5f931c335f6d060/blimp/net/input_message_unittest.cc

Status: Fixed (was: Started)
Labels: Archive-Blimp

Sign in to add a comment