New issue
Advanced search Search tips

Issue 847646 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

"Check failed: false" (NOTREACHED()) being hit in FaviconCache::OnFaviconFetched

Project Member Reported by sdy@chromium.org, May 29 2018

Issue description

Chrome Version: r562493 (ToT)
OS: macOS 10.13.4

I've been hitting a NOTREACHED() when I run Chromium in *Cocoa* mode for the last few weeks:


[17562:775:0529/180706.907304:FATAL:location_bar_view_mac.mm(89)] Check failed: false.
0   libbase.dylib                       0x00000001144977fc base::debug::StackTrace::StackTrace(unsigned long) + 28
1   libbase.dylib                       0x00000001143b554f logging::LogMessage::~LogMessage() + 223
2   libchrome_dll.dylib                 0x000000010fcb3fbd (anonymous namespace)::NotReached(gfx::Image const&) + 77
3   libchrome_dll.dylib                 0x000000010f9a5178 FaviconCache::OnFaviconFetched(FaviconCache::Request const&, favicon_base::FaviconImageResult const&) + 376
4   libchrome_dll.dylib                 0x000000010f9a62e7 base::internal::Invoker<base::internal::BindState<void (FaviconCache::*)(FaviconCache::Request const&, favicon_base::FaviconImageResult const&), base::WeakPtr<FaviconCache>, FaviconCache::Request>, void (favicon_base::FaviconImageResult const&)>::Run(base::internal::BindStateBase*, favicon_base::FaviconImageResult const&) + 199
5   libchrome_dll.dylib                 0x000000010f0518b7 favicon::FaviconServiceImpl::RunFaviconImageCallbackWithBitmapResults(base::RepeatingCallback<void (favicon_base::FaviconImageResult const&)> const&, int, std::__1::vector<favicon_base::FaviconRawBitmapResult, std::__1::allocator<favicon_base::FaviconRawBitmapResult> > const&) + 343
6   libchrome_dll.dylib                 0x000000010effe49c history::(anonymous namespace)::RunWithFaviconResults(base::RepeatingCallback<void (std::__1::vector<favicon_base::FaviconRawBitmapResult, std::__1::allocator<favicon_base::FaviconRawBitmapResult> > const&)> const&, std::__1::vector<favicon_base::FaviconRawBitmapResult, std::__1::allocator<favicon_base::FaviconRawBitmapResult> >*) + 140
7   libbase.dylib                       0x0000000114435466 base::(anonymous namespace)::RunIfNotCanceledThenUntrack(base::CancellationFlag const*, base::OnceCallback<void ()>, base::OnceCallback<void ()>) + 134
8   libbase.dylib                       0x00000001144362a6 base::internal::Invoker<base::internal::BindState<void (*)(base::CancellationFlag const*, base::OnceCallback<void ()>, base::OnceCallback<void ()>), base::internal::OwnedWrapper<base::CancellationFlag>, base::OnceCallback<void ()>, base::OnceCallback<void ()> >, void ()>::RunOnce(base::internal::BindStateBase*) + 70
9   libbase.dylib                       0x0000000114454c3f base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) + 255
10  libbase.dylib                       0x0000000114454ce9 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) + 89
11  libbase.dylib                       0x0000000114394c03 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 323
12  libbase.dylib                       0x00000001143ce649 base::internal::IncomingTaskQueue::RunTask(base::PendingTask*) + 121
13  libbase.dylib                       0x00000001143d2597 base::MessageLoop::RunTask(base::PendingTask*) + 599
14  libbase.dylib                       0x00000001143d295a base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) + 186
15  libbase.dylib                       0x00000001143d2bcc base::MessageLoop::DoWork() + 572
16  libbase.dylib                       0x00000001143d6e2a base::MessagePumpCFRunLoopBase::RunWork() + 42
17  libbase.dylib                       0x00000001143b7d8a base::mac::CallWithEHFrame(void () block_pointer) + 10
18  libbase.dylib                       0x00000001143d670f base::MessagePumpCFRunLoopBase::RunWorkSource(void*) + 63
19  CoreFoundation                      0x00007fff2fad6a61 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
20  CoreFoundation                      0x00007fff2fb9047c __CFRunLoopDoSource0 + 108
21  CoreFoundation                      0x00007fff2fab94c0 __CFRunLoopDoSources0 + 208
22  CoreFoundation                      0x00007fff2fab893d __CFRunLoopRun + 1293
23  CoreFoundation                      0x00007fff2fab81a3 CFRunLoopRunSpecific + 483
24  HIToolbox                           0x00007fff2eda0d96 RunCurrentEventLoopInMode + 286
25  HIToolbox                           0x00007fff2eda0b06 ReceiveNextEventCommon + 613
26  HIToolbox                           0x00007fff2eda0884 _BlockUntilNextEventMatchingListInModeWithFilter + 64
27  AppKit                              0x00007fff2d053a73 _DPSNextEvent + 2085
28  AppKit                              0x00007fff2d7e9e34 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
29  libchrome_dll.dylib                 0x000000010e6db7a0 __71-[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:]_block_invoke + 64
30  libbase.dylib                       0x00000001143b7d8a base::mac::CallWithEHFrame(void () block_pointer) + 10
31  libchrome_dll.dylib                 0x000000010e6db6d4 -[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 164
32  AppKit                              0x00007fff2d048885 -[NSApplication run] + 764
33  libbase.dylib                       0x00000001143d7f0c base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*) + 364
34  libbase.dylib                       0x00000001143d615e base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 110
35  libbase.dylib                       0x00000001143d1f74 base::MessageLoop::Run(bool) + 132
36  libbase.dylib                       0x0000000114410589 base::RunLoop::Run() + 249
37  libchrome_dll.dylib                 0x000000010e6e2a5b ChromeBrowserMainParts::MainMessageLoopRun(int*) + 267
38  libcontent.dylib                    0x00000001181a0c34 content::BrowserMainLoop::RunMainMessageLoopParts() + 52
39  libcontent.dylib                    0x00000001181a3be6 content::BrowserMainRunnerImpl::Run() + 102
40  libcontent.dylib                    0x000000011819d104 content::BrowserMain(content::MainFunctionParams const&, std::__1::unique_ptr<content::BrowserProcessSubThread, std::__1::default_delete<content::BrowserProcessSubThread> >) + 276
41  libcontent.dylib                    0x0000000118db8113 content::RunBrowserProcessMain(content::MainFunctionParams const&, content::ContentMainDelegate*, std::__1::unique_ptr<content::BrowserProcessSubThread, std::__1::default_delete<content::BrowserProcessSubThread> >) + 195
42  libcontent.dylib                    0x0000000118db908e content::ContentMainRunnerImpl::Run() + 686
43  libembedder.dylib                   0x0000000114333e67 service_manager::Main(service_manager::MainParams const&) + 2855
44  libcontent.dylib                    0x0000000118db8024 content::ContentMain(content::ContentMainParams const&) + 68
45  libchrome_dll.dylib                 0x000000010e028423 ChromeMain + 179
46  Chromium                            0x000000010dff6de5 main + 405
47  libdyld.dylib                       0x00007fff57dd2015 start + 1
48  ???                                 0x0000000000000001 0x0 + 1

[0529/180708.937340:WARNING:crash_report_exception_handler.cc(239)] UniversalExceptionRaise: (ipc/mig) server died (0xfffffecc)
Trace/BPT trap: 5
 

Comment 1 by sdy@chromium.org, May 29 2018

Components: UI>Browser>Omnibox
Owner: tommycli@chromium.org
Status: Assigned (was: Untriaged)
tommycli@, it looks like you added this code. Any ideas?
This can occur if you have the MD refresh flag on, but MacViews off. I'll submit a bug to fix it.
Project Member

Comment 3 by bugdroid1@chromium.org, May 30 2018

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

commit acae7e45d7f2670fa1eb77e5ebe25d1bff1f4707
Author: Tommy C. Li <tommycli@chromium.org>
Date: Wed May 30 20:25:42 2018

Omnibox UI: Fix Cocoa crash caused by an overzealous NOTREACHED.

When MD Refresh flag is on, but MacViews was not on, we would hit this
NOTREACHED.

Hitting it has no negative consequence, so we are replacing it with a
base::DoNothing.

Bug:  847646 
Change-Id: Icc3b9ee24ef3e268960112013e79d05413683f46
Reviewed-on: https://chromium-review.googlesource.com/1079634
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Tommy Li <tommycli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562975}
[modify] https://crrev.com/acae7e45d7f2670fa1eb77e5ebe25d1bff1f4707/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm

Status: Fixed (was: Assigned)
Labels: Needs-Feedback
tommycli@/ sdy@ -- Could you please provide any kind of manual steps to reproduce the issue in order to verify the fix and add TE-Verified labels.

Thanks in advance!
Sure. Before the fix, to trigger the crash.

1. Be on Mac.
2. Set about:flag #top-chrome-md  → Refresh.
3. Execute a Google search from the Omnibox.
4. Should crash.

This should no longer crash after the fix.

Sign in to add a comment