DCHECK in FormInteractionsUkmLogger |
|||
Issue descriptionChrome 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
,
Oct 20 2017
Looking
,
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.
,
Oct 23 2017
No, I didn't click submit. I opened the save password bubble on the initial page. Subsequent runs it didn't crash.
,
Oct 23 2017
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.
,
Oct 23 2017
There was no form submit in the flow I followed.
,
Jan 11 2018
Tried to reproduce but still failed. Close this because cannot reproduce. |
|||
►
Sign in to add a comment |
|||
Comment 1 by rogerm@chromium.org
, Oct 19 2017Owner: szhangcs@google.com