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

Issue 776429 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

DCHECK in FormInteractionsUkmLogger

Project Member Reported by vasi...@chromium.org, Oct 19 2017

Issue description

Chrome Version: Version 64.0.3245.0 (Developer Build) (64-bit)
OS: Mac

I managed to reproduced it only once
What steps will reproduce the problem?
(1) On start up Chrome opened https://rsolomakhin.github.io/autofill/
(2) I quickly scrolled down to the password form and typed a few symbols into the username and password.
(3) I clicked the key icon in the omnibox which was supposed to bring the save password bubble.

What is the expected result?
The bubble is shown.

What happens instead?
A crash in DCHECK.

[10520:775:1019/185603.862661:FATAL:autofill_metrics.cc(1598)] Check failed: !form_parsed_timestamp.is_null(). 
0   libbase.dylib                       0x00000001197459de base::debug::StackTrace::StackTrace(unsigned long) + 174
1   libbase.dylib                       0x0000000119745a9d base::debug::StackTrace::StackTrace(unsigned long) + 29
2   libbase.dylib                       0x0000000119743d4c base::debug::StackTrace::StackTrace() + 28
3   libbase.dylib                       0x00000001197dcf7f logging::LogMessage::~LogMessage() + 479
4   libbase.dylib                       0x00000001197da8e5 logging::LogMessage::~LogMessage() + 21
5   libchrome_dll.dylib                 0x00000001091b8640 autofill::AutofillMetrics::FormInteractionsUkmLogger::MillisecondsSinceFormParsed(base::TimeTicks const&) const + 208
6   libchrome_dll.dylib                 0x00000001091b8915 autofill::AutofillMetrics::FormInteractionsUkmLogger::LogFieldFillStatus(autofill::FormStructure const&, autofill::AutofillField const&, autofill::AutofillMetrics::QualityMetricType) + 133
7   libchrome_dll.dylib                 0x000000010924dadb autofill::FormStructure::LogQualityMetrics(base::TimeTicks const&, base::TimeTicks const&, base::TimeTicks const&, autofill::AutofillMetrics::FormInteractionsUkmLogger*, bool, bool) const + 379
8   libchrome_dll.dylib                 0x0000000109198d9a autofill::AutofillManager::UploadFormDataAsyncCallback(autofill::FormStructure const*, base::TimeTicks const&, base::TimeTicks const&, base::TimeTicks const&, bool) + 170
9   libchrome_dll.dylib                 0x00000001091a41ca void base::internal::FunctorTraits<void (autofill::AutofillManager::*)(autofill::FormStructure const*, base::TimeTicks const&, base::TimeTicks const&, base::TimeTicks const&, bool), void>::Invoke<base::WeakPtr<autofill::AutofillManager>, autofill::FormStructure*, base::TimeTicks, base::TimeTicks, base::TimeTicks, bool>(void (autofill::AutofillManager::*)(autofill::FormStructure const*, base::TimeTicks const&, base::TimeTicks const&, base::TimeTicks const&, bool), base::WeakPtr<autofill::AutofillManager>&&, autofill::FormStructure*&&, base::TimeTicks&&, base::TimeTicks&&, base::TimeTicks&&, bool&&) + 250
10  libchrome_dll.dylib                 0x00000001091a402c void base::internal::InvokeHelper<true, void>::MakeItSo<void (autofill::AutofillManager::*)(autofill::FormStructure const*, base::TimeTicks const&, base::TimeTicks const&, base::TimeTicks const&, bool), base::WeakPtr<autofill::AutofillManager>, autofill::FormStructure*, base::TimeTicks, base::TimeTicks, base::TimeTicks, bool>(void (autofill::AutofillManager::*&&)(autofill::FormStructure const*, base::TimeTicks const&, base::TimeTicks const&, base::TimeTicks const&, bool), base::WeakPtr<autofill::AutofillManager>&&, autofill::FormStructure*&&, base::TimeTicks&&, base::TimeTicks&&, base::TimeTicks&&, bool&&) + 220
11  libchrome_dll.dylib                 0x00000001091a3f2a void base::internal::Invoker<base::internal::BindState<void (autofill::AutofillManager::*)(autofill::FormStructure const*, base::TimeTicks const&, base::TimeTicks const&, base::TimeTicks const&, bool), base::WeakPtr<autofill::AutofillManager>, base::internal::OwnedWrapper<autofill::FormStructure>, base::TimeTicks, base::TimeTicks, base::TimeTicks, bool>, void ()>::RunImpl<void (autofill::AutofillManager::*)(autofill::FormStructure const*, base::TimeTicks const&, base::TimeTicks const&, base::TimeTicks const&, bool), std::__1::tuple<base::WeakPtr<autofill::AutofillManager>, base::internal::OwnedWrapper<autofill::FormStructure>, base::TimeTicks, base::TimeTicks, base::TimeTicks, bool>, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(void (autofill::AutofillManager::*&&)(autofill::FormStructure const*, base::TimeTicks const&, base::TimeTicks const&, base::TimeTicks const&, bool), std::__1::tuple<base::WeakPtr<autofill::AutofillManager>, base::internal::OwnedWrapper<autofill::FormStructure>, base::TimeTicks, base::TimeTicks, base::TimeTicks, bool>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) + 410
12  libchrome_dll.dylib                 0x00000001091a3cb9 base::internal::Invoker<base::internal::BindState<void (autofill::AutofillManager::*)(autofill::FormStructure const*, base::TimeTicks const&, base::TimeTicks const&, base::TimeTicks const&, bool), base::WeakPtr<autofill::AutofillManager>, base::internal::OwnedWrapper<autofill::FormStructure>, base::TimeTicks, base::TimeTicks, base::TimeTicks, bool>, void ()>::RunOnce(base::internal::BindStateBase*) + 57
13  libbase.dylib                       0x00000001196e353f base::OnceCallback<void ()>::Run() && + 95
14  libbase.dylib                       0x0000000119a10a06 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReplyAndSelfDestruct() + 390
15  libbase.dylib                       0x0000000119a10e0d void base::internal::FunctorTraits<void (base::(anonymous namespace)::PostTaskAndReplyRelay::*)(), void>::Invoke<base::(anonymous namespace)::PostTaskAndReplyRelay*>(void (base::(anonymous namespace)::PostTaskAndReplyRelay::*)(), base::(anonymous namespace)::PostTaskAndReplyRelay*&&) + 125
16  libbase.dylib                       0x0000000119a10d54 void base::internal::InvokeHelper<false, void>::MakeItSo<void (base::(anonymous namespace)::PostTaskAndReplyRelay::*)(), base::(anonymous namespace)::PostTaskAndReplyRelay*>(void (base::(anonymous namespace)::PostTaskAndReplyRelay::*&&)(), base::(anonymous namespace)::PostTaskAndReplyRelay*&&) + 68
17  libbase.dylib                       0x0000000119a10ce3 void base::internal::Invoker<base::internal::BindState<void (base::(anonymous namespace)::PostTaskAndReplyRelay::*)(), base::internal::UnretainedWrapper<base::(anonymous namespace)::PostTaskAndReplyRelay> >, void ()>::RunImpl<void (base::(anonymous namespace)::PostTaskAndReplyRelay::*)(), std::__1::tuple<base::internal::UnretainedWrapper<base::(anonymous namespace)::PostTaskAndReplyRelay> >, 0ul>(void (base::(anonymous namespace)::PostTaskAndReplyRelay::*&&)(), std::__1::tuple<base::internal::UnretainedWrapper<base::(anonymous namespace)::PostTaskAndReplyRelay> >&&, std::__1::integer_sequence<unsigned long, 0ul>) + 99
18  libbase.dylib                       0x0000000119a10c29 base::internal::Invoker<base::internal::BindState<void (base::(anonymous namespace)::PostTaskAndReplyRelay::*)(), base::internal::UnretainedWrapper<base::(anonymous namespace)::PostTaskAndReplyRelay> >, void ()>::RunOnce(base::internal::BindStateBase*) + 57
19  libbase.dylib                       0x00000001196e353f base::OnceCallback<void ()>::Run() && + 95
20  libbase.dylib                       0x0000000119748014 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 884
21  libbase.dylib                       0x0000000119826a16 base::internal::IncomingTaskQueue::RunTask(base::PendingTask*) + 246
22  libbase.dylib                       0x0000000119832f35 base::MessageLoop::RunTask(base::PendingTask*) + 901
23  libbase.dylib                       0x00000001198334a7 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) + 103
24  libbase.dylib                       0x00000001198337f4 base::MessageLoop::DoWork() + 580
25  libbase.dylib                       0x0000000119841c72 base::MessagePumpCFRunLoopBase::RunWork() + 98
26  libbase.dylib                       0x0000000119841bfc ___ZN4base24MessagePumpCFRunLoopBase13RunWorkSourceEPv_block_invoke + 28
27  libbase.dylib                       0x00000001197e217a base::mac::CallWithEHFrame(void () block_pointer) + 10
28  libbase.dylib                       0x0000000119840ac5 base::MessagePumpCFRunLoopBase::RunWorkSource(void*) + 101
29  CoreFoundation                      0x00007fffb520c3e1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
30  CoreFoundation                      0x00007fffb51ed65c __CFRunLoopDoSources0 + 556
31  CoreFoundation                      0x00007fffb51ecb46 __CFRunLoopRun + 934
32  CoreFoundation                      0x00007fffb51ec544 CFRunLoopRunSpecific + 420
33  HIToolbox                           0x00007fffb474bebc RunCurrentEventLoopInMode + 240
34  HIToolbox                           0x00007fffb474bcf1 ReceiveNextEventCommon + 432
35  HIToolbox                           0x00007fffb474bb26 _BlockUntilNextEventMatchingListInModeWithFilter + 71
36  AppKit                              0x00007fffb2ce4a54 _DPSNextEvent + 1120
37  AppKit                              0x00007fffb34607ee -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796
38  libchrome_dll.dylib                 0x0000000105ef363a __71-[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:]_block_invoke + 106
39  libbase.dylib                       0x00000001197e217a base::mac::CallWithEHFrame(void () block_pointer) + 10
40  libchrome_dll.dylib                 0x0000000105ef34d8 -[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 248
41  AppKit                              0x00007fffb2cd93db -[NSApplication run] + 926
42  libbase.dylib                       0x00000001198433e8 base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*) + 312
43  libbase.dylib                       0x0000000119840184 base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 116
44  libbase.dylib                       0x00000001198326bb base::MessageLoop::Run() + 299
45  libbase.dylib                       0x000000011992c966 base::RunLoop::Run() + 262
46  libchrome_dll.dylib                 0x0000000105f00c78 ChromeBrowserMainParts::MainMessageLoopRun(int*) + 376
47  libcontent.dylib                    0x000000012064cfd7 content::BrowserMainLoop::RunMainMessageLoopParts() + 455
48  libcontent.dylib                    0x0000000120657d2c content::BrowserMainRunnerImpl::Run() + 396
49  libcontent.dylib                    0x0000000120640abd content::BrowserMain(content::MainFunctionParams const&) + 397
50  libcontent.dylib                    0x0000000122ee25c9 content::RunNamedProcessTypeMain(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, content::MainFunctionParams const&, content::ContentMainDelegate*) + 585
51  libcontent.dylib                    0x0000000122ee3df4 content::ContentMainRunnerImpl::Run() + 1268
52  libcontent.dylib                    0x0000000122ee07fd content::ContentServiceManagerMainDelegate::RunEmbedderProcess() + 61
53  libembedder.dylib                   0x0000000119206387 service_manager::Main(service_manager::MainParams const&) + 1911
54  libcontent.dylib                    0x0000000122ee2339 content::ContentMain(content::ContentMainParams const&) + 89
55  libchrome_dll.dylib                 0x0000000103e02c9e ChromeMain + 270
56  Chromium                            0x0000000102009de6 main + 630
57  libdyld.dylib                       0x00007fffcadb7235 start + 1
58  ???                                 0x0000000000000001 0x0 + 1
 

Comment 1 by rogerm@chromium.org, Oct 19 2017

Cc: -szhangcs@google.com
Owner: szhangcs@google.com
Shangfeng, can you take a look?

Comment 2 by szhangcs@google.com, Oct 20 2017

Looking

Comment 3 by szhangcs@google.com, Oct 20 2017

Sorry, it is hard to know why it crashed according to the log.

Vasilii, I have two questions here:
1. Before step (3), you need to click Submit first right? And the save password bubble can show at that time?
2. You only saw this problem once, and cannot reproduce it afterwards right?

Roger, I really don't understand why UploadFormDataAyncCallback is triggered when user click on the key icon in omnibox, but is not triggered when user click submit.
No, I didn't click submit. I opened the save password bubble on the initial page.
Subsequent runs it didn't crash.

Comment 5 by rogerm@chromium.org, Oct 23 2017

Cc: ma...@chromium.org
re: comment #3

The upload could be triggered by the ".NoSubmission" trigger of the form losing focus.

Depending on how the submit is implemented we might not see the submit and the form might not be seen to have lost focus.
There was no form submit in the flow I followed.

Comment 7 by szhangcs@google.com, Jan 11 2018

Status: WontFix (was: Available)
Tried to reproduce but still failed. Close this because cannot reproduce. 

Sign in to add a comment