New issue
Advanced search Search tips

Issue 744653 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

Resizing DevTools hits NOTREACHED() in Mac omnibox accessibility code

Project Member Reported by lgar...@chromium.org, Jul 17 2017

Issue description

Chrome 61.0.3153.4
macOS 10.12.5

What steps will reproduce the problem?
(1) Run a build of Chrome that will crash on NOTREACHED().
(2) Open DevTools and pop out into a separate window.
(3) Resize the window. (Dragging the lower right corner to make it very small usually triggers the issue.)

What is the expected result?
Nothing.

What happens instead?
[24359:775:0717/170104.940268:FATAL:autocomplete_text_field_cell.mm(273)] Check failed: false.
0   libbase.dylib                       0x000000010b5ec9fc base::debug::StackTrace::StackTrace(unsigned long) + 28
1   libbase.dylib                       0x000000010b616c92 logging::LogMessage::~LogMessage() + 210
2   libchrome_dll.dylib                 0x00000001053fcdf6 -[AutocompleteTextFieldCell frameForDecoration:inFrame:] + 310
3   libchrome_dll.dylib                 0x0000000105407dc7 LocationBarViewMac::UpdateAccessibilityView(LocationBarDecoration*) + 183
4   libchrome_dll.dylib                 0x000000010540675b LocationBarViewMac::OnDecorationsChanged() + 59
5   libchrome_dll.dylib                 0x00000001054075de LocationBarViewMac::Layout() + 1406
6   libchrome_dll.dylib                 0x00000001054089fc LocationBarViewMac::UpdateLocationIcon() + 172
7   libchrome_dll.dylib                 0x000000010501c086 OmniboxEditModel::OnChanged() + 214
8   libchrome_dll.dylib                 0x00000001053fada4 -[AutocompleteTextField setFrame:] + 100
9   AppKit                              0x00007fffa304334e -[NSView resizeWithOldSuperviewSize:] + 681
10  AppKit                              0x00007fffa3042be8 -[NSView resizeSubviewsWithOldSize:] + 360
11  AppKit                              0x00007fffa301f7f1 -[NSView setFrameSize:] + 1881
12  AppKit                              0x00007fffa3036f13 -[NSView setFrame:] + 390
13  AppKit                              0x00007fffa304334e -[NSView resizeWithOldSuperviewSize:] + 681
14  AppKit                              0x00007fffa3042be8 -[NSView resizeSubviewsWithOldSize:] + 360
15  AppKit                              0x00007fffa301f7f1 -[NSView setFrameSize:] + 1881
16  AppKit                              0x00007fffa3036f13 -[NSView setFrame:] + 390
17  AppKit                              0x00007fffa304334e -[NSView resizeWithOldSuperviewSize:] + 681
18  AppKit                              0x00007fffa3042be8 -[NSView resizeSubviewsWithOldSize:] + 360
19  AppKit                              0x00007fffa301f7f1 -[NSView setFrameSize:] + 1881
20  AppKit                              0x00007fffa30c7e83 -[NSWindow _oldPlaceWindow:] + 1191
21  AppKit                              0x00007fffa30c71b3 -[NSWindow _setFrameCommon:display:stashSize:] + 2581
22  AppKit                              0x00007fffa30c6791 -[NSWindow _setFrame:display:allowImplicitAnimation:stashSize:] + 222
23  AppKit                              0x00007fffa30c66ac -[NSWindow setFrame:display:] + 67
24  AppKit                              0x00007fffa3ab7829 -[NSWindow(NSWindowResizing) _resizeSetFrame:withEvent:] + 140
25  AppKit                              0x00007fffa335a56a -[NSWindow(NSWindowResizing) _resizeWithEvent:] + 3523
26  AppKit                              0x00007fffa383c1d6 -[NSTitledFrame attemptResizeWithEvent:] + 157
27  AppKit                              0x00007fffa3254a0c -[NSThemeFrame handleMouseDown:] + 195
28  AppKit                              0x00007fffa3254bb3 -[NSThemeFrame mouseDown:] + 30
29  AppKit                              0x00007fffa38f424f -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 6341
30  AppKit                              0x00007fffa38f0a6c -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 1942
31  AppKit                              0x00007fffa38eff0a -[NSWindow(NSEventRouting) sendEvent:] + 541
32  libchrome_dll.dylib                 0x00000001053a44ff -[ChromeEventProcessingWindow sendEvent:] + 79
33  AppKit                              0x00007fffa3774681 -[NSApplication(NSEvent) sendEvent:] + 1145
34  libchrome_dll.dylib                 0x0000000103b155fc __34-[BrowserCrApplication sendEvent:]_block_invoke + 172
35  libbase.dylib                       0x000000010b618e5a base::mac::CallWithEHFrame(void () block_pointer) + 10
36  libchrome_dll.dylib                 0x0000000103b153e6 -[BrowserCrApplication sendEvent:] + 262
37  AppKit                              0x00007fffa2fef427 -[NSApplication run] + 1002
38  libbase.dylib                       0x000000010b6365de base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*) + 334
39  libbase.dylib                       0x000000010b634d9c base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 92
40  libbase.dylib                       0x000000010b630fab base::MessageLoop::Run() + 219
41  libbase.dylib                       0x000000010b66d728 base::RunLoop::Run() + 168
42  libchrome_dll.dylib                 0x0000000103b1b119 ChromeBrowserMainParts::MainMessageLoopRun(int*) + 297
43  libcontent.dylib                    0x000000010e16b484 content::BrowserMainLoop::RunMainMessageLoopParts() + 52
44  libcontent.dylib                    0x000000010e16e446 content::BrowserMainRunnerImpl::Run() + 102
45  libcontent.dylib                    0x000000010e1672bc content::BrowserMain(content::MainFunctionParams const&) + 124
46  libcontent.dylib                    0x000000010eb672b0 content::ContentMainRunnerImpl::Run() + 528
47  libembedder.dylib                   0x000000010b4cb7ee service_manager::Main(service_manager::MainParams const&) + 2574
48  libcontent.dylib                    0x000000010eb666a4 content::ContentMain(content::ContentMainParams const&) + 68
49  libchrome_dll.dylib                 0x000000010346d988 ChromeMain + 168
50  Chromium                            0x0000000103400de4 main + 404
51  libdyld.dylib                       0x00007fffbac7a235 start + 1
52  ???                                 0x0000000000000003 0x0 + 3

ellyjones@, could you triage?
You seem to have written most of the calling code in LocationBarViewMac::UpdateAccessibilityView().
 
Note: I'm keeping this at P3, but this regularly causes a crash for me during development.
Labels: OS-Mac
Summary: Resizing DevTools hits NOTREACHED() in Mac omnibox accessibility code (was: Resizing DevTools hits NOTREACHED() in omnibox accessibility code)
Project Member

Comment 4 by bugdroid1@chromium.org, Jul 19 2017

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

commit 6ab725ae62a9afa1e279784db8bc1ca04a04d9d1
Author: Elly Fong-Jones <ellyjones@chromium.org>
Date: Wed Jul 19 13:36:09 2017

cocoa: don't NOTREACHED laying out tiny windows

AutocompleteTextFieldCell would NOTREACHED if the window was
too narrow to lay out even a single toolbar decoration. This
isn't possible for a browser window, but it is possible for
a popped-out devtools window, which has no minimum size. The
code path above the NOTREACHED usually prevented getting here,
but during the resize action, the decoration is not yet known
to be impossible to fit, which causes this crash in debug
builds.

Bug:  744653 
Change-Id: Ib71e5b83d3ea15fc80e8dac552144b6ea56c3682
Reviewed-on: https://chromium-review.googlesource.com/575678
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487845}
[modify] https://crrev.com/6ab725ae62a9afa1e279784db8bc1ca04a04d9d1/chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_cell.mm

Status: Fixed (was: Assigned)
Thanks for the quick fix! :-)

Sign in to add a comment