DCHECK in FormStructure::EncodeUploadRequest |
||||
Issue descriptionChrome Version: 60.0.3077.0 (Developer Build) (64-bit) OS: GNU/Linux What steps will reproduce the problem? (0) Make sure DCHECKS are allowed in your build (dcheck_always_on = true in your GN file) (1) Visit https://rsolomakhin.github.io/autofill/ (2) Fill in the password form, submit (3) Accept the offer to save the passwords What is the expected result? No crash. What happens instead? The following DCHECK in FormStructure::EncodeUploadRequest fires: DCHECK(type == UNKNOWN_TYPE || type == EMPTY_TYPE || available_field_types.count(type)); The value of |type| is 75 (PASSWORD), while available_field_types only contains 3, 5, 7, 9, 30, 33, 34, 35, 36, 77. This DCHECK was originally added in https://codereview.chromium.org/6931029. The call stack is: autofill::FormStructure::EncodeUploadRequest() autofill::AutofillDownloadManager::StartUploadRequest() autofill::AutofillManager::UploadFormData() _ZN4base8internal13FunctorTraitsIMN8autofill15AutofillManagerEFvPKNS2_13FormStructureERKNS_9TimeTicksES9_S9_bEvE6InvokeIRKNS_7WeakPtrIS3_EEJPS4_S9_S9_S9_RKbEEEvSB_OT_DpOT0_ _ZN4base8internal7InvokerINS0_9BindStateIMN8autofill15AutofillManagerEFvPKNS3_13FormStructureERKNS_9TimeTicksESA_SA_bEJNS_7WeakPtrIS4_EENS0_12OwnedWrapperIS5_EES8_S8_S8_bEEEFvvEE3RunEPNS0_13BindStateBaseE _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE0ELNS2_10RepeatModeE0EE3RunEv base::(anonymous namespace)::PostTaskAndReplyRelay::RunReplyAndSelfDestruct() _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE0ELNS2_10RepeatModeE0EE3RunEv base::debug::TaskAnnotator::RunTask() base::MessageLoop::RunTask() base::MessageLoop::DeferOrRunPendingTask() base::MessageLoop::DoWork() base::(anonymous namespace)::WorkSourceDispatch() g_main_context_dispatch <unknown> g_main_context_iteration base::MessagePumpGlib::Run() base::MessageLoop::RunHandler() base::RunLoop::Run() ChromeBrowserMainParts::MainMessageLoopRun() content::BrowserMainLoop::RunMainMessageLoopParts() content::BrowserMainRunnerImpl::Run() content::BrowserMain() content::RunNamedProcessTypeMain() content::ContentMainRunnerImpl::Run() service_manager::Main() content::ContentMain() ChromeMain __libc_start_main
,
Apr 20 2017
Thanks, I think that an immediate reason is in my recent CL https://codereview.chromium.org/2796873002/, that added sending our votes for Sign-In form. I'll fix it.
,
Apr 20 2017
,
Apr 24 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2366977b83a1eb2ce167821d7d1d9e084bd602fc commit 2366977b83a1eb2ce167821d7d1d9e084bd602fc Author: dvadym <dvadym@chromium.org> Date: Mon Apr 24 13:10:20 2017 Fix sending autofill votes for sign-in forms. On CL https://codereview.chromium.org/2796873002/ a sending of autofill votes for sing-in forms was implemented, but |available_field_types_| doesn't contain PASSWORD type, that makes that the server skips such forms as invalid. This CL adds PASSWORD type for sign-in form uploads. BUG= 713688 , 699530 Review-Url: https://codereview.chromium.org/2830303002 Cr-Commit-Position: refs/heads/master@{#466621} [modify] https://crrev.com/2366977b83a1eb2ce167821d7d1d9e084bd602fc/components/autofill/core/browser/autofill_manager.cc [modify] https://crrev.com/2366977b83a1eb2ce167821d7d1d9e084bd602fc/components/autofill/core/browser/autofill_manager_unittest.cc [modify] https://crrev.com/2366977b83a1eb2ce167821d7d1d9e084bd602fc/components/autofill/core/browser/form_structure.cc
,
Jun 14 2017
|
||||
►
Sign in to add a comment |
||||
Comment 1 by vabr@chromium.org
, Apr 20 2017