DCHECK !form.password_element.empty() |
|||
Issue description[33374:775:0606/110229.482164:FATAL:password_form_manager.cc(156)] Check failed: !form.password_element.empty(). 0 libbase.dylib 0x00000001226d402e base::debug::StackTrace::StackTrace(unsigned long) + 174 1 libbase.dylib 0x00000001226d40ed base::debug::StackTrace::StackTrace(unsigned long) + 29 2 libbase.dylib 0x00000001222fc73c base::debug::StackTrace::StackTrace() + 28 3 libbase.dylib 0x000000012237b4ac logging::LogMessage::~LogMessage() + 460 4 libbase.dylib 0x0000000122379215 logging::LogMessage::~LogMessage() + 21 5 libchrome_dll.dylib 0x000000011334208a password_manager::(anonymous namespace)::SetFieldLabelsOnSave(autofill::ServerFieldType, autofill::PasswordForm const&, std::__1::map<std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> >, autofill::ServerFieldType, std::__1::less<std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> > const, autofill::ServerFieldType> > >*) + 906 6 libchrome_dll.dylib 0x00000001133381ca password_manager::PasswordFormManager::UploadPasswordVote(autofill::PasswordForm const&, autofill::ServerFieldType const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 1034 7 libchrome_dll.dylib 0x000000011333ef5b password_manager::PasswordFormManager::SendVoteOnCredentialsReuse(autofill::PasswordForm const&, autofill::PasswordForm*) + 315 8 libchrome_dll.dylib 0x0000000113335ea4 password_manager::PasswordFormManager::ProcessUpdate() + 836 9 libchrome_dll.dylib 0x00000001133342e2 password_manager::PasswordFormManager::Save() + 850 10 libchrome_dll.dylib 0x00000001133c04bf password_manager::PasswordManager::OnLoginSuccessful() + 3999 11 libchrome_dll.dylib 0x00000001133c552a password_manager::PasswordManager::OnPasswordFormsRendered(password_manager::PasswordManagerDriver*, std::__1::vector<autofill::PasswordForm, std::__1::allocator<autofill::PasswordForm> > const&, bool) + 4538 12 libchrome_dll.dylib 0x0000000114d81b20 password_manager::ContentPasswordManagerDriver::PasswordFormsRendered(std::__1::vector<autofill::PasswordForm, std::__1::allocator<autofill::PasswordForm> > const&, bool) + 576 Steps to reproduce - Generate a password on facebook - Refresh the page - Chrome crashes. https://chromium-review.googlesource.com/c/chromium/src/+/1014105 is the culprit.
,
Jun 7 2018
Open chrome/browser/search/thumbnail_source.cc and comment out the lines 53-91.
,
Jun 7 2018
,
Jun 8 2018
#2 doesn't help me
,
Jun 8 2018
Still cannot reproduce the issue. Somehow OnLoginSucccessful was triggered on page refresh. I don't see it now.
,
Jun 8 2018
Vasilii, can you help with repro steps? Has this change hit Canary, yet? Because on Canary (Mac) 69.0.3451.0 I can't reproduce using the following steps: - enable password generation from chrome://flags - relaunch Chrome - go to facebook.com - on the sign-up form click into the password field - confirm generation drop-down shows - click on the generated password - confirm the password got filled into the password field - reload the page No crash.
,
Jun 8 2018
This is a DCHECK, it's off by default in the release builds. I can reproduce it on the top of the tree [19790:775:0608/105854.284266:FATAL:password_form_manager.cc(158)] Check failed: !form.password_element.empty(). 0 libbase.dylib 0x00000001053f50ce base::debug::StackTrace::StackTrace(unsigned long) + 174 1 libbase.dylib 0x00000001053f518d base::debug::StackTrace::StackTrace(unsigned long) + 29 2 libbase.dylib 0x000000010501cddc base::debug::StackTrace::StackTrace() + 28 3 libbase.dylib 0x000000010509bb4c logging::LogMessage::~LogMessage() + 460 4 libbase.dylib 0x00000001050998b5 logging::LogMessage::~LogMessage() + 21 5 libchrome_dll.dylib 0x000000010d80704a password_manager::(anonymous namespace)::SetFieldLabelsOnSave(autofill::ServerFieldType, autofill::PasswordForm const&, std::__1::map<std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> >, autofill::ServerFieldType, std::__1::less<std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> > const, autofill::ServerFieldType> > >*) + 906 6 libchrome_dll.dylib 0x000000010d7fd0ca password_manager::PasswordFormManager::UploadPasswordVote(autofill::PasswordForm const&, autofill::ServerFieldType const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 1034 7 libchrome_dll.dylib 0x000000010d803f1b password_manager::PasswordFormManager::SendVoteOnCredentialsReuse(autofill::PasswordForm const&, autofill::PasswordForm*) + 315 8 libchrome_dll.dylib 0x000000010d7fada4 password_manager::PasswordFormManager::ProcessUpdate() + 836 9 libchrome_dll.dylib 0x000000010d7f91e2 password_manager::PasswordFormManager::Save() + 850 10 libchrome_dll.dylib 0x000000010d885daf password_manager::PasswordManager::OnLoginSuccessful() + 3999 11 libchrome_dll.dylib 0x000000010d88ae1a password_manager::PasswordManager::OnPasswordFormsRendered(password_manager::PasswordManagerDriver*, std::__1::vector<autofill::PasswordForm, std::__1::allocator<autofill::PasswordForm> > const&, bool) + 4538 12 libchrome_dll.dylib 0x000000010f264260 password_manager::ContentPasswordManagerDriver::PasswordFormsRendered(std::__1::vector<autofill::PasswordForm, std::__1::allocator<autofill::PasswordForm> > const&, bool) + 576
,
Jun 8 2018
ugh. most. stupid. question. of. the. quarter. Thanks for reminding me ;).
,
Jun 8 2018
This DCHECK is not necessary. A field may have an empty name. Then, we shouldn't upload any votes for such forms. It is already checked in |LabelFields|. So, I will simply remove a couple of DCHECKs. However, it is strange that OnLoginSucessful is triggered without real form submission.
,
Jun 11 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/457bd39091c7293908c7876f3fbefd7dc07701c3 commit 457bd39091c7293908c7876f3fbefd7dc07701c3 Author: Maxim Kolosovskiy <kolos@chromium.org> Date: Mon Jun 11 15:39:06 2018 [Password Manager] Remove DCHECKs for field name as a field can have empty name Votes are not uploaded for fields with empty names. It is checked in |LabelFields|. So, adding empty keys to |field_types| is ok. Bug: 850013 Change-Id: I46dd0b665a612d5c23e116d7e2664e5c12d7f804 Reviewed-on: https://chromium-review.googlesource.com/1092855 Commit-Queue: Maxim Kolosovskiy <kolos@chromium.org> Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#566011} [modify] https://crrev.com/457bd39091c7293908c7876f3fbefd7dc07701c3/components/password_manager/core/browser/password_form_manager.cc
,
Jun 12 2018
|
|||
►
Sign in to add a comment |
|||
Comment 1 by kolos@chromium.org
, Jun 7 2018Status: Started (was: Assigned)