New issue
Advanced search Search tips

Issue 713688 link

Starred by 0 users

Issue metadata

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



Sign in to add a comment

DCHECK in FormStructure::EncodeUploadRequest

Project Member Reported by vabr@chromium.org, Apr 20 2017

Issue description

Chrome 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
 

Comment 1 by vabr@chromium.org, Apr 20 2017

dvadym@, do you know what is the problem here?
(I'm happy to investigate if you don't.)

Comment 2 by dvadym@chromium.org, Apr 20 2017

Status: Started (was: Available)
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.

Comment 3 by dvadym@chromium.org, Apr 20 2017

Cc: -dvadym@chromium.org
Owner: dvadym@chromium.org
Project Member

Comment 4 by bugdroid1@chromium.org, 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

Comment 5 by dvadym@chromium.org, Jun 14 2017

Status: Fixed (was: Started)

Sign in to add a comment