New issue
Advanced search Search tips

Issue 844095 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug



Sign in to add a comment

Check failed: frame_sink_id.is_valid().

Project Member Reported by ellyjo...@chromium.org, May 17 2018

Issue description

Sometimes, but not always, when opening a new browser window and clicking on the bookmark star:

[67175:775:0517/133015.081922:FATAL:render_widget_host_input_event_router.cc(50)] Check failed: frame_sink_id.is_valid(). 
0   libbase.dylib                       0x0000000104e9a14c base::debug::StackTrace::StackTrace(unsigned long) + 28
1   libbase.dylib                       0x0000000104db098f logging::LogMessage::~LogMessage() + 223
2   libcontent.dylib                    0x000000010e3ed340 content::RenderWidgetHostInputEventRouter::FindViewAtLocation(content::RenderWidgetHostViewBase*, gfx::PointF const&, gfx::PointF const&, viz::EventSource, gfx::PointF*) const + 208
3   libcontent.dylib                    0x000000010e3ed1f9 content::RenderWidgetHostInputEventRouter::FindMouseEventTarget(content::RenderWidgetHostViewBase*, blink::WebMouseEvent const&) const + 217
4   libcontent.dylib                    0x000000010e3f0d67 content::RenderWidgetHostInputEventRouter::FindTargetSynchronously(content::RenderWidgetHostViewBase*, blink::WebInputEvent const&) + 55
5   libcontent.dylib                    0x000000010e3f0f12 non-virtual thunk to content::RenderWidgetHostInputEventRouter::FindTargetSynchronously(content::RenderWidgetHostViewBase*, blink::WebInputEvent const&) + 18
6   libcontent.dylib                    0x000000010e402462 content::RenderWidgetTargeter::FindTargetAndDispatch(content::RenderWidgetHostViewBase*, blink::WebInputEvent const&, ui::LatencyInfo const&) + 770
7   libcontent.dylib                    0x000000010e3fe8d3 content::RenderWidgetHostViewMac::OnNSViewRouteOrProcessMouseEvent(blink::WebMouseEvent const&) + 131
8   libcontent.dylib                    0x000000010e6026d1 -[RenderWidgetHostViewCocoa mouseEvent:] + 625
9   CoreFoundation                      0x00007fff5324853c __invoking___ + 140
10  CoreFoundation                      0x00007fff53248410 -[NSInvocation invoke] + 320
11  CoreFoundation                      0x00007fff53261366 -[NSInvocation invokeWithTarget:] + 54
12  CoreFoundation                      0x00007fff53246ebc ___forwarding___ + 732
13  CoreFoundation                      0x00007fff53246b58 _CF_forwarding_prep_0 + 120
14  AppKit                              0x00007fff50989eb7 -[NSTrackingArea _dispatchMouseExited:] + 86
15  AppKit                              0x00007fff50989db2 -[NSTrackingArea _mouseExited:] + 78
16  AppKit                              0x00007fff51091f3d -[NSView(NSInternal) _updateTrackingAreasWithInvalidCursorRects:] + 1601
17  AppKit                              0x00007fff5109217d -[NSView(NSInternal) _updateTrackingAreasWithInvalidCursorRects:] + 2177
18  AppKit                              0x00007fff5109217d -[NSView(NSInternal) _updateTrackingAreasWithInvalidCursorRects:] + 2177
19  AppKit                              0x00007fff5109217d -[NSView(NSInternal) _updateTrackingAreasWithInvalidCursorRects:] + 2177
20  AppKit                              0x00007fff50d427c3 _NSWindowDisplayCycleUpdateStructuralRegions + 553
21  AppKit                              0x00007fff5091755e __37+[NSDisplayCycle currentDisplayCycle]_block_invoke + 695
22  QuartzCore                          0x00007fff5e5ca897 CA::Transaction::run_commit_handlers(CATransactionPhase) + 49
23  QuartzCore                          0x00007fff5e5c9359 CA::Transaction::commit() + 171
24  AppKit                              0x00007fff510cfa72 __65+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayRefresh]_block_invoke + 283
25  CoreFoundation                      0x00007fff53268787 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
26  CoreFoundation                      0x00007fff532686af __CFRunLoopDoObservers + 511
27  CoreFoundation                      0x00007fff5324b178 __CFRunLoopRun + 1240
28  CoreFoundation                      0x00007fff5324aa07 CFRunLoopRunSpecific + 487
29  HIToolbox                           0x00007fff52526d96 RunCurrentEventLoopInMode + 286
30  HIToolbox                           0x00007fff52526b06 ReceiveNextEventCommon + 613
31  HIToolbox                           0x00007fff52526884 _BlockUntilNextEventMatchingListInModeWithFilter + 64
32  AppKit                              0x00007fff507d8a73 _DPSNextEvent + 2085
33  AppKit                              0x00007fff50f6ee34 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
34  libchrome_dll.dylib                 0x00000001085641c0 __71-[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:]_block_invoke + 64
35  libbase.dylib                       0x0000000104db31ca base::mac::CallWithEHFrame(void () block_pointer) + 10
36  libchrome_dll.dylib                 0x00000001085640f4 -[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 164
37  AppKit                              0x00007fff507cd885 -[NSApplication run] + 764
38  libbase.dylib                       0x0000000104dd345c base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*) + 364
39  libbase.dylib                       0x0000000104dd16ae base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 110
40  libbase.dylib                       0x0000000104dcd434 base::MessageLoop::Run(bool) + 132
41  libbase.dylib                       0x0000000104e0b939 base::RunLoop::Run() + 249
42  libchrome_dll.dylib                 0x000000010856b345 ChromeBrowserMainParts::MainMessageLoopRun(int*) + 293
43  libcontent.dylib                    0x000000010dfaaf14 content::BrowserMainLoop::RunMainMessageLoopParts() + 52
44  libcontent.dylib                    0x000000010dfade06 content::BrowserMainRunnerImpl::Run() + 102
45  libcontent.dylib                    0x000000010dfa73b9 content::BrowserMain(content::MainFunctionParams const&) + 233
46  libcontent.dylib                    0x000000010eb3ccaa content::ContentMainRunnerImpl::Run() + 554
47  libembedder.dylib                   0x0000000104cd884d service_manager::Main(service_manager::MainParams const&) + 2493
48  libcontent.dylib                    0x000000010eb3bff4 content::ContentMain(content::ContentMainParams const&) + 68
49  libchrome_dll.dylib                 0x0000000107ed5233 ChromeMain + 179
50  Chromium                            0x000000010313dde5 main + 405
51  libdyld.dylib                       0x00007fff7b0ea015 start + 1
52  ???                                 0x0000000000000001 0x0 + 1
 
Cc: ccameron@chromium.org
+cc ccameron@
My guess here is that RenderWidgetHostViewMac::ShouldRouteEvent should return false if GetRootFrameSinkId returns an invalid frame sink.

We can receive OnNSViewRouteOrProcessMouseEvent calls "basically whenever", and so we need to be robust to getting this call when we don't have an active ui::Compositor.

(Feel free to re-assign to me).
Cc: -ccameron@chromium.org riajiang@chromium.org
Owner: ccameron@chromium.org
to ccameron@ as riajiang@ is OOO :)
Project Member

Comment 4 by bugdroid1@chromium.org, May 24 2018

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

commit 04ed3f26f5795564e7b40d2efc75888dc9c38338
Author: Christopher Cameron <ccameron@chromium.org>
Date: Thu May 24 05:25:02 2018

MacViews: Don't try to route events when no frame sink is present

This (appropriately) DCHECKs when attempted. Skip event routing (send
directly to the root RWHV) when no frame sink is present.

Bug:  844095 
Change-Id: I867c9f6cb7135473fc52fb44dcff7ed5e1759658
Reviewed-on: https://chromium-review.googlesource.com/1071120
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Commit-Queue: ccameron <ccameron@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561391}
[modify] https://crrev.com/04ed3f26f5795564e7b40d2efc75888dc9c38338/content/browser/renderer_host/render_widget_host_view_mac.mm

Status: Fixed (was: Assigned)

Sign in to add a comment