New issue
Advanced search Search tips

Issue 733774 link

Starred by 3 users

Issue metadata

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



Sign in to add a comment

DCHECK in blink::PointerEventFactory::Create

Project Member Reported by wfh@chromium.org, Jun 15 2017

Issue description

Chrome Version: 61.0.3132.0 git rev 35f9f27a8760a9bb9e803dacbc9e5903836cfd30
OS: Mac OS X El Capitan 10.11.6

What steps will reproduce the problem?
(1) compile chrome with DCHECK enabled
(2) run chrome
(3)

What is the expected result?

no crash

What happens instead?

crash

Please use labels and text to provide additional information.

gn args are:

# Build arguments go here.
# See "gn args <out_dir> --list" for available build arguments.
is_debug = false
is_component_build = false
enable_nacl = false
is_chrome_branded = true
dcheck_always_on = true
symbol_level = 1
use_goma = true
goma_dir = "/Users/wfh/goma/goma-mac"

[38107:775:0615/123453.281452:FATAL:PointerEventFactory.cpp(280)] Check failed: mouse_event.id == coalesced_mouse_event.id (32768 vs. 2147483647)
0   Google Chrome Framework             0x000000010b12ac2c base::debug::StackTrace::StackTrace(unsigned long) + 28
1   Google Chrome Framework             0x000000010b14fbe0 logging::LogMessage::~LogMessage() + 224
2   Google Chrome Framework             0x000000010f618fd0 blink::PointerEventFactory::Create(WTF::AtomicString const&, blink::WebMouseEvent const&, WTF::Vector<blink::WebMouseEvent, 0ul, WTF::PartitionAllocator> const&, blink::LocalDOMWindow*) + 1088
3   Google Chrome Framework             0x000000010f95fc13 blink::PointerEventManager::SendMousePointerEvent(blink::Node*, WTF::String const&, WTF::AtomicString const&, blink::WebMouseEvent const&, WTF::Vector<blink::WebMouseEvent, 0ul, WTF::PartitionAllocator> const&) + 83
4   Google Chrome Framework             0x000000010f94caa9 blink::EventHandler::UpdatePointerTargetAndDispatchEvents(WTF::AtomicString const&, blink::Node*, WTF::String const&, blink::WebMouseEvent const&, WTF::Vector<blink::WebMouseEvent, 0ul, WTF::PartitionAllocator> const&) + 201
5   Google Chrome Framework             0x000000010f94d328 blink::EventHandler::HandleMouseMoveOrLeaveEvent(blink::WebMouseEvent const&, WTF::Vector<blink::WebMouseEvent, 0ul, WTF::PartitionAllocator> const&, blink::HitTestResult*, bool, bool) + 1480
6   Google Chrome Framework             0x000000010f94cc04 blink::EventHandler::HandleMouseMoveEvent(blink::WebMouseEvent const&, WTF::Vector<blink::WebMouseEvent, 0ul, WTF::PartitionAllocator> const&) + 100
7   Google Chrome Framework             0x000000010fd30357 blink::PageWidgetEventHandler::HandleMouseMove(blink::LocalFrame&, blink::WebMouseEvent const&, std::__1::vector<blink::WebInputEvent const*, std::__1::allocator<blink::WebInputEvent const*> > const&) + 167
8   Google Chrome Framework             0x000000010fd3018d blink::PageWidgetDelegate::HandleInputEvent(blink::PageWidgetEventHandler&, blink::WebCoalescedInputEvent const&, blink::LocalFrame*) + 861
9   Google Chrome Framework             0x000000011079de57 blink::WebViewImpl::HandleInputEvent(blink::WebCoalescedInputEvent const&) + 807
10  Google Chrome Framework             0x00000001109896be content::RenderWidgetInputHandler::HandleInputEvent(blink::WebCoalescedInputEvent const&, ui::LatencyInfo const&, base::Callback<void (content::InputEventAckState, ui::LatencyInfo const&, std::__1::unique_ptr<ui::DidOverscrollParams, std::__1::default_delete<ui::DidOverscrollParams> >), (base::internal::CopyMode)0, (base::internal::RepeatMode)0>) + 3982
11  Google Chrome Framework             0x0000000110a488f0 content::RenderWidget::HandleInputEvent(blink::WebCoalescedInputEvent const&, ui::LatencyInfo const&, base::Callback<void (content::InputEventAckState, ui::LatencyInfo const&, std::__1::unique_ptr<ui::DidOverscrollParams, std::__1::default_delete<ui::DidOverscrollParams> >), (base::internal::CopyMode)0, (base::internal::RepeatMode)0>) + 64
12  Google Chrome Framework             0x0000000110a3e48d content::RenderViewImpl::HandleInputEvent(blink::WebCoalescedInputEvent const&, ui::LatencyInfo const&, base::Callback<void (content::InputEventAckState, ui::LatencyInfo const&, std::__1::unique_ptr<ui::DidOverscrollParams, std::__1::default_delete<ui::DidOverscrollParams> >), (base::internal::CopyMode)0, (base::internal::RepeatMode)0>) + 173
13  Google Chrome Framework             0x0000000110985f78 content::QueuedWebInputEvent::Dispatch(content::MainThreadEventQueue*) + 712
14  Google Chrome Framework             0x00000001109855f9 content::MainThreadEventQueue::DispatchEvents() + 425
15  Google Chrome Framework             0x000000010b12b5a6 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 310
16  Google Chrome Framework             0x000000010efe0ad4 blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue(blink::scheduler::internal::WorkQueue*, bool, blink::scheduler::LazyNow, base::TimeTicks*) + 1284
17  Google Chrome Framework             0x000000010efde3c4 blink::scheduler::TaskQueueManager::DoWork(bool) + 820
18  Google Chrome Framework             0x000000010efe2bc9 base::internal::Invoker<base::internal::BindState<void (blink::scheduler::TaskQueueManager::*)(bool), base::WeakPtr<blink::scheduler::TaskQueueManager>, bool>, void ()>::Run(base::internal::BindStateBase*) + 185
19  Google Chrome Framework             0x000000010b12b5a6 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 310
20  Google Chrome Framework             0x000000010b169529 base::MessageLoop::RunTask(base::PendingTask*) + 441
21  Google Chrome Framework             0x000000010b169995 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) + 213
22  Google Chrome Framework             0x000000010b169cf9 base::MessageLoop::DoWork() + 425
23  Google Chrome Framework             0x000000010b16e71a base::MessagePumpCFRunLoopBase::RunWork() + 42
24  Google Chrome Framework             0x000000010b151d4a base::mac::CallWithEHFrame(void () block_pointer) + 10
25  Google Chrome Framework             0x000000010b16e03f base::MessagePumpCFRunLoopBase::RunWorkSource(void*) + 63
26  CoreFoundation                      0x00007fff8b1aa7e1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
27  CoreFoundation                      0x00007fff8b189f0c __CFRunLoopDoSources0 + 556
28  CoreFoundation                      0x00007fff8b18942f __CFRunLoopRun + 927
29  CoreFoundation                      0x00007fff8b188e28 CFRunLoopRunSpecific + 296
30  Foundation                          0x00007fff9559df99 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 270
31  Google Chrome Framework             0x000000010b16ee7e base::MessagePumpNSRunLoop::DoRun(base::MessagePump::Delegate*) + 126
32  Google Chrome Framework             0x000000010b16d88c base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 92
33  Google Chrome Framework             0x000000010b1690fb base::MessageLoop::Run() + 219
34  Google Chrome Framework             0x000000010b1a4e88 base::RunLoop::Run() + 168
35  Google Chrome Framework             0x0000000110a59a5e content::RendererMain(content::MainFunctionParams const&) + 766
36  Google Chrome Framework             0x000000010aac5225 content::ContentMainRunnerImpl::Run() + 1045
37  Google Chrome Framework             0x000000010cd100fe service_manager::Main(service_manager::MainParams const&) + 2574
38  Google Chrome Framework             0x000000010aac4414 content::ContentMain(content::ContentMainParams const&) + 68
39  Google Chrome Framework             0x00000001088e9c58 ChromeMain + 168
40  Google Chrome Helper                0x00000001083e4ca3 main + 1587
41  libdyld.dylib                       0x00007fff8d7275ad start + 1
For graphics-related bugs, please copy/paste the contents of the about:gpu
page at the end of this report.

 

Comment 1 by wfh@chromium.org, Jun 15 2017

Cc: lanwei@chromium.org

Comment 2 by lanwei@chromium.org, Jun 15 2017

Owner: lanwei@chromium.org
Status: Assigned (was: Untriaged)
I thought I fixed this one, but I guess it still fails at some cases. I will take a look. Thanks.
Components: -Blink Blink>Input
Cc: kerrnel@chromium.org
This is constantly failing in both 10.9 and 10.10 for me, can we please fix this? I need to test and debug Chrome on all versions that it's supported on and having a constantly failing DCHECK crashing the renderers makes that very difficult to do.
Is there any progress on this? It continues to be a problem for me as I need to test debug builds on 10.9-10.11.

Comment 6 by lanwei@chromium.org, Jul 26 2017

Owner: nzolghadr@chromium.org
nzolghadr@ will keep track of this issue, thanks.
Project Member

Comment 7 by bugdroid1@chromium.org, Jul 27 2017

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

commit 7bf57394ee89ae35df800a5aecdd0ba41dfe2e3d
Author: lanwei <lanwei@chromium.org>
Date: Thu Jul 27 22:43:28 2017

Disable the DCHECK on the id of mouse events

Disable the DCHECK on the id of mouse events and their coalesced events
because it fails on some versions of Mac OS (10.9 and 10.10).

Bug:  733774 
Change-Id: I91312d87c0c6f5c596db14cd9881a9b759361c39
Reviewed-on: https://chromium-review.googlesource.com/587269
Reviewed-by: David Bokan <bokan@chromium.org>
Commit-Queue: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490026}
[modify] https://crrev.com/7bf57394ee89ae35df800a5aecdd0ba41dfe2e3d/third_party/WebKit/Source/core/events/PointerEventFactory.cpp

Project Member

Comment 8 by bugdroid1@chromium.org, Mar 6 2018

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

commit 006ed0a1a9da966df582bc84a924b4c5addc16c9
Author: Navid Zolghadr <nzolghadr@chromium.org>
Date: Tue Mar 06 18:35:49 2018

Add back DCHECK for coalesced events id

Bug:  733774 
Change-Id: Ic92388817ee3f1dc47a999564e7f16045ed9957f
Reviewed-on: https://chromium-review.googlesource.com/951707
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Navid Zolghadr <nzolghadr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541156}
[modify] https://crrev.com/006ed0a1a9da966df582bc84a924b4c5addc16c9/third_party/WebKit/Source/core/events/PointerEventFactory.cpp

Status: Fixed (was: Assigned)
Closing this as it is fixed now.
Reopen? I saw this DCHECK failure a couple times today on Mac. On my New Tabs Page, I have a tile for a PDF. If I start my Chromium debug build and quickly nagivate to that PDF from the NTP, I hit this.
thestig@ is navigating to the pdf was the only way to reproduce this?
For me so far, yes. It happened frequently for me though. If you want me to apply a patch locally with some debug logging, I can certainly try that out for you.
I don't know if I'm just having extremely bad luck, or if something made the situation worse. The PDF plugin on Mac with ToT builds hit the DCHECK so often today that I had to comment it out in my build.
We reproduce it quite often and returned comment to DCHECK back. But I cannot make strong reproducing steps.
Can you at least provide a loose way of reproducing it? You open a pdf and you start hovering around with mouse? Do you click around as well?
1) Launch Chromium on Mac.
2) Load a PDF.
3) Move the mouse inside the tab.

Sign in to add a comment