New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 759597 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac , Fuchsia
Pri: 1
Type: Bug



Sign in to add a comment

Crash in address normalizer for IN address

Project Member Reported by rouslan@chromium.org, Aug 28 2017

Issue description

go/crash/3cca6fa22a5c9ac2

Crash in normalized when switching address country from US to IN on https://rsolomakhin.github.io/pr/us/. (Was using GOA state.) Affects both desktop and Android. New regression introduced between 62.0.3193.3 (good) and 62.0.3196.0 (bad).

chrome https://rsolomakhin.github.io/pr/us/: ../../third_party/libaddressinput/src/cpp/src/address_normalizer.cc:80: void i18n::addressinput::AddressNormalizer::Normalize(i18n::addressinput::AddressData *) const: Assertion `rule != __null' failed.
Received signal 6
#0 0x7f89af82f6fd base::debug::StackTrace::StackTrace()
#1 0x7f89af82dacc base::debug::StackTrace::StackTrace()
#2 0x7f89af82f0b5 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#3 0x7f89afe89330 <unknown>
#4 0x7f8996834c37 gsignal
#5 0x7f8996838028 abort
#6 0x7f899682dbf6 <unknown>
#7 0x7f899682dca2 __assert_fail
#8 0x5605091f519c i18n::addressinput::AddressNormalizer::Normalize()
#9 0x5605091d7bfd autofill::AddressValidator::NormalizeAddress()
#10 0x560506093084 payments::(anonymous namespace)::AddressNormalizationRequest::OnRulesLoaded()
#11 0x560506092a48 payments::AddressNormalizerImpl::OnAddressValidationRulesLoaded()
#12 0x5605091d494a autofill::AddressValidator::RulesLoaded()
#13 0x5605091d831f i18n::addressinput::(anonymous namespace)::CallbackImpl<>::operator()()
#14 0x560505fd8262 i18n::addressinput::(anonymous namespace)::Helper::OnRetrieved()
#15 0x560505fd8493 i18n::addressinput::(anonymous namespace)::CallbackImpl<>::operator()()
#16 0x560505fe896e i18n::addressinput::(anonymous namespace)::Helper::OnValidatedDataReady()
#17 0x560505fe8cc3 i18n::addressinput::(anonymous namespace)::CallbackImpl<>::operator()()
#18 0x560505fe9419 i18n::addressinput::(anonymous namespace)::Helper::OnWrappedDataReady()
#19 0x560505fe9613 i18n::addressinput::(anonymous namespace)::CallbackImpl<>::operator()()
#20 0x560505fcff7b autofill::ChromeStorageImpl::DoGet()
#21 0x560505fcf885 autofill::ChromeStorageImpl::Get()
#22 0x560505fe9248 i18n::addressinput::(anonymous namespace)::Helper::Helper()
#23 0x560505fe9193 i18n::addressinput::ValidatingStorage::Get()
#24 0x560505fe84e1 i18n::addressinput::(anonymous namespace)::Helper::Helper()
#25 0x560505fe82e4 i18n::addressinput::Retriever::Retrieve()
#26 0x560505fd3047 i18n::addressinput::(anonymous namespace)::Helper::Helper()
#27 0x560505fd2960 i18n::addressinput::PreloadSupplier::LoadRules()
#28 0x5605091d51a0 autofill::AddressValidator::LoadRules()
#29 0x56050609160c payments::AddressNormalizerImpl::LoadRulesForRegion()
#30 0x560506092490 payments::AddressNormalizerImpl::StartAddressNormalization()
#31 0x560507c6ff93 payments::PaymentRequestState::SetSelectedShippingProfile()
#32 0x560502d6fe90 _ZN4base8internal13FunctorTraitsIMN10extensions28ExtensionWebContentsObserverEFvPN7content15RenderFrameHostEEvE6InvokeIPS3_JS6_EEEvS8_OT_DpOT0_
#33 0x560502d6fdbf _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN10extensions28ExtensionWebContentsObserverEFvPN7content15RenderFrameHostEEJPS5_S8_EEEvOT_DpOT0_
#34 0x56050751cafd _ZN4base8internal7InvokerINS0_9BindStateIMN8payments19PaymentRequestStateEFvPN8autofill15AutofillProfileEEJNS0_17UnretainedWrapperIS4_EES7_EEEFvvEE7RunImplIS9_NSt3__15tupleIJSB_S7_EEEJLm0ELm1EEEEvOT_OT0_NSG_16integer_sequenceImJXspT1_EEEE
#35 0x56050751ca19 _ZN4base8internal7InvokerINS0_9BindStateIMN8payments19PaymentRequestStateEFvPN8autofill15AutofillProfileEEJNS0_17UnretainedWrapperIS4_EES7_EEEFvvEE7RunOnceEPNS0_13BindStateBaseE
#36 0x560502947c81 _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE0ELNS2_10RepeatModeE0EE3RunEv
#37 0x560507521615 payments::ShippingAddressEditorViewController::ValidateModelAndSave()
#38 0x5605077fdd46 payments::EditorViewController::ButtonPressed()
#39 0x7f89a3df53ba views::Button::NotifyClick()
#40 0x7f89a3df3f76 views::Button::OnMouseReleased()
#41 0x7f89a3eead62 views::View::ProcessMouseReleased()
#42 0x7f89a3eea827 views::View::OnMouseEvent()
#43 0x7f89a3dc72e6 views::InkDropHostView::OnMouseEvent()

 

Comment 1 by se...@chromium.org, Aug 28 2017

I think it might be linked to my CL where I updated Chromium's DEPS to use the most recent version of libaddressinput. It landed in 62.0.3196.0
Let's try to revert that CL (if still possible) and see whether the bug is fixed.
You're right Seb: reverting the last libaddressinput rolls fixes the problem. 

Comment 4 by ma...@chromium.org, Aug 28 2017

Let's try to fix the issue at the source (libaddressinput), because new version of libaddressinput contains many changes we want.
Labels: Needs-Feedback
Parastoo: do any of your changes require the new version of libaddressinput or work OK with the older version as well? I plan to revert libaddressinput for ~1 week to let M-62 branch in a stable state. Then we can fix the libaddressinput source code and re-roll the deps in M-63.
Cc: -se...@chromium.org rouslan@chromium.org
Owner: se...@chromium.org
Talked to Seb and decided to revert the libaddressinput roll for now. Seb: Please fix libaddressinput and re-roll the deps.
Rouslan: None of my current changes need the new version. The TO DO ones can wait for a week.
Project Member

Comment 8 by bugdroid1@chromium.org, Aug 28 2017

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

commit afa96c8c68c50c32e3216f019ed9cab0edffb888
Author: Rouslan Solomakhin <rouslan@chromium.org>
Date: Mon Aug 28 18:08:39 2017

Revert "Update the DEPS to use the most recent libaddressinput version."

This reverts commit 2567bc989e0fa27e0b6177a8515b7bd4e6d7d0ff.

Reason for revert: Broke address normalization for addresses
in India. See  https://crbug.com/759597 .

Original change's description:
> Update the DEPS to use the most recent libaddressinput version.
> 
> Now that the Win7 bug is fixed upstream, Chromium can link to the most
> recent version of libaddressinput.
> 
> Bug:  752122 
> Change-Id: I58be37ba5b1aeb0fca6d9c9a7e0cfc622c37a7f8
> Reviewed-on: https://chromium-review.googlesource.com/627102
> Commit-Queue: Sebastien Seguin-Gagnon <sebsg@chromium.org>
> Reviewed-by: Tommy Martino <tmartino@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#496537}

TBR=tmartino@chromium.org,sebsg@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

TBR=sebsg@chromium.org

Bug:  752122 ,  759597 
Change-Id: I77b234b244ec69a670ed06051461c018840c7a58
Reviewed-on: https://chromium-review.googlesource.com/638670
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Reviewed-by: Sebastien Seguin-Gagnon <sebsg@chromium.org>
Commit-Queue: Rouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497805}
[modify] https://crrev.com/afa96c8c68c50c32e3216f019ed9cab0edffb888/DEPS

Ranjit: FYI, the next release of canary should not have the India address crash. Please verify.
Labels: TE-Verified-62.0.3199.0 TE-Verified-M62
Rechecked the issue on Windows 10, Mac 10.12.6, Ubuntu 14.04 using chrome version 62.0.3199.0 by Navigating to following URL:  https://rsolomakhin.github.io/pr/ko/empty/ Entered an Indian address and saved it. "SyntaxError: Total required" was displayed. No crash was observed on the browser. Fix is working as intended. Adding TE-verified labels.

Thanks.!

Comment 11 by se...@chromium.org, Aug 29 2017

Status: Fixed (was: Started)

Comment 12 by se...@chromium.org, Aug 29 2017

Issue 760062 has been merged into this issue.

Sign in to add a comment