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

Issue 704426 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Closed: Jul 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

FATAL:gesture_detector.cc(593)] Check failed: false.

Project Member Reported by alemate@chromium.org, Mar 23 2017

Issue description

Debug Chrome crashes in ChromeOS OOBE in several seconds after start:

[13572:13572:0322/224756.487683:FATAL:gesture_detector.cc(593)] Check failed: false. 
#0 0x5df8d52216b1 base::debug::StackTrace::StackTrace()
#1 0x5df8d521f809 base::debug::StackTrace::StackTrace()
#2 0x5df8d526605b logging::LogMessage::~LogMessage()
#3 0x5df8d6b2e93e ui::GestureDetector::GetSourcePointerDownEvent()
#4 0x5df8d6b37285 ui::GestureProvider::GestureListenerImpl::ComputeFirstScrollDelta()
#5 0x5df8d6b351dd ui::GestureProvider::GestureListenerImpl::OnScroll()
#6 0x5df8d6b2cec0 ui::GestureDetector::OnTouchEvent()
#7 0x5df8d6b34062 ui::GestureProvider::GestureListenerImpl::OnTouchEvent()
#8 0x5df8d6b32d56 ui::GestureProvider::OnTouchEvent()
#9 0x5df8d6b2b17c ui::FilteredGestureProvider::OnTouchEvent()
#10 0x5df8d6b29dea ui::GestureProviderAura::OnTouchEvent()
#11 0x5df8d6b20063 ui::GestureRecognizerImpl::ProcessTouchEventPreDispatch()
#12 0x5df8d7bf239c aura::WindowEventDispatcher::PreDispatchTouchEvent()
#13 0x5df8d7bf06da aura::WindowEventDispatcher::PreDispatchEvent()
#14 0x5df8d6b1216d ui::EventDispatcherDelegate::DispatchEvent()
#15 0x5df8dec37bd9 ui::EventProcessor::OnEventFromSource()
#16 0x5df8d6b17765 ui::EventSource::DeliverEventToProcessor()
#17 0x5df8d6b17383 ui::EventSource::SendEventToProcessor()
#18 0x5df8da045719 ash::AshWindowTreeHostPlatform::DispatchEvent()
#19 0x5df8d041e32e _ZN4base8internal13FunctorTraitsIMN2ui22PlatformWindowDelegateEFvPNS2_5EventEEvE6InvokeIPS3_JS5_EEEvS7_OT_DpOT0_
#20 0x5df8d041e29b _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN2ui22PlatformWindowDelegateEFvPNS4_5EventEEJPS5_S7_EEEvOT_DpOT0_
#21 0x5df8d041e090 _ZN4base8internal7InvokerINS0_9BindStateIMN2ui22PlatformWindowDelegateEFvPNS3_5EventEEJNS0_17UnretainedWrapperIS4_EEEEEFvS6_EE7RunImplIRKS8_RKSt5tupleIJSA_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEEOS6_
#22 0x5df8d041df7b _ZN4base8internal7InvokerINS0_9BindStateIMN2ui22PlatformWindowDelegateEFvPNS3_5EventEEJNS0_17UnretainedWrapperIS4_EEEEEFvS6_EE3RunEPNS0_13BindStateBaseEOS6_
#23 0x5df8cfeb0d0f base::internal::RunMixin<>::Run()
#24 0x5df8d6b1e948 ui::DispatchEventFromNativeUiEvent()
#25 0x5df8d041d84a ui::DrmWindowHost::DispatchEvent()
#26 0x5df8d6a9d036 ui::PlatformEventSource::DispatchEvent()
#27 0x5df8d6fe1093 ui::EventFactoryEvdev::DispatchUiEvent()
#28 0x5df8d6fe0fde ui::EventFactoryEvdev::DispatchTouchEvent()
#29 0x5df8d6fe7cec _ZN4base8internal13FunctorTraitsIMN2ui17EventFactoryEvdevEFvRKNS2_14KeyEventParamsEEvE6InvokeIRKNS_7WeakPtrIS3_EEJS6_EEEvS8_OT_DpOT0_
#30 0x5df8d6fe7451 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN2ui17EventFactoryEvdevEFvRKNS4_14KeyEventParamsEERKNS_7WeakPtrIS5_EEJS8_EEEvOT_OT0_DpOT1_
#31 0x5df8d6fe5f2b _ZN4base8internal7InvokerINS0_9BindStateIMN2ui17EventFactoryEvdevEFvRKNS3_16TouchEventParamsEEJNS_7WeakPtrIS4_EES5_EEEFvvEE7RunImplIRKS9_RKSt5tupleIJSB_S5_EEJLm0ELm1EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
#32 0x5df8d6fe4213 _ZN4base8internal7InvokerINS0_9BindStateIMN2ui17EventFactoryEvdevEFvRKNS3_16TouchEventParamsEEJNS_7WeakPtrIS4_EES5_EEEFvvEE3RunEPNS0_13BindStateBaseE
#33 0x5df8d04fc7e0 _ZNO4base8internal8RunMixinINS_8CallbackIFvvELNS0_8CopyModeE0ELNS0_10RepeatModeE0EEEE3RunEv
#34 0x5df8d5434c05 base::debug::TaskAnnotator::RunTask()
#35 0x5df8d528560f base::MessageLoop::RunTask()
#36 0x5df8d528577e base::MessageLoop::DeferOrRunPendingTask()
#37 0x5df8d5285cca base::MessageLoop::DoWork()
#38 0x5df8d529ef8c base::MessagePumpLibevent::Run()
#39 0x5df8d52851ba base::MessageLoop::RunHandler()
#40 0x5df8d5311a61 base::RunLoop::Run()
#41 0x5df8d4628563 ChromeBrowserMainParts::MainMessageLoopRun()
#42 0x5df8d0f52404 content::BrowserMainLoop::RunMainMessageLoopParts()
#43 0x5df8d0f5c861 content::BrowserMainRunnerImpl::Run()
#44 0x5df8d0f4e020 content::BrowserMain()
#45 0x5df8d4500359 content::RunNamedProcessTypeMain()
#46 0x5df8d450119a content::ContentMainRunnerImpl::Run()
#47 0x5df8d44ff5e3 content::ContentServiceManagerMainDelegate::Run()
#48 0x5df8d7b6e47b service_manager::Main()
#49 0x5df8d44ff963 content::ContentMain()
#50 0x5df8cfcc4bb7 ChromeMain
#51 0x5df8cfcc4a80 main
#52 0x766fa08ac816 __libc_start_main
#53 0x5df8cfcc4929 _start

 
Cc: r...@chromium.org
Labels: Needs-Bisect
Owner: sahel@chromium.org
Does this repro outside of the OOBE?

Sahel, looks like you probably have context here.

A bisect might be the right place to start though.
I don' know if it is reproducible outside of OOBE.
But on OOBE it is pretty common.

Comment 4 by sahel@chromium.org, Mar 28 2017

Status: Assigned (was: Untriaged)
I will take a look and try to reproduce it.
Which OOBE page was it failing on?

Was it a specific gesture that was failing?

Can you still reproduce this?

Comment 6 Deleted

This was on the first OOBE page.

I don't know what gesture it was, because it happened for me when my device had "ghost gestures" issue, when the hardware produced a flow of arbitrary touch events. I am not sure I can reproduce it right now, because I recently got that device replaced (because of other hardware issues).

But the crash is probably still there. I just don't know how to trigger it.
Ah, that's good information. Thanks.
Project Member

Comment 9 by bugdroid1@chromium.org, May 15 2017

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

commit 6db0fde5caaa551bbf6e61b69d798a08cffcf11d
Author: sahel <sahel@chromium.org>
Date: Mon May 15 19:45:49 2017

Missing source pointer down events are handled.

The correct MotionEvent sequence for scrolling is ACTION_DOWN, optional
number of ACTION_POINTER_DOWN, and ACTION_MOVE.
When there are one or two pointers down while moving, and no scrolling
has happened since beginning of the current event sequence, we check to
see if any of the pointers has exeeded their slop region or not.
If yes then scrolling starts and no tap event will happen for the rest
of the current event sequence, otherwise no scroll will happen and if
pointers get released before tap/long tap or two finger tap timers are
expired then those events will happen.

In some cases the ACTION_POINTER_DOWN event is missing from the event
sequence and it results in crashes in GetSourcePointerDownEvent since
the source pointer down event is not found.
This patch skips slop region check for pointers which don't have soure
pointer down event.
BUG= 704426 
TEST=GestureProviderTest.SlopRegionCheckOnMissingSecondaryPointerDownEvent

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

[modify] https://crrev.com/6db0fde5caaa551bbf6e61b69d798a08cffcf11d/ui/events/gesture_detection/gesture_detector.cc
[modify] https://crrev.com/6db0fde5caaa551bbf6e61b69d798a08cffcf11d/ui/events/gesture_detection/gesture_detector.h
[modify] https://crrev.com/6db0fde5caaa551bbf6e61b69d798a08cffcf11d/ui/events/gesture_detection/gesture_provider.cc
[modify] https://crrev.com/6db0fde5caaa551bbf6e61b69d798a08cffcf11d/ui/events/gesture_detection/gesture_provider_unittest.cc

Comment 10 by sahel@chromium.org, May 15 2017

 alemate@ if your device is still available, could please confirm that the bug is fixed with this cl?
Status: Fixed (was: Assigned)
I don't see this issue anymore. Assume it's fixed.

Comment 12 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment