Browser crashes when attempting to delete last autocomplete value
Reported by
rich...@refinedwiki.com,
Mar 23 2017
|
|||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3048.0 Safari/537.36 Steps to reproduce the problem: 1. Use the attached HTML file 2. Submit the form to get an autocomplete value 3. Try to delete said value using Shift+Delete What is the expected behavior? Value is deleted What went wrong? Browser crashes Crashed report ID: 33c92ac0-1ded-4d56-9e10-145ff997bacf How much crashed? Whole browser Is it a problem with a plugin? No Did this work before? N/A Chrome version: 59.0.3048.0 Channel: canary OS Version: OS X 10.11.6 Flash Version: Shockwave Flash 25.0 r0
,
Mar 23 2017
Thanks for the report.
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000018
VM Regions Near 0x18:
-->
__TEXT 000000010a870000-000000010a871000 [ 4K] r-x/rwx SM=COW /Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary
Thread 0 Crashed:: CrBrowserMain Dispatch queue: com.apple.main-thread
0 com.google.Chrome.framework 0x000000010e75424e autofill::AutofillPopupLayoutModel::GetRowBounds(unsigned long) const + autofill_popup_layout_model.cc:69
1 com.google.Chrome.framework 0x000000010e93a7ae -[AutofillPopupViewCocoa invalidateRow:] + autofill_popup_view_cocoa.mm:151
2 com.google.Chrome.framework 0x000000010e93a2f1 autofill::AutofillPopupViewBridge::OnSelectedRowChanged(base::Optional<int>, base::Optional<int>) + autofill_popup_view_bridge.mm:55
3 com.google.Chrome.framework 0x000000010e752ce4 autofill::AutofillPopupControllerImpl::SetSelectedLine(base::Optional<int>) + optional.h:207
4 com.google.Chrome.framework 0x000000010e75335d autofill::AutofillPopupControllerImpl::RemoveSuggestion(int) + vector:638
5 com.google.Chrome.framework 0x000000010b02144b content::RenderWidgetHostImpl::ForwardKeyboardEventWithCommands(content::NativeWebKeyboardEvent const&, std::__1::vector<content::EditCommand, std::__1::allocator<content::EditCommand> > const*) + render_widget_host_impl.cc:2131
6 com.google.Chrome.framework 0x000000010b030a1b -[RenderWidgetHostViewCocoa keyEvent:wasKeyEquivalent:] + render_widget_host_view_mac.mm:0
7 com.google.Chrome.framework 0x000000010b030315 -[RenderWidgetHostViewCocoa keyEvent:] + render_widget_host_view_mac.mm:2043
8 com.google.Chrome.framework 0x000000010cdaad4e -[BaseView keyDown:] + base_view.mm:168
9 com.apple.AppKit 0x00007fff904c8680 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 4086
10 com.apple.AppKit 0x00007fff904c72be -[NSWindow(NSEventRouting) sendEvent:] + 541
11 com.google.Chrome.framework 0x000000010e9774ef -[ChromeEventProcessingWindow sendEvent:] + chrome_event_processing_window.mm:79
12 com.apple.AppKit 0x00007fff90350a1c -[NSApplication(NSEvent) sendEvent:] + 4768
13 com.google.Chrome.framework 0x000000010bf1e8cc __34-[BrowserCrApplication sendEvent:]_block_invoke + chrome_browser_application_mac.mm:0
14 com.google.Chrome.framework 0x000000010c372f2a base::mac::CallWithEHFrame(void () block_pointer) +
15 com.google.Chrome.framework 0x000000010bf1e6b5 -[BrowserCrApplication sendEvent:] + chrome_browser_application_mac.mm:0
16 com.apple.AppKit 0x00007fff8fbcbf81 -[NSApplication run] + 1002
17 com.google.Chrome.framework 0x000000010c382eee base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*) + message_pump_mac.mm:772
18 com.google.Chrome.framework 0x000000010c38250c base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + message_pump_mac.mm:300
19 com.google.Chrome.framework 0x000000010c3a0b63 base::RunLoop::Run() + run_loop.cc:38
20 com.google.Chrome.framework 0x000000010bf23c75 ChromeBrowserMainParts::MainMessageLoopRun(int*) + chrome_browser_main.cc:1993
21 com.google.Chrome.framework 0x000000010ada1c14 content::BrowserMainLoop::RunMainMessageLoopParts() + browser_main_loop.cc:1200
22 com.google.Chrome.framework 0x000000010ada4ae2 content::BrowserMainRunnerImpl::Run() + memory:2586
23 com.google.Chrome.framework 0x000000010ad9d7cc content::BrowserMain(content::MainFunctionParams const&) + browser_main.cc:46
24 com.google.Chrome.framework 0x000000010beda3f0 content::ContentMainRunnerImpl::Run() + content_main_runner.cc:729
25 com.google.Chrome.framework 0x000000010d66036c service_manager::Main(service_manager::MainParams const&) + main.cc:179
26 com.google.Chrome.framework 0x000000010bed99d4 content::ContentMain(content::ContentMainParams const&) + content_main.cc:19
27 com.google.Chrome.framework 0x000000010a8ed0e7 ChromeMain + chrome_main.cc:0
28 com.google.Chrome.canary 0x000000010a870d9a main + 522
29 libdyld.dylib 0x00007fffa76a3255 start + 1
,
Mar 23 2017
Suspecting https://codereview.chromium.org/2727233003 Uses child views in Autofill Popup so we can trigger GetAccessibleNodeData in each of the Autofill popup suggestions. This is a re-merge of https://codereview.chromium.org/2670003002 with the change to recreate child views when we redraw the popup. BUG= 627860 ,697466
,
Mar 23 2017
I changed:
"""
if (selected_line_ != kNoSelection &&
static_cast<size_t>(selected_line_) < suggestions_.size())
InvalidateRow(selected_line_);
"""
to
"""
if (selected_line) {
DCHECK_LT(*selected_line, GetLineCount());
if (!CanAccept(suggestions_[*selected_line].frontend_id))
selected_line = base::nullopt;
}
auto previous_selected_line(selected_line_);
selected_line_ = selected_line;
view_->OnSelectedRowChanged(previous_selected_line, selected_line_);
"""
previous_selected_line may be pointing out of bounds of suggestions_ leading to crash.
,
Mar 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/337728d63a7a159a6a7be5e7255246e9d42509a2 commit 337728d63a7a159a6a7be5e7255246e9d42509a2 Author: csashi <csashi@google.com> Date: Mon Mar 27 18:09:39 2017 Verify that previous_selected_line is within bounds before passing to view. BUG= 704456 Review-Url: https://codereview.chromium.org/2766263007 Cr-Commit-Position: refs/heads/master@{#459826} [modify] https://crrev.com/337728d63a7a159a6a7be5e7255246e9d42509a2/chrome/browser/ui/autofill/autofill_popup_controller_impl.cc [modify] https://crrev.com/337728d63a7a159a6a7be5e7255246e9d42509a2/chrome/browser/ui/autofill/autofill_popup_controller_unittest.cc
,
Mar 28 2017
,
Apr 4 2017
Tested the issue on Mac OS 10.12.3 using chrome latest Dev M59-59.0.3061.3 by following steps mentioned in the original comment. Observed that able to delete the values using Shift+Delete as expected. Hence adding TE-Verified label. Please find the screen cast for reference. Thank you!
,
Apr 4 2017
Woks for me as well, thanks for the speedy fix! |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by meh...@chromium.org
, Mar 23 2017